vi编辑器的三种模式的相互关系:
一般模式:光标移动、复制粘贴、查找替换等
常用的:
光标移动的方法:
Ctrl + f:屏幕向下移动一页,相当于[Page Down]按键
Ctrl + b:屏幕向上移动一页,相当于[Page Up]按键
0 或者 功能键[Home]:这是数字“0”:移动到这一行的最前面字符处
$ 或者 功能键[End]:移动到这一行的最后面字符处
G:移动到这个文件的最后一行
nG:n为数字。移动到这个文件的第n行。可配合 :set nu
gg:移动到这个文件的第一行,相当于1G
N[Enter]:n为数字,光标向下移动n行。
查找和替换
/word:向下寻找一个名称为Word的字符串,例如:要在文件内查找Leowen,就输入/Leowen即可。
?word:向上寻找一个字符串名称为Word的字符串
n:这个n是个英文按键。代表重复前一个查找的操作。例如:查找Leowen,按下n之后,就继续向下查找下一个名称为Leowen的字符串
,如果是?Leowen的话,就向上查找。N则正好和n相反
使用/word 配合n 及 N可以帮你重复找到一些关键字:
:n1,n2s/word1/word2/g:n1与n2为数字,在第n1和n2之间寻找word1这个字符串,并将该字符串替换为word2.
:1,$s/word1/word2/g:从第一到最后一行查找word1字符串,并将该字符串替换为word2.
:1,$s/word1/word2/gc:从第一行到最后一行查找word1字符串,并将该字符串替换为word2。且在替换前显示提示字符给用户确认 (confirm)是否需要替换。
删除、复制与粘贴
x,X:在一行字中,x向后删除一个字符(相当于[Del]按键),X向前删除一个字符(相当于[Backspace])
nx:n为数字,连续向后删除n个字符。
dd:删除光标所在的那一行
ndd:n为数字,删除光标所在的向下的n行
yy:复制光标所在的那一行
nyy:n为数字,复制光标所在的向下n行
p,P:p为将已复制的数据在光标下一行粘贴,P则为粘贴在光标上一行
u:复原前一个操作
[Ctrl] + r:重做上一个操作
一般模式切换到编辑模式:
i,I:进入插入模式(Insert mode):i为从目前光标所在处插入,I为在目前所在行的第一个非空格字符处插入
a,A:进入插入模式(Insert mode),a为从目前光标所在的下一个字符处开始插入,A为从光标所在行的最后一个字符处开始插入
o,O:这是英文字母o的大小写。o为在目前光标所在的下一行处插入新的一行;O为在目前光标所在处的上一行开始插入新的一行
r,R:进入替换模式(Replace mode):r只会替换光标所在的那一个字符一次;R会一直替换光标所在的文字,知道按下[Esc]键为止
[Esc]:退出编辑模式,回到一般模式中
一般模式切换到命令行模式:
:w:将编辑的数据写入硬盘文件中
:q:离开vi
:q!:如曾修改过文件,又不想存储,使用“!”为强制离开不想保存的文件
感叹号“!”在vi中经常具有“强制”的意思
:wq:保存后离开,若为”:wq!“则为强制保存后离开
vim编辑器:
块选择(Visual Block):当我们按下 v 或者 V 或者 [Ctrl] + v时,这个时候光标移动过的地方就会开始反白,这三个按键的意义如下:
v:字符选择,会将光标经过的地方反白选择
V:行选择,会将光标经过的行反白选择
[Ctrl] + v:块选择,可以利用长方形的方式选择数据
y:将反白的地方赋值起来
d:将反白的地方删除
回到 一般模式,按下”p“,可以将选择的块粘贴下来
vim下多文件编辑:
首先,使用vim后面接好几个文件来同时打开,相关的按键如下:
:n:编辑下一个文件
:N:编辑上一个文件
:files:列出目前这个vim的打开的所有文件
多窗口功能
分割窗口:
在命令行模式中输入”:sp{filename}“即可。那个filename可有可无,如果想要在新窗口启动另外一个文件,就加入文件名,否则仅输入 :sp时,出现的则是同一个文件在两个窗口间。
多窗口情况下的按键功能:
:sp[filename]:打开一个新窗口,如果有加filename,表示在新窗口打开一个新文件,否则表示两个窗口为同一个文件内容(同步显示)
[Ctrl] + w + (j 或者 ↓):按键的按法为:先按下[Ctrl]不放,再按下w后放开所有的按键,然后再按下 j (或者方向键 ↓),则光标移动到下方 窗口
[Ctrl] + w + (k 或者 ↑):同上,不过光标移动到上面的窗口
[Ctrl] + w + q:其实就是 :q 结束离开。例如我想要结束下方的窗口,那么利用[Ctrl]+w+↓移动到下方窗口后,按下: q或者[Ctrl]+w+q即可
vim的环境设置参数:
整个vim的设置值一般是放在 /etc/vimrc 这个文件中,不建议修改。可以自己建一个~/.vimrc文件来保存自己设置的值。
在这个文件中,最前面有没有冒号(:)效果都是一样的
vim常用命令示意图:
关于光标的位置:
参考资料:《鸟哥的linux私房菜--第三版》——第十章
如有写错或者理解错误的地方还请各位指正,蟹蟹!!