Vim是一个类似于Vi的著名的功能强大、高度可定制的文本编辑器。
1. 几种模式
一般会将它分为4种模式:
普通模式(Normal mode):启动VIM时默认就是这个模式。输入"Shift+z"可保存退出vim。
插入模式(Insert mode): 在普通模式下按"i"(insert),“a”(append)或"o"就进入了插入模式。按"ESC"或"Crtl+c"退出编辑模式,回到命令模式。
命令行模式(Ex mode):在普通模式下按":" 即可进入命令行模式,最下一行变成编辑,可以在最下行输入命令.在命令模式下输入":wq"表示保存退出,":wq!“强制保存退出,”:w"表示保存,":w file"表示保存在另一个文件中 “:q"表示退出。”:w filename"然后回车则把文件另保存为filename或其他路径下。
可视模式(Visual mode):在普通模式下按"v"进入可视模式。
2. 普通模式命令
命令 | 功能 |
---|---|
x或Delete | 删除光标所在字符 |
X | 删除光标所在位置的前一个字符 |
dd | 删除当前行 |
dj | 删除当前行和下一行(第一个"d"含义是删除,"j"键代表移动到下一行) |
2dd | 重复"dd"两次 |
d^ | "^"代表行首,故组合后含义是删除到光标开始到行首间的内容(不包含光标) |
d$或D | 删除到行尾的内容(包含光标) |
dG | 删除到文档结尾处 |
d1G | 删至文档首部 |
h、j、k、l | 1.分别代表左、下、上、右箭头的功能; 2.也可以使用键盘的方向键来移动,之所以使用h j k l来控制方向,其主要目的是让你的手不离开键盘中心,从而提高效率; 3.在命令前加上数字代表命令执行次数,如:5k,表示上移5行 |
w | 移动到下一个单词开头,W 会忽略标点符号 |
e | 移动到下一个单词结尾,E 会忽略标点符号 |
b | 倒退到上一个单词开头,B 会忽略标点符号 |
0 | 零,移动到行首 |
$ | 移动到行尾 |
+ | 移动到下一行开头,+ - 不管你的光标在何处,总是移动到下一行或上一行的行首 |
- | 移动到上一行开头 |
3. 普通模式进入插入模式
普通模式下使用下面不同的键进入插入模式
命令 | 功能 |
---|---|
i | 在当前光标处进行编辑 |
I | 在行首插入 |
A | 在行末插入 |
a | 在光标后插入编辑 |
o | 在当前行后插入一个新行 |
O | 在当前行前插入一个新行 |
cw | 替换从光标所在位置后到一个单词结尾的字符 |
4. 实例操作说明
#打开编辑器,并且打开已存在的文件helloworld,若此文件不存在则自动新建。
$ vim helloworld
#按"i"键进入插入模式后,输入字符
~ hello delia
#按"ESC"回到普通模式后。输入“:wq”保存退出
#查看helloworld文件
$ cat helloworld
5. 如何在vim中快速复制粘贴多行
- 将光标移动到要复制的文本开始的地方,按
v
进入可视模式(visual)。- 将光标移动到要复制的文本的结束的地方,按
y
复制。此时vim会自动将光标定位到选中文本的开始的地方,并退出可视模式。- 移动光标到文本结束的地方,按
p
粘贴。输入1000p
则可复制出1000份文本
参考资料:
[1]https://www.shiyanlou.com/courses/2/labs/16/document