一.vim的命令模式
1、调整vim的工作方式
在vim模式中:set调整参数
命令 |
功能 |
:set nu |
在每一行前显示行号 |
:set nonu |
消除显示的行号 |
:set mouse=a |
启用鼠标(可单击某处转移光标位置,或用鼠标选取可操作区域等) |
:set cursorline |
显示行线(可用上下键移动) |
注:在vim程序中设定的vim工作方式是临时的,无论怎么设定,vim退出后,再次进入vim,vim会还原,每次进入的文件是不同的文件进程号,证明二者是不同的。

(1)如何查询进程号:
可在System Monitor中搜索文件的进程号,若进程号不同,则证明是不同的进程
(2)编辑vim的配置文件来永久设定
vim的配置文件在:/etc/vimrc
在vimrc里输入想要永久设定的指令,如“set nu”,退出保存后,再用vim指令打开文件,将会进入时就默认执行该指令。
编辑前为了防止改坏文件,先把vimrc文件保留一个备份,给自己一个reset的机会

2、字符的搜索方式
命令 |
功能 |
输入“/关键字” |
在vim中查找关键字,并且将关键字高亮显示 |
键盘按“n” |
向下逐个匹配关键字位置 |
键盘按“N” |
向上逐个匹配关键字位置 |
输入“:noh” |
取消关键字的高亮显示 |

3.字符的管理
注:以下快捷键不能在插入(INSERT)模式中使用
复制:
命令 |
功能 |
yl |
复制当前光标所标示的字母 |
y3l |
复制当前光标所标示的字母和后2个字母,共3个,数字可替换 |
yw |
复制当前光标所标示处的单词 |
y3w |
复制当前光标所标示处的单词和后2个单词,共3个,数字可替换 |
yy |
复制当前光标所在的一行 |
y3y |
复制当前光标所在的一行及后2行,共3行,数字可替换 |
删除:
命令 |
功能 |
dl |
删除当前光标所标示的字母 |
d3l |
删除当前光标所标示的字母和后2个字母,共3个,数字可替换 |
dw |
删除当前光标所标示处的单词 |
d3w |
删除当前光标所标示处的单词和后2个单词,共3个,数字可替换 |
dd |
删除当前光标所在的一行 |
d3d |
删除当前光标所在的一行及后2行,共3行,数字可替换 |
剪切:
命令 |
功能 |
cl |
剪切当前光标所标示的字母,并进入插入模式 |
c3l |
剪切当前光标所标示的字母和后2个字母,共3个,并进入插入模式,数字可替换 |
cw |
剪切当前光标所标示处的单词,并进入插入模式 |
c3w |
剪切当前光标所标示处的单词和后2个单词,共3个,并进入插入模式,数字可替换 |
cc |
剪切当前光标所在的一行,并进入插入模式 |
c3c |
剪切当前光标所在的一行及后2行,共3行,并进入插入模式,数字可替换 |
粘贴:
命令 |
功能 |
p |
将复制内容或剪切内容粘贴至光标所在位置 |
u |
撤销上一步操作 |
Ctrl+r |
还原撤销的一步操作 |

4.可视化模式
vim的可视化模式:按Ctrl+v进入,进入可视化模式后,可以选择区域操作,按上下左右选取块状区域,进行区域操作。
批量添加字符:
Ctrl+v选中要加入字符所在的列,按“I”加入字符,加入后按Esc退出该模式

5、字符的替换
用键盘输入:
命令 |
功能 |
:%s/要替换的字符/替换后的字符/g |
可把想要替换的字符替换为其他字符 |
:%s/>W</QAQ/g |
把全文的“>W<”替换为“QAQ” |
:15,20s/QAQ/qwq/g |
把15-20行的“QAQ”替换为“qwq” |
:/postfix/,/abrt/s/QAQ/orz/g |
把“postfix”到“abrt”所在的行之间的“QAQ”替换为“orz” |
注:%s表示所有的行,g表示所有的列,前面可以加数字

6、分屏功能
命令 |
功能 |
Ctrl + w s |
光标所在位置上下分屏 |
Ctrl + w v |
光标所在位置左右分屏 |
Ctrl + w c |
关闭光标所在位置的屏幕 |
Ctrl + w 上下左右键 |
将光标移动到其他屏幕 |
:sp filename |
同时编辑该文件和filename文件 |

7、命令模式下光标的移动
命令 |
功能 |
gg |
将光标移动到文件的第一行 |
G |
将光标移动到文件的最后一行 |
:数字 |
将光标移动到该以该数字为行数的行 |
注:不可进入插入模式输入上述命令

二.插入模式
1、插入模式下光标的移动
命令 |
功能 |
i |
在光标当前所在的位置插入 |
I |
在光标当前所在的位置的行的行首插入 |
o |
在光标当前所在的位置的行的下一行插入 |
O |
在光标当前所在的位置的行的上一行插入 |
a |
在光标当前所在的位置的下一个字符插入 |
A |
在光标当前所在的位置的行的行尾插入 |
s |
将光标当前所在的位置的字符删除并插入 |
S |
将光标当前所在的位置的行删除并插入 |
注:此模式下插入后,进入插入模式,可以进行编写,按Esc退出此模式

三.退出模式
1、退出模式
命令 |
功能 |
:q |
在文件内容没有被改变时可用此方式退出,仅退出的方式 |
:wq |
在文件内容发生改变时可用此方式退出,是退出并保存的方式 |
:q! |
在文件内容发生改变,但不想保存时使用,强制退出不保存的方式 |
:wq! |
在对只读文件的更改内容时使用,但此只读文件必须是当前用户的文件(超级用户除外),强制退出保存的方式 |
