一.vim的三种工作模式
1.一般模式:a.光标移动、查找与替换 。
b.删除字符,删除整行。
c.复制整行,粘贴整行。
例:从一般模式到编辑模式(i,a,o,(插入)r(替换))
2.编辑模式:以插入或替换来编辑文件内容。
例:从编辑模式到一般模式(Esc),从一般模式到命令模式(:)。
3.命令模式:读取/保存文件 设置行号 退出vim 其他额外功能。
例:从命令模式到一般模式(Esc)。
二、一般模式下移动光标
h或者←(光标向左移动一个字符)
j或者↓(光标向下移动一个字符)
k或者↑(光标向上移动一个字符)
l或者→(光标向右移动一个字符)
Ctrl+f或者PgDn(屏幕向文件尾移动一页)
Ctrl+h或者PgUp(屏幕向文件头移动一页)
n空格(按下数字n然后按空格,则光标向右移动n个字符,如果该行字符数小于n,则光标继续从下一行开始向右移动,一直到n.
o或者Home(移动到本行行首)
$或者End(移动到本行行尾)
H(光标移到当前屏幕的最顶行)
M(光标移到当前屏幕的中央那行)
L(光标移到当前屏幕的最底行)
G(光标移到文本的最末行)
nG(光标移到文本的第n行)
gg(光标移到文本的最首行)
n回车(光标向下移动n行)
三、x、X(x为向后删除一个字符,X为向前删除一个字符)
nx(向后删除n个字符)
dd(删除光标所在的那一行)
ndd(删除光标所在的向下n行)
d1G(删除光标所在行到第1行的所有数据)
dG(删除光标所在行到末行的所有数据)
yy(复制光标所在的那一行)
nyy(复制光标所在行开始的向下n行)
p,P(p将复制的数据从光标下一行开始粘贴,P则从光标上一行粘贴)
y1G(复制光标所在行到第1行的所有数据)
yG(复制光标所在行到末行的所有数据)
J(将光标所在行与下一行到的数据结合成一行)
u(还原过去的操作)
Ctrl+r(重复上一个操作)
.(重复前一个操作)
四、一般模式下查找与替换
/word(向光标之后寻找名为word的字符串,当找到第一个word后,按下"n”继续查找后一个,按下“N”,反方向查找下一个)。
?word(向光标之前寻找名为word的字符串,当找到第一个word后,按下“n"继续查找后一个,按下"N",反方向查找下一个)。
:n1,n2s/word1/word2/g(在n1和n2行之间查找word1字符串并替换为word2)
:1,$s/word1/word2/g(从第一行到最末行,查找word1并替换成Word2)
:1,$s/word1/word2/gc(在第一行和最末行之间查找Word1,替换为Word2之前需要用户确认)
五、从一般模式进入编辑模式
i(在光标前插入字符)
I(在光标所在行的行首插入字符)
a(在光标后插入字符)
A(在光标所在行的行末插入字符)
o(在光标所在行下插入新的一行)
O(在光标所在行上插入新的一行)
r(替换光标所在的字符,只替换一次)
R(一直替换光标所在的字符,直到按下Esc键)
六、命令行模式功能
1.保存文件
2.退出文件
3.读入外部文件
4.设置行号等
:v 保存文件
:wl 如果文件属性为只读时,强制保存。
:q 退出Vin
:ql 强制退出Vin,不管编辑还是为编辑都不保存退出
:wq保存之后退出
:el 将文档还原成最原始状态
ZZ 等价于:wq
:w[filename] 将文档另存为filename
:r[filename] 在光标所在行的下面读入filename文档的内容
:set nu 在每行的行首设置行号
:set nonu 取消行号
:n1,n2 w [filename] 将n1到n2行的内容另存为filename文件中
:! command 暂时离开 vim,执行某个Linux命令,
例: :! ls/home暂时列出/home下的文件,然后会提示按回车返回vim