vim常用快捷键


命令格式

vim的命令采用下面的格式。

[OPERATOR][NUMBER][MOTION]

Operator是动词。

  • d – Delete (等同于cut命令)
  • c – Change
  • y – Yank
  • p – Insert last deleted text after cursor (put command)
  • r – Replace
  • v - 可视化选择

Motion表示操作的上下文。

  • w – 直到下一个单词的起始位置前面。
  • s - sentence
  • p - paragraph
  • t - tag
  • b - block
  • e – 直到当前单词的最后一个位置。
  • $ – 直到当前行的最后一个位置。
  • ) – 下一个句子的开始。
  • ( – 当前句子的开始。
  • } – 下一段的开始。
  • { – 当前段的开始。
  • ] – 下一段部分(section)的开始
  • [ – 当前部分(section)的开始
  • H – 当前屏幕的顶部行
  • L – 当前屏幕的最后一行

Count是可选的,表示command和motion的重复次数。

  • i - inside
  • a - around

NUM: number (e.g.: 1, 2, 10)

实例

  • dw 删除一个词
  • d4w 删除四个词
  • d$ 删除当前行
  • dd 删除当前行(d$的快捷方式)
  • d2$ 删除两行
  • cis - Change inside sentence,删除当前句子,并进入insert模式
  • yip - yank inside paragrah 复制当前段落

撤销命令

  • u 撤销上个命令

移动光标

  • h – Left
  • k – Up
  • l – Right
  • j – Down
  • G 移动到文件最后一行
  • 123 + G 跳到指定行
  • gg 移动到文件第一行
  • ctrl + g 查看当前文件总行数
  • % 移动到当前代码区块的开始/结尾(匹配(),[],{})

插入文字

  • i 当前位置前面
  • a 当前位置后面
  • o 当前行下方新增一行
  • O 当前行上方新增一行

删除

  • x 删除当前字符

搜索,替换

  • :/cat 搜索光标位置后面
  • :?dogs 搜索光标位置前面
  • n 移动到下一个匹配
  • N 移动到上一个匹配
  • :s/cat/dog 只替换下一个
  • :s/cat/dog/g 替换所有
  • 执行shell命令
  • :!ls -al

复制,粘贴,剪切

选择文本

  • v+光标移动 (按字符选择)高亮选中所要的文本,然后进行各种操作(比如,d表示删除)。
  • V (按行选择)
  • v+选中的内容+c 更改选中的文字

复制:y(ank)

  • y 用v命令选中文本后,用y进行复制
  • yy 复制当前行,然后用p进行复制
  • 5yy 复制从当前行开始的5行
  • y_ 等同于yy
  • Y 等同于yy
  • yw 复制当前单词
  • y$ 从当前位置复制到行尾
  • y0 从当前位置复制到行首
  • y^ 从当前位置复制到第一个非空白字符
  • yG 从当前行复制到文件结束
  • y20G 从当前行复制到第20行
  • y?bar 复制至上一个出现bar的位置

粘贴

  • p 在光标位置之后粘贴
  • P 在光标位置之前粘贴

剪切

  • v + 选中的内容 + d 剪切

  • 全部删除:按esc后,然后dG
  • 全部复制:按esc后,然后ggyG
  • 全选高亮显示:按esc后,然后ggVG
  • “*yy复制一行

  • “*y2w复制二个词

  • “ 表示使用寄存器

  • “* 表示使用当前选择区

  • gg:是让光标移到首行,在vim才有效,vi中无效

  • v : 是进入Visual(可视)模式

  • G :光标移到最后一行

  • 选中内容以后就可以其他的操作了,比如:

    • d 删除选中内容
    • y 复制选中内容到0号寄存器
    • "+y 复制选中内容到+寄存器,也就是系统的剪贴板,供其他程序用

来源Vim操作


参考文档


Author: Itaken
Reprint policy: All articles in this blog are used except for special statements CC BY 4.0 reprint polocy. If reproduced, please indicate source Itaken !
  TOC目录