基本命令
- i:在当前光标位置插入文本。
- x:除当前光标所在位置的字符。
- :w:保存文件。
- :q:退出vim编辑器。
- :q!:强制退出vim编辑器,不保存文件。
- :wq:保存文件并退出vim编辑器。
光标移动命令
在编辑文本时,移动光标是一个常见的操作。
- h:将光标向左移动一个字符。
- j:将光标向下移动一行。
- k:将光标向上移动一行。
- l:将光标向右移动一个字符。
- w:将光标移动到下一个单词的开头。
- e:将光标移动到当前单词的末尾。
- b:将光标移动到上一个单词的开头。
- 0:将光标移动到当前行的开头。
- $:将光标移动到当前行的末尾。
- G:将光标移动到文件的末尾。(shift + g)
- gg:将光标移动到文件的开头。
- /<pattern>:向下搜索<pattern>。
文本编辑命令
vim具有丰富的文本编辑命令,以下是一些常用的命令:
- dd:删除当前行。
- yy:复制当前行。
- p:粘贴已复制或删除的文本。
- u:撤销上一次操作。
- Ctrl-r:重做上一次操作。
- r:替换当前光标所在位置的字符。
- c:删除从当前光标位置到指定位置的文本并进入插入模式。
- v:进入可视模式,选择文本。
- :s/<old>/<new>/g:将当前行中的<old>替换为<new>。
- :%s/<old>/<new>/g:将整个文件中的<old>替换为<new>。
插入模式命令
在插入模式中,您可以输入文本。
- Esc:退出插入模式。
- Ctrl-h:删除光标左侧的字符。
- Ctrl-w:删除光标左侧的单词。
- Ctrl-u:删除当前行的所有文本。
- Ctrl-a:插入文本到行首。
- Ctrl-e:插入文本到行尾。
- Ctrl-t:插入一个制表符。
宏命令
宏是一种将多个操作序列记录并重复执行的方法。
- qa:开始录制宏并将其存储在寄存器a中。
- q:停止录制宏。
- @a:执行存储在寄存器a中的宏。
- @@:重复上一次执行的宏。
分屏命令
vim可以在窗口中分屏显示文件。
- :sp:水平分屏当前窗口。
- :vsp:垂直分屏当前窗口。
- Ctrl-w h:将光标移到左侧窗口。
- Ctrl-w j:将光标移到下方窗口。
- Ctrl-w k:将光标移到上方窗口。
- Ctrl-w l:将光标移到右侧窗口。
- Ctrl-w +:增加当前窗口的高度。
- Ctrl-w -:减小当前窗口的高度。
多文件编辑命令
在vim中,您可以编辑多个文件。
- :e <filename>:打开指定的文件。
- :tabnew <filename>:在新选项卡中打开指定的文件。
- :tabnext:切换到下一个选项卡。
- :tabprev:切换到上一个选项卡。
- :tabclose:关闭当前选项卡。
其他命令
- :set number:显示行号。(:set nu)
- :set nonumber:隐藏行号。(:set nonu)
- :set expandtab:使用空格代替制表符。
- :set tabstop=4:设置制表符宽度为4个字符。
- :set hlsearch:高亮显示搜索结果。
- :set nohlsearch:取消高亮显示搜索结果。
- :set background=dark:将背景设置为暗色。
- :set background=light:将背景设置为亮色。
跳转到指定行(首先按esc进入命令行模式)
- ngg/nG (跳转到文件第n行,无需回车)
- :n (跳转到文件第n行,需要回车)
- vim +n filename (在打开文件后,跳转到文件的第n行)
删除
dd:删除光标所在的一整行
ndd:删除光标所在的向下n行,例如20dd则是删除光标所在的向下20行
n1,n2 d:删除n1至n2行
d1G:删除光标所在到第一行的所有数据
dG:删除光标所在到最后一行的所有数据
d$:删除光标所在处,到该行的最后一个字符
d0:那个是数字0,删除光标所在到该行的最前面的一个字符
x,X:x向后删除一个字符(相当于[del]按键),X向前删除一个字符(相当于[backspace]即退格键)
nx:n为数字,连续向后删除n个字符