目录
一、 什么是 Vim
Vim 是一款功能强大的文本编辑器,是 Unix 和类 Unix 系统下的一种文本编辑器。Vim 是 Vi 编辑器的改进版,Vi 是最早出现于 Unix 系统的一款文本编辑器,而 Vim(Vi IMproved)在 Vi 的基础上增加了许多功能和改进,成为了一个功能更加强大、灵活且易于扩展的文本编辑器。

二、vi/vim 的使用
vi/vim基本上可以分为三种模式,命令/普通/正常模式、插入模式、底行模式,各模式的功能区分如下:
- 命令模式/普通/正常模式(Command Mode)
控制屏幕光标的移动,字符、字或行的删除,移动复制某区段以及进入
插入模式下,或者到底行模式
- 插入模式(Insert Mode)
只有在
插入模式下,才可以做文字输入,按ESC键可回到命令行模式。该模式是我们后面用的最频繁的编辑模式。
- 底行模式(Last Line Mode)
文件要保存或者退出,也可以进行文件替换,找字符串,列出行号等操作。在命令行模式下,
shift + :即可进入该模式。
具体三种模式转换关系如下图:

2.1 命令模式/普通/正常模式(Command Mode)
当用户刚刚启动 vi/vim 时,便进入了命令模式。此状态下敲击键盘动作被 Vim 识别为命令,而非字符,比如我们此时输入o,并不会输入一个字符,o被当作了一个命令。以下是命令模式下常用的命令:
1. 光标移动命令
h:向左移动光标j:向下移动光标k:向上移动光标l:向右移动光标w:按照 “单词” 在行内往后移动b:按照 “单词” 在行内往前移动shift + ^:光标定位到当前行的最左侧开头处 锚点shift + $:光标定位到当前行的最右侧结尾处 锚点gg:跳到文件开头shift + g:跳到文件的末尾
2. 文本编辑命令
n + x:删除光标所在位置的字符,n表示数量,即删除的字符数n + X:删除光标左侧所在位置的字符,n表示数量,即删除的字符数n + yy:复制当前行,n表示数量,即复制的行数n + p:粘贴剪切或复制的文本,n表示数量,即粘贴的文本数量n + dd:删除当前行,n表示数量,即删除的行数u:撤销编辑操作ctrl + r:对撤销进行撤销.:重复上一次操作~:大小写快速切换
3. 查找与替换命令
n + r:替换当前光标所在字符,n表示数量,即替换的字符数R:进入替换模式#:高亮要查找的函数名n:下一个查找到的函数/字符串名/pattern:向后查找指定模式。?pattern:向前查找指定模式。s/search/replace/g:替换搜索到的内容。s/search/replace/gc:替换搜索到的内容,但需确认每次替换。
2.2 插入模式
在命令模式下,按下 i 就进入了输入模式,使用 ESC 键就可以返回到普通模式。在输入模式中,可以使用以下按键:
字符案件以及 shift 组合:输入字符ENTER键:回车键、换行BACK SPACE:退格键,删除光标前一个字符DEL:删除键,删除光标后一个字符方向键:在文本中移动光标HOME/END:移动光标到行首/行尾Page Up/Page Down:上/下翻页Inset:切换光标为输入/替换模式,光标变成竖线/下划线ESC:退出输入模式,切换到命令模式
2.3 底行模式
在 Vim 的底行模式下,可以执行各种操作,如保存文件、搜索文件、替换文本等。以下是一些常用的Vim底行模式下的命令及其作用:
1. 保存和退出
:w:保存文件但并退出:w 文件名:将文件保存为指定文件名:q:退出 Vim:q!:强制退出,不保存修改wq 或 :x:保存并退出
2. 显示行号、鼠标操作
set number:显示行号set nonumber:隐藏行号set mouse=a:设置鼠标操作set 选项:设置 vim 选项,如set number设置显示行号
3. 移动光标
n:跳转到第 n 行$:跳转到文件末尾1:跳转到文件开头
4. 文件操作
:e 文件名:打开另一个文件进行编辑:r 文件名:将另一个文件的内容插入到当前的文件中:sav 文件名:另存为指定文件名
5. 执行外部命令
:! command:执行外部命令,如::!ls显示当前目录文件列表
三、总结
总的来说,Vim是一款功能强大、高效的文本编辑器,尤其适合程序员和系统管理员等需要频繁编辑文本文件的用户使用。虽然学习曲线较陡,但一旦掌握了Vim的基本操作,将会极大地提高文本编辑的效率和便捷性。

6万+

被折叠的 条评论
为什么被折叠?



