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的更多高级功能和技巧,从而提高你的文本编辑效率。