Linux基本命令vim命令(⼀)
vim的三种⼯作模式
命令模式、输⼊模式和编辑模式的相互转换,如图
命令模式:使⽤ Vim 编辑⽂件时,默认处于命令模式。在此模式下,可以使⽤上、下、左、右键或者 k、j、h、l 命令进⾏光标移动,还可以对⽂件内容进⾏复制、粘贴、替换、删除等操作。
输⼊模式:在输⼊模式下可以对⽂件执⾏写操作。进⼊输⼊模式的⽅法是输⼊ i、a、o 等插⼊命令,编写完成后按 Esc 键即可返回命令模式。
编辑模式:如果要保存、查或者替换⼀些内容等,就需要进⼊编辑模式。编辑模式的进⼊⽅法为:在命令模式下按" :"键,Vim 窗⼝的左下⽅会出现⼀个" :"符号后,这时就可以输⼊相关的指令进⾏操作了。操作完按Enter键执⾏,指令执⾏后会⾃动返回命令模式。
使⽤Vim打开⽂件
为了避免误操作我们将/etc下的profile复制到/tmp下进⾏操作,命令如下:
[root@localhost /]# cp /etc/profile /tmp/profile.vim
使⽤vim 进⼊profile⽂件的命令模式
操作功能描述
vim profile.vim只是打开⽂件
打开⽂件后,直接定位指定⾏数处,
vim +20 /tmp/profile.vim
例如,打开 /tmp/profile.vim⽂件时直接进⼊第 20 ⾏
打开⽂件后,直接定位指定⾏数处,
vim +/future /tmp/profile.vim
例如,打开 /tmp/profile.vim⽂件时直接定位到"future"字符串所在⾏
打开⽂件后,接下来开始对⽂件进⾏操作。
进⼊输⼊命令模式
从命令模式进⼊输⼊模式可以按下 I、i、A、a 、O、o、等键来完成,不同的键只是光标所处的位置不同⽽已。当进⼊输⼊模式后,在 Vim 编辑窗⼝的左下⾓会出现"INSERT"标志,这就代表我们可⾏写⼊操作了,在vim中光标是停留在字符上的,例如在光标后⾯插⼊就是指在光标所在的字符的后⾯插⼊;
操
功能描述
作
i在当前光标所在位置插⼊输⼊的⽂本,光标后的⽂本相应向右移动
I在光标所在⾏的⾏⾸插⼊输⼊的⽂本,⾏⾸是该⾏的第⼀个⾮空⽩字符,相当于光标移动到⾏⾸执⾏ i 命
令
a在当前光标所在位置之后插⼊输⼊的⽂本
A在光标所在⾏的⾏尾插⼊输⼊的⽂本,相当于光标移动到⾏尾再执⾏ a 命令
o在光标所在⾏的下⾯插⼊新的⼀⾏。光标停在空的⾏⾸,等待输⼊⽂本
O在光标所在⾏的上⾯插⼊新的⼀⾏。光标停在空⾏的⾏⾸,等待输⼊⽂本
光标移动命令
在由命令模式中 Vim 提供了⼤量的光标移动命令,这些命令需要在命令模式下执⾏。
以字符为单位移动
在Vim中通过上、下、左、右⽅向键来移动光标,除此之外还可以通过以下按键来移动。
操作功能描述
h左移⼀个位置
j往下⼀⾏
k往上⼀⾏
l右移⼀个位置
以单词为单位移动
操作功能描述
w移动光标到下⼀个单词的单词⾸
b移动光标到上⼀个单词的单词⾸
e移动光标到下⼀个单词的单词尾
移动到⾏尾或者⾏⾸
操作功能描述
$将光标移⾄⾏尾
0 或 ^将光标移⾄⾏⾸
n$将光标移⾄当前光标所在⾏的之后 n ⾏的⾏尾
移动到⼀⾏的指定字符处
操
作
功能描述
fp光标定位到字符 p 处。f 命令有⼀个使⽤条件,即光标需在指定字符前
移动到匹配的括号处(%命令)
操
作
功能描述
% 将光标移动到与⼀个"("匹配的")"(对于 [] 和 {} 也是⼀样的处,需要将光标先定位在要匹配的符号处
移动到指定⾏处(nG 或 :n 命令)
操作功能描述
nG将光标快速地定位到指定⾏的⾏⾸
:n将光标快速地定位到指定⾏的⾏⾸
査指定字符串
操作功能描述
命令模式中输⼊"/ 要査的字符串", 再按⼀下回车键从光标所在⾏开始向下査指定的字符串
命令模式中输⼊"?要査的字符串", 再按⼀下回车键从光标所在⾏开始向上査指定的字符串
/^Path要査⼀个以Path 为⾏⾸的⾏
Path$要査⼀个以 Path 为⾏尾的
⾏
说明:如果匹配的字符串有多个,则可以按"n"键向下继续匹配査,按"N"键向上继续匹配査。如果在⽂件中并没有到所要査的字符串,则在⽂件底部会出现"Pattern not found"提⽰.,在査过程中需要注意的是,要査的字符串是严格区分⼤⼩写的,如果想忽略⼤⼩写,则输⼊命令 ":set ic";调
整回来输⼊":set noic"。如果在字符串中出现特殊符号,则需要加上转义字符"\"。常见的特殊符号有 \、*、?、\ $ 等。如果出现这些字符,例如,要査字符串"10$",则需要在命令模式中输⼊"/10\$"。
使⽤Vim进⾏替换
操作功能
x删除光标位置指定的字符
dd删除光标所在的⾏
u撤销最近的修改
U撤销对当前⾏上做的所有修改
r替换光标位置上的⼀个字符
R替换从光标位置开始的字符,同时改变vi到⽂本输⼊模式.(点)重复上⼀次的修改
%s/源字符串/替换的字符串/g替换整篇⽂档的字符串,例如: %s/root/liudehua/g 全⽂査"root",
然后替换成"liudehua"
替换起始处,替换结束处 s/源字符串/替
换的字符串/g 替换范围内的字符串,例如:10,20 s/root/liudehua/g 只替换从第 10 ⾏到第 20 ⾏的"root"
说明:按下"R"键替换后,Vim 编辑⽂件左下⾓会显⽰"REPLACE",进⼊替换状态。直到按 Esc 键才会退出替换;否则将⼀直处于替换状态。
使⽤ Vim 进⾏删除、粘贴、复制
操作功能
d删除指定位置的⽂本,并存到临时的缓冲区中。可以使⽤put操作符(p或P键)访问这个缓冲
区
dd删除整⾏,通过在前⾯加上数字来删除当前光标所在⾏下的多⾏
dG删除从光标所在⾏⼀直到⽂件末尾的全部内容
起始⾏,终⽌⾏
d删除指定范围的⾏,例如:删除第 1~3 ⾏,则输⼊":1, 3d",会提⽰"3 fewer lines"
y将指定位置的⽂本复制到临时缓冲区。可以使⽤put操作符访问这个缓冲区
yy复制单⾏,通过在前⾯加上数字来复制当前光标所在⾏下的多⾏
P将指定缓冲区的内容放到当前光标的位置之上
p将指定缓冲区的内容放到当前光标的位置之下
J将两⾏进⾏连接,使其成为⼀⾏
说明:在使⽤d删除时,此时被删除的内容并没有真正删除,都临时放在了内存中。将光标移动到指定位置处,按下"p"键,就可以将刚才删除的内容⼜粘贴到此处。在软件开发中可能需要将连续两⾏进⾏互换,就可以将上⾯的⼀⾏过"dd"键删除,再将光标移动到下⾯,通过"p"键将其重新粘贴,这样就能够达到两⾏互换位置的⽬的。
保存退出命令
操作功能描述
:
wq保存⽂件,退出vi编辑器
:w保存⽂件,但不退出vi编辑器
:q退出vi编辑器linux系统vim编辑器
:q!不保存⽂件,退出vi编辑器
ZZ保存⽂件,退出vi编辑器
说明:在对⽂件没有写权限的时候(显⽰ readonly)需要在命令后⾯加!表⽰强制退出,例如:"w!"或"wq!"就意味着强制保存或强制保存退出,但如果你是⽂件的所有者或者 root ⽤户,就可以强制执⾏;在保存时,如果要保留源⽂件,⽽另存为其他的⽂件,可以⽤"w新⽂件名",如"w
/tmp/shadow.vi"。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论