linuxvi指令选则从某⾏到某⾏注释,详解linuxvi命令⽤法
功能最强在的编辑器——vi
vi是所有UNIX系统都会提供的屏幕编辑器,它提供了⼀个视窗设备,通过它可以编辑⽂件。当然,对UNIX系统略有所知的⼈,
或多或少都觉得vi超级难⽤,但vi是最基本的编辑器,所以希望读者能好好把它学起来,以后在UNIX世界⾥必将畅⾏⽆阻、
游刃有余,因为其他⼏种⽂本处理器并⾮UNIX标准配备。说不定别⼈的Linux机器没安装joe或pico,如果您不会vi,那您可能就没辄了。vi的基本概念
基本上vi可分为三种操作状态,分别是命令模式(Command mode)、插⼊模式(Insert mode)和底线命令模式(Last line mode),
各模式的功能区分如下:
1. Comand mode:控制屏幕光标的移动,字符或光标的删除,移动复制某区段及进⼊Insert mode下,或者到Last line mode。
2. Insert mode:唯有在Insert mode下,才可做⽂字数据输⼊,按Esc等可回到Comand mode。
3. Last line mode:将储存⽂件或离开编辑器,也可设置编辑环境,如寻字符串、列出⾏号等。
不过可以把vi简化成两个模式,即是将Last line mode也算⼊Command mode,把vi分成Command 和Insert mode。
vi的基本操作
?进⼊vi
在系统提⽰符号输⼊vi及⽂件名称后,即可进⼊vi全屏幕编辑画⾯:
$ vi testfile
有⼀点要特别注意,就是您进⼊vi之后是处于“Command mode”下,您要切换到Insert mode才能输⼊⽂字。
初次⽤vi的⽤户都会想先⽤上下左右键移动光标,结果电脑⼀直叫,把⾃⼰⽓个半死,所以进⼊vi后,先不要乱动,
转换⼊Insert后再说。?切换⾄Insert mode编辑⽂件在Command mode下按‘i’、‘a’或‘o’三键就可进⼊Insert mode。
这时候您就可以开始输⼊⽂字了。
i: 插⼊,从⽬前光标所在之处插⼊所输⼊的⽂字。
a: 增加,⽬前光标所在的下⼀个字开始输⼊⽂字。
o: 插⼊新的⼀⾏,从⾏⾸开始输⼊⽂字。
?Insert的切换→Command mode,按Esc键
您⽬前处于Insert mode,您就只能⼀直打字。假如您发现打错字了,想⽤光标键往回移动,将该字删除,
就要按ESC键转换回Command mode,再删除⽂字。
?离开vi及存⽂件
在Command mode下,可按冒号“:”键⼊⼊Last line mode,例如:
:w filename (输⼊“w filename”,将⽂章存⼊指定的⽂件名filename)
:wq (输⼊“wq”,因为进⼊之时已经指定⽂件名testfile,所以会写⼊testfile并离开vi)
:q! (输⼊“q!”,强制离开并放弃编辑的⽂件)
Command mode功能键列表
在介绍command mode指令的时后,指令后⾯加上“常⽤”字眼的功能键,表⽰⽐较常⽤的vi指令,
请读者您⼀定要学会、记住。
(1)I、a、o切换进⼊Insert mode。[超级常⽤]
(2)移动光标
vi可以直接⽤键盘上的光标键来上下左右移动,但正规的vi是⽤⼩写英⽂字母h、j、k、l,分别控制光标左、下、上、右移⼀格。
按Ctrl+B:屏幕往后移动⼀页。[常⽤]
按Ctrl+F:屏幕往前移动⼀页。[常⽤]
按Ctrl+U:屏幕往后移动半页。
按Ctrl+D:屏幕往前移动半页。
按 0 (数字零):移动⽂章的开头。[常⽤]
按 G:移动到⽂章的最后。[常⽤]
按 w:光标跳到下个word的开头。[常⽤]
按 e:光标跳到下个word的字尾。
按 b:光标回到上个word的开头。
按 $:移到光标所在⾏的⾏尾。[常⽤]
按 ^:移到该⾏第⼀个⾮空⽩的字符。
按 0:移到该⾏的开头位置。[常⽤]
按 #:移到该⾏的第#个位置,例:51、121。[常⽤]
(3)删除⽂字
x:每按⼀次删除光标所在位置的后⾯⼀个字符。[超常⽤]
#x:例如,6x 表删除光标所在位置的后⾯6个字符。[常⽤]
X:⼤字的X,每按⼀次删除光标所在位置的前⾯⼀个字符。
#X:例如,20X 表删除光标所在位置的前⾯20个字符。
dd:删除光标所在⾏。[超常⽤]
#dd:例如,6dd表删除从光标所在的该⾏往下数6⾏之⽂字。[常⽤]
(4)复制
yw:将光标所在处到字尾的字符复制到缓冲区中。
(想在和#x、#X的功能相反)
p:将缓冲区内的字符粘贴到光标所在位置(指令‘yw’与‘p必须搭配使⽤)。yy:复制光标所在⾏。[超常⽤]
p:复制单⾏到您想粘贴之处。(指令‘yy’与‘p’必须搭配使⽤)
#yy:如:6yy表⽰拷贝从光标所在的该⾏往下数6⾏之⽂字。[常⽤]
p:复制多⾏到您想粘贴之处。(指令‘#yy’与‘p’必须搭配使⽤)
“ayy:将复制⾏放⼊buffer a, vi提供buffer功能,可将常⽤的数据存在buffer “ap:将放在buffer a的数据粘贴。
“b3yy:将三⾏数据存⼊buffer b。
“b3p:将存在buffer b的资料粘贴
(5)取代
r: 取代光标所在处的字符:[常⽤]
R:取代字符直到按Esc为⽌。
(6)复原(undo)上⼀个指令
u:假如您误操作⼀个指令,可以马上按u,回复到上⼀个操作。[超常⽤]
.: .可以重复执⾏上⼀次的指令。
(7)更改
cw:更改光标所在处的字到字尾$处。
c#w:例如,c3w代表更改3个字。
(8)跳⾄指定⾏
Ctrl+G:列出光标所在⾏的⾏号。
#G:例如,15G,表⽰移动光标⾄⽂章的第15⾏⾏⾸。[常⽤]
Last line mode下指令简介
读者您要使⽤Last line mode之前,请记得先按Esc键确定您已经处于Command mode下后,再按冒号“:”或“/”或“?”
三键的其中⼀键进⼊Last line mode。
1.列出⾏号
set nu: 输⼊“set nu”后,会在⽂章的每⼀⾏前⾯列出⾏号。
2.跳到⽂章的某⼀⾏
#:井号代表⼀个数字,在Last line mode提⽰符号“:”前输⼊数字,再按Enter就会跳到该⾏了,
如:15[Enter]就会跳到⽂章的第15⾏。[常⽤]
3.寻字符串linux系统vim编辑器
/关键字:先按/,再输⼊您想寻的字,如果第⼀次的关键字不是您相尽可能的,可以⼀直按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,

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。