写在前面
对于在终端中编辑文本的需求,我们通常会选择vscode server,但是并不是所有服务器的性能都能装上vscode,抑或是在本地没有安装图像界面的时候修改配置文件之类的,一个好的终端文本编辑器的作用就体现出来了,通常的选择是nano,但是对于更加复杂的代码或者配置文件,选择vim 就很合理了。
vim的几种模式
大概用得上的一共有命令模式 输入模式 底线命令模式
我们第一次进入vim难免手足无措,因为默认就是命令模式,所以你是不能直接输入什么内容的,要输入内容我们需要切换至输入模式
直接输入
i | 在光标的当前位置开始输入文本 |
a | 在光标的下一个位置开始输入文本 |
o | 在当前行的下一行新建行,然后开始输入 |
O | 在当前行上方插入新行,然后开始输入 |
当然我们还有一些别的命令可能用得上
- x — 删除当前光标所在处的字符。
- : — 切换到底线命令模式,以在最底一行输入命令。
- dd — 删除当前行。
- yy — 复制当前行。
- p(小写) — 粘贴剪贴板内容到光标下方。
- P(大写)– 粘贴剪贴板内容到光标上方。
- u — 撤销上一次操作。
- Ctrl + r — 重做上一次撤销的操作。
- :w — 保存文件。底线命令模式
- :q — 退出 Vim 编辑器。底线命令模式
- :q! — 强制退出Vim 编辑器,不保存修改。底线命令模式
快速高效地编辑
首先是光标的导航
- k或↑ 上移
- j或↓ 下移
- h或← 左移
- l或→ 右移
也可以更大范围地来移动光标
- ctrl+f 在文件中前移一页(相当于 page down)
- ctrl+b 在文件中后移一页(相当于 page up)
- ctrl+d 屏幕向下移动半页
- ctrl+u 屏幕向上移动一页
狠狠地移动:
- * 当光标停留在一个单词上,* 键会在文件内搜索该单词,并跳转到下一处;
- # 当光标停留在一个单词上,# 在文件内搜索该单词,并跳转到上一处;
- (/) 移动到 前/后 句 的开始;
- {/} 跳转到 当前/下一个 段落 的开始。
- g_ 到本行最后一个不是 blank 字符的位置。
- fa 到下一个为 a 的字符处,你也可以fs到下一个为s的字符。
- t, 到逗号前的第一个字符。逗号可以变成其它字符。
- 3fa 在当前行查找第三个出现的 a。
- F/T 和 f 和 t 一样,只不过是相反方向;
快速在某一页移动光标可以使用:
- H 将光标移到屏幕上的起始行(或最上行)
- M 将光标移到屏幕中间
- L 将光标移到屏幕最后一行
- G 将光标定位到文件最后一行起始位置
- NG或Ngg 将光标定位到第 N 行的起始位置
- gg 将光标定位到文件第一行起始位置
- N(ENTER) 光标下移N行
安装一些必要的插件
首先需要给vim装一个插件管理
$ curl -fLo ~/.vim/autoload/plug.vim --create-dirs https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim