文章

一些vim命令

基本命令

以下是一些基本的Vim命令:

  • i:在当前光标位置插入文本。
  • x:删除当前光标所在位置的字符。
  • X(大写):删除光标前一个字符。
  • :w:保存文件。
  • :q:退出Vim编辑器。
  • :q!:强制退出Vim编辑器,不保存文件。
  • :wq:保存文件并退出Vim编辑器。
  • :x:保存文本,并退出 Vim 编辑器。

光标移动命令

在编辑文本时,移动光标是一个常见的操作。以下是一些常用的光标移动命令:

  • h:将光标向左移动一个字符。
  • j:将光标向下移动一行。
  • k:将光标向上移动一行。
  • l:将光标向右移动一个字符。
  • w:将光标移动到下一个单词的开头。
  • e:将光标移动到当前单词的末尾。
  • b:将光标移动到上一个单词的开头。
  • 0:将光标移动到当前行的开头。
  • $:将光标移动到当前行的末尾。
  • G:将光标移动到文件的末尾。
  • gg:将光标移动到文件的开头。
  • /<pattern>:向下搜索 <pattern>。
  • /^<pattern>:查找以 <pattern> 为行首的行。
  • /<pattern>$:查找以 <pattern> 为行尾的行。
  • ?<pattern>:从光标所在位置向后查找字符串 <pattern>。

文本编辑命令

Vim具有丰富的文本编辑命令,以下是一些常用的命令:

  • o:在光标所在行的下插入新的一行。光标停在空行首,等待输入文本。
  • O(大写):在光标所在行的上插入新的一行。光标停在空行的行首,等待输入文本。
  • a:在当前光标所在位置之后插入。
  • A:在光标所在行的行尾插入,相当于光标移动到行尾再执行 a 命令。
  • dd:剪切当前行。
  • D:剪切光标所在行。
  • 数字+dd:以光标所在行为准(包含当前行),向下剪切指定行数。
  • yy:复制当前行。
  • n+yy:复制光标所在行,此命令前可以加数字 n,可复制多行。
  • y:复制光标选中内容。
  • yw:复制光标位置的单词。
  • p:将剪贴板中的内容粘贴到光标后。
  • P(大写):将剪贴板中的内容粘贴到光标前。
  • u:撤销上一次操作。
  • U(大写):撤销所有编辑。
  • Ctrl-r:重做上一次操作。
  • r:替换当前光标所在位置的字符。
  • c:删除从当前光标位置到指定位置的文本并进入插入模式。
  • v:进入可视模式,选择文本。
  • :s/<old>/<new>/g:将当前行中的替换为。
  • :n1,n2 s/<old>/<new>:将文件中 n1 到 n2 行中第一处 <old> 都用 <new> 替换
  • :%s/<old>/<new>/g:将整个文件中的替换为。
  • :n1,n2 s/<old>/<new>/g:将文件中 n1 到 n2 行中所有 <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 :打开指定的文件。
  • :tabnew :在新选项卡中打开指定的文件。
  • :tabnext:切换到下一个选项卡。
  • :tabprev:切换到上一个选项卡。
  • :tabclose:关闭当前选项卡。

其他命令

以下是一些其他常用的Vim命令:

  • :set number:显示行号。
  • :set nonumber:隐藏行号。
  • :set expandtab:使用空格代替制表符。
  • :set tabstop=4:设置制表符宽度为4个字符。
  • :set hlsearch:高亮显示搜索结果。
  • :set nohlsearch:取消高亮显示搜索结果。
  • :set background=dark:将背景设置为暗色。
  • :set background=light:将背景设置为亮色。
License:  CC BY 4.0