您的位置:首页 > 运维架构 > Linux

linux基础命令之:vi模式下查找和替换

2018-02-06 15:33 429 查看
转自:http://blog.csdn.net/bananasssss/article/details/52574115
参考:http://blog.csdn.net/erhei0317/article/details/52631942

一字符的替换及撤销Undo操作
二快速缩进及调整文本位置
三字符查找
四查找与批量替换

一、字符的替换及撤销(Undo操作)

-ChangeDeleteYank(copy)
Line(一行)ccddyy
Letter(字母)cldlyl
Word(单词)cwdwyw
命令功能
r+<待替换字母>将游标所在字母替换为指定字母
R随光标移动,连续替换,直到按下Esc
cc替换整行,即删除游标所在行,并进入插入模式
cw替换一个单词,即删除一个单词,并进入插入模式
C(大写)替换游标以后至行末
~反转游标所在字母大小写
u{n}撤销一次或n次操作
U(大写)撤销当前行的所有修改
Ctrl+rredo,即撤销undo的操作

二、快速缩进及调整文本位置

命令功能
>>
普通模式下,整行将向右缩进
<<
普通模式下,整行向左回退
:ce(center)命令行模式下,使本行内容居中
:ri(right)命令行模式下,使本行文本靠右
:le(left)命令行模式下,使本行内容靠左
普通模式下输入
:
进入命令行模式下对shiftwidth值进行设置可以控制缩进和回退的字符数 
:set shiftwidth?
或者
:set sw?

三、字符查找

命令功能
/text往后搜索text
?text往前搜索text
n搜索上一次同样的内容
N往前(相对)搜索相同的内容
\*
寻找游标所在处的单词
\#
同上,但 
\*
 是向前(上)找,#则是向后(下)找
g\*
\*
 ,但部分符合该单词即可
g\#
\#
 ,但部分符合该单词即可

四、查找与批量替换

命令功能
:s/表示通过sed命令进行查找替换
:s/i/-将本行的第一个i替换为-
:s/i/-/g最后的一个g表示替换该行的所有i
:1,10s/i/-/g替换1-10行所有的i为-
:1,$s/i/-/g末尾行用$表示到文件末尾
五:other在使用vi有时会想直接复制一行数据,然后粘贴一行或者直接删除一行数据复制一行数据的方法把光标放到要复制的一行前面,然后按两下yy字母键然后把光标放到要复制到的地方去,按键盘的p字母键删除一行是把光标移动到要删除的一行上,按两下dd键下面是相关键的说明:x,X  : 在一行中,x为向后删除一个字符(相当于del键),X为向前删除一个字符(相当于backspace键)。
dd   : 删除光标所在的那一整行。
ndd  : n 为数字。从光标开始,删除向下n列。
yy   : 复制光标所在的那一行。   
nyy  : n为数字。复制光标所在的向下n行。
p,P  : p 为将已复制的数据粘贴到光标的下一行,P则为贴在光标的上一行。
u    : 复原前一个操作
CTRL + r : 重做上一个操作。
小数点'.': 重复前一个动作。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: