Linux中的Vim是一个非常强大的文本编辑器,它提供了丰富的命令来支持各种文本编辑操作。以下是一个Vim常用命令的详细总结,涵盖了基本操作、编辑命令、移动光标、查找替换、保存退出等多个方面。
一、基本操作
-
启动Vim
vim:直接启动Vim编辑器。vim filename:打开或创建文件并启动Vim进行编辑。
-
模式切换
-
Vim有三种主要模式:正常模式(Normal Mode)、插入模式(Insert Mode)和命令行模式(Command-line Mode)。
- 正常模式:默认模式,用于执行大多数命令。
- 插入模式:用于输入文本。
- 命令行模式:用于执行保存、退出等命令。
-
切换模式:
- 从正常模式到插入模式:
i(在当前位置插入)、I(在当前行首插入)、a(在当前位置后插入)、A(在当前行尾插入)、o(在当前行下新开一行插入)等。 - 从插入模式到正常模式:按
Esc键。
- 从正常模式到插入模式:
-
二、编辑命令
-
复制和粘贴
- 复制:
yy(复制当前行)、y$(复制至行尾)、yw(复制一个单词)、yG(复制到文件末尾)等。 - 粘贴:
p(在光标后粘贴)、P(在光标前粘贴)。
- 复制:
-
删除
x:删除当前字符。X:删除前一个字符(等价于dh)。dd:删除当前行。D或d$:删除从当前光标位置到行尾的所有字符。dw:删除一个单词。
-
撤销和重做
u:撤销上一次操作。Ctrl + r:重做上一次撤销的操作。
三、移动光标
-
基本移动
h:左移一个字符。j:下移一行。k:上移一行。l:右移一个字符。
-
单词间移动
w:向前移动到下一个单词的开头。e:向前移动到下一个单词的末尾。b:向后移动到上一个单词的开头。
-
行内移动
0(数字零):移动到行首。^:移动到行首的第一个非空白字符。$:移动到行尾。
-
页面移动
Ctrl + f:向下滚动一页。Ctrl + b:向上滚动一页。Ctrl + d:向下滚动半页。Ctrl + u:向上滚动半页。
-
文件内移动
gg:移动到文件的第一行。G:移动到文件的最后一行。:n(n为行号):移动到文件的第n行。
四、查找和替换
-
查找
/text:向前查找text。?text:向后查找text。n:查找下一个匹配项。N:查找上一个匹配项。
-
替换
:s/old/new/:将当前行的第一个old替换为new。:s/old/new/g:将当前行的所有old替换为new。:%s/old/new/g:将文件中的所有old替换为new。
五、保存和退出
-
保存
:w:保存当前文件。:w filename:将当前文件另存为filename。
-
退出
:q:如果文件未修改,则退出Vim。:q!:强制退出Vim,不保存任何修改。:wq或ZZ:保存并退出Vim。
六、其他常用命令
-
分屏操作
:split或:sp:水平分割窗口。:vsplit或:vsp:垂直分割窗口。Ctrl + w + w:在分屏间切换。
-
设置
:set nu:显示行号。:set nonu:不显示行号。:set hlsearch:高亮显示搜索结果。:set nohlsearch:关闭高亮显示。
-
录制宏
qa:开始录制宏a。- …(执行一系列命令)
q:结束录制。@a:执行宏a。
-
执行外部命令
:!command:在Vim中执行外部命令。
七、高级技巧
-
多文件编辑
vim file1 file2:同时打开多个文件。:next或:n:切换到下一个文件。:prev或:p:切换到上一个文件。:first:切换到第一个文件。:last:切换到最后一个文件。
-
文本对象操作
- Vim支持多种文本对象,如
iw(内部单词)、aw(一个单词)、ip(内部段落)等,可以与删除、复制等命令结合使用。
- Vim支持多种文本对象,如
-
可视模式
- 在正常模式下,按
v进入可视模式,按V进入可视行模式,按Ctrl + v进入可视块模式。在可视模式下,可以选择文本块并执行删除、复制等操作。
- 在正常模式下,按
以上就是Vim编辑器的一些常用命令和高级技巧。Vim的功能非常强大,这里只是列举了一部分常用的命令和技巧。通过不断的学习和实践,你可以逐渐掌握Vim的更多高级功能和技巧,从而提高你的文本编辑效率。









