常规操作
1 | vim a.txt # 创建a.txt文件并进入编辑状态 。 如果a.txt 已经存在,则直接进入编辑状态 |
注:以
:和/开头的命令都有历史纪录,可以首先键入:或/然后按上下箭头来选择某个历史命令
Vim模式
(都是在英文输入环境下操作)
- Normal 模式:进入Vim后的一般模式。
- Insert 模式:按下
i键后进入插入模式,可以修改文档。 - Visual 模式:按下
v键后进入选择模式,可以选择文档内容。
Vim打开和切换文件
:ls显示打开的文件,可以使用:bn在文件间切换( n也可以换成:ls里给出的文件序号 )。- 在终端
vim -o file1 file2 ...可以打开多个文件(横向分隔屏幕)。 - 终端
vim -O file1 file2 ...可以打开多个文件(纵向分隔屏幕)。 ⭐ Ctrl+w+方向键在窗口间切换光标
Vim退出
:q:退出。:q!:强制退出,放弃所有修改。:wq:保存修改并退出。⭐
常用快捷键
gg到文档首行,G(shift+g)到文档结尾。pageUp下一页,pageDown上一页。ctrl + d向下翻半页(down),ctrl + u向上翻半页(up) ⭐H将光标移动到屏幕首行,M将光标移动到屏幕中间行,L将光标移动到屏幕最后一行。q:显示命令行历史记录(显示开头为:的历史命令行)窗口,可以选择命令行执行。若是q/,则会显示开头为/的历史命令行u撤销 (undo) ⭐w下一个单词 wordb前一个单词 behinde本单词末尾 end:set nu显示行号 (number ):set nonu隐藏行号 ( number):98跳转到第98行。:5,10d//回车后,第5~10行被删除:5,$d//回车后,第5~最后一行被删除:5,10y//回车后,第5~10行被复制
复制粘贴
- 在Visual模式下选择文档内容后按
y键,复制被选择内容。主要用于多行文字(复制完之后vim自动退出Visual模式) - 在Visual模式下选择文档内容后按
d删除 - 按
p键粘贴,注意粘贴从紧跟光标后的那个字符之后才开始。(不需要进入Visual模式) yy复制当前行,dd删除(剪贴)当前行。 用于一行文字:5,10y//回车后,第5~10行被复制
如果在vim外的其它文件里复制内容到vim里,则无法使用p进行粘贴,此时右键粘贴即可(无需进入inset模式)
查找
- 在Normal模式下,按
/进入查找模式,输入/word后回车,高亮显示所有文档word,按n跳到下一个word,按N跳到上一个。(默认大小写敏感) - 若输入
/word\c代表大小写不敏感查找,\C代表大小写敏感。 - 在Normal模式下按
q+/显示查找历史记录窗口。 - 如果一个词很长,键入麻烦,可以将光标移动到该词上,按
*键即可以该单词进行搜索,相当于/搜索。

参考
vim的常用操作 https://www.cnblogs.com/doseoer/p/6241443.html