1.文件命令
|
快捷键 |
功能 |
|
vim file |
打开单个文件 |
|
vim file1 file2 file3 … |
同时打开多个文件 |
|
:e file |
在vim窗口中打开一个新文件 |
|
:split file |
在新窗口中打开文件 |
|
:bn |
切换到下一个文件 |
|
:bp |
切换到上一个文件 |
|
:args |
查看当前打开的文件列表,当前正在编辑的文件会用[]括起来 |
|
打开远程文件,比如ftp或者share folder |
|
|
打开远程文件 |
2.多窗口情况下的按键
|
快捷键 |
操作说明 |
|
:sp [filename] |
开启一个新窗口,如果有加 filename, 表示在新窗口开启一个新文件,否则表示两个窗口为同一个文件内容(同步显示)。 |
|
[ctrl]+w+ j [ctrl]+w+↓ |
按键的按法是:先按下 [ctrl] 不放, 再按下 w 后放开所有的按键,然后再按下 j (或向下箭头键),则光标可移动到下方的窗口。 |
|
[ctrl]+w+ k [ctrl]+w+↑ |
同上,不过光标移动到上面的窗口。
|
|
[ctrl]+w+ q |
其实就是 :q 结束离开啦! 举例来说,如果我想要结束下方的窗口,那么利用 [ctrl]+w+↓ 移动到下方窗口后,按下 :q 即可离开, 也可以按下 [ctrl]+w+q 啊! |
3.插入命令
|
快捷键 |
功能 |
|
i |
在当前位置前插入 |
|
I |
在当前行首插入 |
|
a |
在当前位置后插入 |
|
A |
在当前行尾插入 |
|
o |
在当前行之后插入一行 |
|
O |
在当前行之前插入一行 |
4.移动命令
|
快捷键 |
功能 |
|
Ctrl+b |
向上翻页 = Pgup |
|
Ctrl+f |
向下翻页 = PgDn |
|
Ctrl+d |
向下移动半页 |
|
Ctrl+u |
向上移动半页 |
|
G |
移动到页末 |
|
gg |
移动到页头 |
|
nG |
40G 移动到第40行 |
|
ngg |
快速跳到文件的第N行 |
|
h |
左移一个字符 |
|
l |
右移一个字符(w快速) |
|
k |
上移一个字符 |
|
j |
下移一个字符 |
|
20j |
向下移动20行 |
|
0 | Home |
到行首 |
|
$ | End |
到行尾 |
|
: 2467 |
跳到2467行 |
5.复制,粘贴,删除
|
快捷键 |
功能 |
|
x |
向后删除一个字符 = Delete |
|
X |
向前删除一个字符 = backspace |
|
dd |
直接删除光标所在行 (剪切) |
|
D d$ |
删除光标位置到本行结尾 |
|
d0 |
删除光标位置到本行开头 |
|
ndd |
删除n行 |
|
yy |
复制光标所在行 |
|
nyy |
拷贝当前后开始的n行 |
|
p |
粘贴到光标所在的下行 |
|
:1,10d |
删除或剪切1-10行 |
|
ctrl+v |
块选择 014b-vim块操作 |
|
shift+v |
行选择 |
6 撤销和重做
|
快捷键 |
功能 |
|
u |
撤销(Undo) |
|
U |
撤销对整行的操作 |
|
Ctrl + r |
重做(Redo) |
7.末行模式
|
快捷键 |
功能 |
|
w |
保存 |
|
q |
退出 |
|
q! |
强制退出 |
|
wq |
保存退出 |
|
:wq |
强制保存退出 |
|
e! |
放弃所有修改,从上次保存文件开始再编辑 |
|
w [filename] |
将编辑的数据储存成另一个文件(类似另存新档) |
8.查找替换
?[n,m]s/<查找关键字>/<替换关键字>/[g]
|
快捷键 |
功能 |
|
:/<查找的关键字> |
查找替换(n下一个 N上一个) |
|
:s/this/that/ |
将本行第一个this替换成that |
|
:s/this/that/g |
将本行所有this替换成that |
|
:1,10s/this/that/g |
将1到10行所有的this替换成that |
|
:10,$s/this/that/g |
将10到最后行所有的this替换成that |
|
:.,.+10s/this/that/g |
将本行到本行后10行this替换成that |
|
:.,.-10s/this/that/g |
将本行到本行前10行this替换成that |
|
:%s/this/that/g |
将所有行this替换成that |
|
:10,20s/^/#/g |
在第10行知第20行每行前面加#,用于注释 |
|
:3,5 s/^#//g |
解除3-5行的注释 |
|
1,$ s/^/#/g |
注释整个文档 |
9.高级操作
|
快捷键 |
功能 |
|
:!<命令> |
临时执行一条命令 |
|
:r <file> |
将文件读入到本文档 |
|
:1,20w <file> |
将1-20行另存为其他文件 |
|
:20,30w >> <file> |
将20-30行追加到其他文件中 |
10.vim设置
#vim /etc/vimrc
|
指令 |
功能 |
|
set nu |
显示行号 |
|
set nonu |
不显示行号 |
|
set nohlsearsh |
关闭高亮 |
|
set hlsearsh |
打开高亮 |
|
syntax off |
关闭色彩 |
|
syntax on |
打开色彩 |
|
set ic |
查找时忽略大小写 |
|
set noic |
查找时对大小写敏感 |
|
set list |
显示不可见字符 |
11.让vi有颜色
mv /usr/bin/vi /usr/bin/vi.bak
ln -s /usr/binvim /usr/bin/vi
12.vim导图

13.vim块操作
在windows word中用鼠标拖动,反白显示,表示选中文本块。在vim中也有此功能,可以对块整体操作。
一、可视模式
按v启用可视模式,之后移动光标可以选择。
如:
如果想整行操作,则用大写的V,再移动光标可以按行为单位进行选择。
二、列块操作
在 word中有一个功能,按alt加鼠标拖动,可以拖出矩形块,在vim同样具有此功能。
如:
方法是:
control+v,启用块可视模式,之后移动鼠标,可以选中某一个矩形块,对于有规律的表格可以用这个功能。
目前当前光标所在的位置是右下角,可以在这个块的四角进行移动光标,方法就是按o,O来切换四个顶点。
三、实例一
把上图中source列,移到open前面
(1)control+v,选中source列
(2)d 剪切列
(3)在open的前面,按p粘贴。
结果如下:
四、实例二
在选定行的vim行前面加上// ,一般在语言中表示注释
(1)control+v选定列(vim)
(2)按I插入//
(3)按esc
结果如下:
注意:在windows系统中 control+v被系统占用了,所以改为control+q完成相同的功能。



