在linux系统中,一切皆文件。配置网卡的相关信息只需要编辑网卡的配置文件,即可完成网卡的各种属性的配置;配置各种服务只需编辑服务的配置文件;如是而已。因此,学会一款编辑器对于学习linux系统是非常重要的。vim就是一款功能强大的文本编辑器。
一)进入vim
在命令行里输入:vim FileName 就可以进入vim编辑器。vim可以自动帮你载入所要编辑的文件或是开启一个新文件。
二)vim的三种模式
编辑模式--也称命令模式(在此模式下可完成对文件内容的删除,复制,粘贴,移动);
输入模式--向文件中写内容;
末行模式--(可执行shell脚本);
模式之间的转换:
编辑模式--输入i,o,a,c-->输入模式--Esc-->编辑模式;
编辑模式--:-->末行模式--Esc-->编辑模式;
i:insert--在当前光标处前面插入;
I:在当前光标所在行的行首插入;
a:append--在当前光标处后面插入;
A:在当前光标所在行的行尾插入;
o:光标所在行的下方打开一个新行;
O:光标所在行的上方打开一个新行;
三)所用到的一些指令
末行模式下输入:wq--保存退出;
q --不保存退出;
q!--强制退出;
qall--全部退出;
编辑模式下光标的移动:
h:左;l:右
j:下;k:上(可与数字合用,eg:2h--左移2个字符;
单词间跳转:
w:单词的词首;e:词尾跳转;
(:向前一句;):向前一句;
{:向前一段;}:向后一段;
0:绝对行首;$:绝对行尾;
^:跳到行首的第一个非空白字符;
行间跳转:
G:最后一行行首;(与数字连用10G--第十行);
也可以在末行模式下输入:12--跳转到第12行;
翻屏:
ctrl+f:相当于空格,向下翻一屏;
ctrl+b:向上翻一屏;
ctrl+d:向上半屏;
ctrl+u:向下半屏
在编辑模式下输入c--修改,在转换到输入模式下,先删一部分;
C:删除光标处到行尾的内容并转到输入模式;
cc:删除一行;
ncc:删除n行;
删除字符:
x:删除光标所在处的字符;
nx:删除光标所在处的后n个字符;
X:向前删;
d:删除
d^:删除光标所在处到行首的所有字符;
d$:删除光标所在处到行尾的所有字符;
dd:删除一行;
ndd:删除n行;(最近一次的删除的内容放在vim的缓冲区当中;
替换:
r:将原来的字符替换--eg:5rA--光标所在处后5个字符换位A‘
R:进入替换模式;
撤销:
u:undo--撤销上一次操作;
#u:撤销最近的#次操作;
ctrl+r:撤销刚才的撤销操作;
重做:
:redo --重复上一条命令;
复制
y:复制
yy:复制一行;
y$:复制当前光标所在处到行尾的所有字符;
nyy:复制n行;
粘贴:
p:在光标所在行的下一行粘贴;
P:在光标所在行的上一行粘贴;
移动:借助于删除指令d和粘贴指令p完成字符的移动;
可视化模式:
v:按字符选取;
V:按行;
查找:
/:向下查找;
?:向上查找;
n:光标移到下面所匹配到的字符
N:光标移到上面所匹配到的字符;
末行模式下的替换:
:ADDR1,ADDR2/from/to/flags
flags:i:忽略大小写;g:匹配所有符合模式的字符串;
m,n--第m行到第n行;
1,$--第一行到最后一行;
.,$--当前行到最后一行;
.,+8--当前行到后8行;
1,$-1--第一行到倒数第二行;
%--全文;
打开多个文件:
:next --光标移到下一个文件
:last --光标移到最后一个文件
:qall --关闭全部打开的文件
:first--光标移到第一个文件
:prev --光标移到前一个文件
分割窗口:
ctrl+w,s --水平分割;
ctrl+w,v--垂直分割;
设定vim的工作属性:
显示行号:
:set nu
: set nonu --不显示行号;
:set ai --自动缩进;
:set noai--关闭自动缩进;
:syntax on|off --打开或关闭语法高亮;
:set hlsearch --搜索高亮
:set nohlsearch--关闭搜索高亮