一、vim的工作模式
1.命令模式
使用vim编译文本时默认处于命令模式。可通过上下左右或h、j、k、l命令移动光标,还可以对文本进行复制、粘贴、替换、删除等操作。
2.输入模式
进入输入模式的方法是输入i、a、o等插入命令,Esc键可返回命令模式
3.编辑模式
可进行保存、查找、替换等内容,进入方法为在命令模式中按":"键,指令执行完毕会自动返回命令模式。
二、进入vim
直接打开终端vim 后输入想要编辑的文件。
进入指定位置的方法:[zek@local]$ vim +20 /tmp/passwd可进入第二十行
[zek@local]$ vim + /my /tmp/passwd可进入第一个my位置。
三、vim的基本应用
1.插入命令
当进入输入模式中可通过不同的键来执行不同命令。
i:在当前光标所在位置插入随后输入文本。
I:在光标所在行的首行插入随后输入文本。
a:在当前光标所在位置之后插入随后输入文本。
A:在光标所在行的尾行插入,随后输入文本。
o:在光标所在行下面插入新的一行。
O:在光标所在行的上面插入新的一行。
2.光标移动命令
2.1以字符为单位
方法一:可用上下左右方向键进行移动。
方法二:h、j、k、l可分别代表上下左右。
2.2以单词为单位
w:将光标移到下一个单词词首。
b:将光标移到上一个单词词首。
e:将光标移到下一个单词词尾。
2.3移动到行尾或行首
$:将光标移动到行尾。
0或^:将光标移动到行首。
2.4移动到一行的指定字符处
f字符:移动到一行的指定字符处
例如:hello world 中可用fw将光标定位到w字符处。
f命令的使用条件:光标需要在指定字符前。
2.5移动到匹配的括号处
%:在匹配的括号中切换。
2.6移动到指定行
nG或:n 将光标移动到指定的行。
3.使用vim编辑
3.1查找指定字符串
/字符串:从光标所在行开始向下查找。
?字符串:从光标所在行开始向下查找。
:set ic:查找时忽略大小写。
如果指定的字符串有多个,可按n向下继续匹配,N:向上继续匹配。
例如/^zek:查找以字符串zek为首行的行。
/zek $ :查找以zek为行尾的行。
3.2替换
r:替换光标所在处的字符。
R:从光标所在处替换字符,Esc键结束。
替换范围内的字符串——:起始处,结束处 s/源字符串/替换字符串/g
替换整篇文章字符串——:%s/源字符串/替换字符串/g
3.3删除、复制、粘贴
x:删除光标处字符。
nx:从光标处删除n个字符。
dd:删除整行(在使用粘贴则为剪切)。
ndd:删除多行。
dG:删除从光标所在行到文件末尾的内容。
D:删除从光标所在处到行尾的内容。
:起始行,终止行d:删除范围内的行。
yy或Y:复制单行。
nyy或nY:复制多行。
p:粘贴到当前光标所在行下。
P:粘贴到当前光标所在行上 。
3.4撤销
u:撤销。
3.4.保存退出命令
w:保存不退出。
q:不保存退出。
!:强制操作。
wq:保存且退出。
wq!:强制保存退出。
四、vim进阶应用
1.vim配置文件
命令模式下输入:set nu可显示每一行行号。
:set nonu:取消行号。
:set backup:自动备份文件,默认是不备份。
:set nobackup:不自动备份文件。
:set all:可查看所有的设置参数。
上面都是在vim编辑器中临时生效的,如果想要永久生效可以把参数写到.vimrc配置文件中。
2.多窗口编辑
功能是可用vim同时打开两个文件,每个文件占一个窗口。
水平切割窗口——:sp/etc/shadow
垂直切割窗口——:vs/etc/shadow
3.区域复制
将光标移动到所需要复制的第一行处,然后按ctrl+v,就可以使用上下左右键进行区域选取。
选完之后按下y键然后把光标移动到目标位置处,按下p键即可完成区域复制。
4.定义快捷键
在指定范围内加#注释可以使用:“起始行,终止行s/^/#/g
取消注释:“起始行,终止行s/^#//g
可以看出例如注释命令太繁琐所以需要定义快捷键来代替。
:map 快捷键 执行指令——定义快捷键。
快捷键最好设置成ctrl+字母,在map命令时"^p"为ctrl+p。
同时按ctrl+V+P可生成"^p"。
5.在vim中与Shell交互
在vim中可在编辑模式下用!命令来访问Linux的Shell以进行操作。
命令格式——:!命令
6.文本格式转换
unix2dos和dos2unix命令可实现文本格式转换功能。
这两个命令需要自己手工安装,如果是VMware则加载安装ISO镜像。
7.vim宏记录
我们有时需要对某些地方进行相同个改动,但逐一进行太麻烦所以有了宏记录。
步骤1:在命令模式中将光标放到要修改字符处,按下qx键,其中q代表宏记录x代表给宏起的名字。
步骤2:将所要修改的地方修改完成后,按Esc键回到命令模式,在按q键退出宏记录模式。
步骤3:将光标移动到所需要修改的地方,然后执行x(宏名)命令。
8.ab命令
在vim中使用map定义快捷键,但如果定义的太多难以记忆,所以有了ab命令。
命令格式——:ab 替换符 原始信息
例如:ab lol [email protected]之后在任何地方输入lol在敲击任意字母符号,就会变成[email protected]
【参考书籍:细说Linux基础知识】