Vim 利剑常磨,见血封喉
Vim 利剑常磨,见血封喉
vim 是 vi 的升级版本,它不仅兼容vi的所有指令,还有新增了一些新的特性。
vi filename
vim filename
// 两者同样的功能,能少敲一个字母,所以我们就用vi吧
vi filename +行号 //打开文件并跳转到指定行
vi 有三种基本的工作模式:
- 命令模式
- 文本输入模式
- 末行模式
vim的一些基本使用命令如下:
从命令模式进入编辑模式
- i:在光标前插入
- a:在光标后插入
- o:在光标下一行插入
- I:在光标当前行行首插入
- A:在光标当前行行尾插入
- O:在光标上一行插入
从编辑模式进入命令模式
按 Esc 键
从命令模式到末行模式
输入 “:”
末行模式下的一些命令
- w:保存
- q:退出
- wq:保存退出
- x:保存退出
- q!:不保存直接退出
替换命令
在末行模式下可以实现对文本内容全文指定内容的一个替换操作
- :开始行号,结束行号s/所需替换字符/替换字符/g
eg:将文章中从第一行到第十行的abc换为123
:1,10s/abc/123/g
命令模式下的一些命令
移动光标
- h:左移
- j:下移
- k:上移
- l:右移
- M:光标移动到中间行
- L:光标移动到屏幕最后一行行首
- G:光标移动到指定行,eg:15G:跳转到第15行
- w:向后移动一个字
- b:向前移动一个字
- {:按段上移
- }:按段下移
- control+d:向下翻半屏
- control+u:向上翻半屏
- control+f:向下翻一屏
- control+b:向上翻一屏
- G:跳转到最后一行,不加行号
- gg:跳到行首
复制粘贴相关操作
- 行数 yy:表示从当前行开始复制指定行数的内容,不指定行数表示复制当前行
- 行数 dd:表示从当前行开始剪切指定行数的内容,不指定行数表示剪切当前行
- p:将复制或剪切的内容粘贴到当前行
- u:对粘贴的内容执行撤销操作
- control+r:对撤销的内容执行反撤销
删除操作
- x:删除光标后一个字符
- X:删除光标前一个字符
- 行数 dd:删除光标所在行开始之后的行,不指定则删除光标行
- do:删除光标前本行所在内容,不包含光标所在字符
- dw:删除光标开始位置的字符,包含光标所在的字符
- D:删除光标后本行所有内容,包含光标所在字符
查找命令
- / 字符串:在文本中查找该字符串
- n:所匹配内容的下一个
- N:所匹配内容的上一个
文本行移动
- >>:文本行右移
- «:文本行左移
可视模式
- v:按字符移动,选中文本
- V:按行移动,选中文本
在可视模式中可以配合 d、y、»、« 等命令实现对文本块的删除、复制、右移、左移
替换模式
- r:替换当前字符
- R:替换当前字符光标之后的内容
重复命令
- .:重复上一次操作的命令