在Linux系统中,Vim是一款功能强大的文本编辑器,广泛用于代码编写、文档编辑等多种场景。Vim以其高效的编辑能力和丰富的命令集著称。以下是Vim编辑器中常用命令的详细大全,旨在帮助用户更高效地利用Vim进行文本编辑。
一、启动与退出Vim
-
启动Vim
vim
:直接启动Vim并进入命令模式。vim filename
:启动Vim并打开(或创建)指定文件名的文件。vim -c cmd file
:在打开文件前,先执行指定的命令。vim -r file
:恢复上次异常退出的文件。vim -R file
:以只读的方式打开文件,但可以强制保存。vim -M file
:以只读的方式打开文件,不可以强制保存。
-
退出Vim
:wq
或ZZ
:保存修改并退出Vim。:x
:保存修改并退出Vim,与:wq
相同。:q!
:强制退出Vim,不保存修改。:q
:如果未对文件进行修改,则退出Vim;如果文件已修改,则提示保存或放弃修改。
二、Vim的模式
Vim有三种基本模式:命令模式(Normal Mode)、插入模式(Insert Mode)和可视模式(Visual Mode)。
-
命令模式(Normal Mode)
- 在此模式下,可以使用快捷键进行光标移动、复制粘贴、删除等操作。
- 按下
i
、a
、o
等键可以进入插入模式。
-
插入模式(Insert Mode)
- 在此模式下,可以输入文本。
- 按下
Esc
键可以回到命令模式。
-
可视模式(Visual Mode)
- 按下
v
进入字符选择模式,V
进入行选择模式,Ctrl+v
进入块选择模式。 - 在可视模式下,可以使用移动命令来选择文本区域,然后执行复制、粘贴、删除等操作。
- 按下
三、光标移动
在命令模式下,Vim提供了多种光标移动命令:
h
或 左箭头:左移一个字符。l
或 右箭头:右移一个字符。j
或 下箭头:下移一行。k
或 上箭头:上移一行。w
:向前移动一个单词(光标停在单词首部)。b
:向后移动一个单词。e
:向前移动一个单词,光标停在单词尾部。ge
:向后移动一个单词,光标停在单词尾部。^
:移动到本行第一个非空白字符上。0
或Home
:移动到本行第一个字符。gg
:移动到文件头部。G
或Shift+g
:移动到文件尾部。nG
或:n
:跳转到文件的第n行。Ctrl+f
:向下滚动一屏。Ctrl+b
:向上滚动一屏。Ctrl+d
:向下滚动半屏。Ctrl+u
:向上滚动半屏。
四、文本编辑
-
插入文本
i
:在当前光标位置插入文本。I
:在当前行首插入文本。a
:在当前光标位置的下一个字符处插入文本。A
:在当前行尾插入文本。o
:在当前行下方插入新行并开始编辑。O
:在当前行上方插入新行并开始编辑。
-
复制与粘贴
yy
:复制当前行。nyy
:复制从当前行开始的n行。p
:在当前光标位置粘贴文本。P
:在当前光标位置上方粘贴文本。
-
删除文本
x
:删除当前光标位置的字符。X
:删除当前光标位置前一个字符。dd
:删除当前行。ndd
:删除从当前行开始的n行。D
或d$
:删除从当前光标位置到行尾的所有字符。
-
撤销与重做
u
:撤销上一步操作。Ctrl+r
:重做上一步被撤销的操作。
五、查找与替换
-
查找文本
/text
:从当前光标位置向前查找text。?text
:从当前光标位置向后查找text。n
:查找下一个匹配项。N
:查找上一个匹配项。
-
替换文本
r
+ 字符:替换当前光标位置的字符。R
:进入替换模式,输入字符将连续替换光标所在位置及之后的字符,直到按Esc
退出。:s/old/new/
:替换当前行的第一个old为new。:s/old/new/g
:替换当前行所有old为new。%s/old/new/g
:替换整个文件中所有old为new。
六、分屏与多文件操作
-
分屏
:split
或:sp
:水平分割窗口,打开一个新窗口。:vsplit
或:vsp
:垂直分割窗口,打开一个新窗口。Ctrl+w w
:在多个窗口间切换。Ctrl+w j
、Ctrl+w k
、Ctrl+w h
、Ctrl+w l
:分别将光标移动到下方、上方、左侧、右侧窗口。
-
多文件操作
vim file1 file2 ...
:同时打开多个文件。:next
或:n
:切换到下一个文件。:prev
或:N
:切换到上一个文件。:first
:切换到第一个文件。:last
:切换到最后一个文件。
七、其他常用命令
:set nu
:显示行号。:set nonu
:关闭行号显示。:w
:保存当前文件。:w filename
:将当前文件另存为filename。:e!
:重新加载当前文件,丢弃已做的修改。:help
或F1
:打开Vim的帮助文档。
Vim的命令集非常丰富,上述只是其中一部分常用命令。通过不断实践和学习,用户可以逐渐掌握Vim的强大功能,提高文本编辑的效率。同时,Vim还提供了丰富的插件和配置选项,用户可以根据自己的需求进行定制和优化。