分类: LINUX
2015-04-06 02:16:06
学习linux,Vi编辑器必须熟练掌握。
Vi编辑器的三种模式:
1.命令行模式(command mode)
控制光标的移动,字符、字或行的删除。
2. 插入模式(Insert mode)
只有在Insert mode下,才可以做文字输入,按「ESC」键可回到命令行模式
3.底行模式(last line mode)
将文件保存或退出vi,或设置编辑环境。
首先,vi编辑器的格式:vi 文件名,若文件存在,则打开文件,若不存在,则创建文件。
for example
vi aaa,由于之前没有aaa文件,则创建一个名为aaa的空文件并打开,此时进入命令行模式,在命令行模式下,按一下i键,则进入插入模式,编辑完成之后,按键盘左上角ecs键,然后键入分号:(组合键),则进入底行模式,然后wq,即保存退出。
命令模式下的操作
h,j,k,l 分别控制光标的左,下,上,右移动。如果配合数字,例如,2j,则光标向下移动两行。
Ctrl+B:屏幕往后移动一页。
Ctrl+F:屏幕往前移动一页。
Ctrl+U:屏幕往后移动半页。
Ctrl+D:屏幕往前移动半页。
数字0,移动到行首。
g,移动到文章首
G,移动到文章最后一行行首,可以配合数字,例如10G移动光标至第10行行首
w,光标移动的下个word开头
e,光标移动的下个word结尾
b,光标移动到上个word开头
$, 光标移动到所在行的行尾
x,删除光标后面的一个字符
#x,例如,6x表示删除光标所在位置后面6个字符
dd,删除光标所在行
#dd:例如,10dd表删除从光标所在的该行往下数10行之文字
yy,复制光标所在行
数字yy,例如10yy,表示复制光标所在行往下10行内容(复制包含空白行)
p,粘贴到想粘贴之处
r,取代光标所在字符
u,恢复到上一个操作,防止误操作
底行模式
一定要记住,要进入底行模式,首先按Ecs键,也就是要先退出插入模式,进入命令行模式,然后再按冒号(:),此时才进入到底行模式。
底行模式下的操作
1,set nu 列出行号
2,数字,跳到某一行,例如10,然后按回车,则回到第10行
3,寻找字符串
关键字:先按/,再输入您想寻找的字,如果第一次找的关键字不是您相尽可能的,可以一直按n会往下寻找到您要的关键字为止。
?关键字:先按?,再输入您想寻找的字,如果第一次找的关键字不是您想要的,可以按n会往前寻找到您要的关键字为止。
4.取代字符串
1,$s/string/replae/g:在last line mode输入“1,$s/string/replace/g”会将全文的string字符串取代为replace字符串,
其中1,$s就是指搜寻区间为文章从头至尾的意思,g则是表示全部取代不必确认。
%s/string/replace/c:同样会将全文的string字符串取代为replace字符串,和上面指令不同的地方是,%s和1,$s是相同的功能,
c则是表示要替代之前必须再次确认是否取代。
1,20s/string/replace/g:将1至20行间的string替代为relpace字符串。
5.存文件
w:在last line mode提示符号“:”前按w即可将文件存起来。[超常用]
#,# w filename:如果您想摘取文章的某一段,存成另一个文件,可用这个指令#代表行号,例如30,50 w nice,
将您正在编辑文章的第30~50行存成nice这个文件。
6.离开
q:按q就离开,有时如果无法离开vi,可搭配“!:强置离开vi,如“q!”
qw:一般建议离开时,搭配w一起使用,如此离开时还可存文件
先学到这里