替换
语法为 :[addr]s/源字符串/目的字符串/[option]
全局替换命令为::%s/源字符串/目的字符串/g
[addr] 表示检索范围,省略时表示当前行。
如:“1,20” :表示从第1行到20行;
“%” :表示整个文件,同“1,$”;
“. ,$” :从当前行到文件尾;
s : 表示替换操作
[option] : 表示操作类型
如:g 表示全局替换;
c 表示进行确认
p 表示替代结果逐行显示(Ctrl + L恢复屏幕);
省略option时仅对每行第一个匹配串进行替换;
复制(y),删除(d)一对( )、[ ]、{}中的内容
a、先让光标放在在 ( 上
b、按下y%---->此时内容已被选中
c、按下p,即可在指定位置粘贴内容
3、实现全选:
a、按下gg V G --> 即可全部选中(并且会高亮显示)
常见的set命令
:set num --显示行数
:set fileenconding --显示文件编码格式
:set hlsearch --设置高亮搜索
:nohlsearch --不高亮搜索
:set list ---显示换行符,制表符等
. :可重复前面的操作
u :可以撤销前面的操作
ctr + r: 重做
D(d$) : 可以直接删除到结尾
5j:可以向下移动5行
5k: 向上
v:可以按字符可视化选择
V:可以按照行进行选择
:5 可以直接到第5行
:split 将当前文件水平分成2屏
:vsplit 将当前文件垂直分成2屏
ctrl + w + h/j/k/l 在不同的窗口之间切换
ctrl + ww 也可以在窗口间切换
:e fileName ----> 在当前窗口,打开另外一个文件
ctl + 6 ----> 可以在不同的文件间进行切换
:E --->可以方便的切换目录查看文件
:ls ---->可以查看当前缓冲区中的文件
:buffer n ---->可以随意切换到一个缓冲文件
:bn ----> 下一个文件
:bp -----> 上一个文件
:He --->将当前窗口上下分屏(可以另外打开文件)
:Ve----->将当前窗口左右分屏(可以另外打开文件)
:Te------> 将当前窗口像浏览器一样分tab浏览
分屏之间的移动:
Ctrl + w, w 后一个
Ctrl + w, p 前一个
Ctrl + w, h 四个方向
Ctrl + w, i
Ctrl + w, k
Ctrl + w, l
关闭当前屏: Ctrl+w,c
关闭其他屏: Ctrl + w, o
guu ---> 把一行的文字变成全小写。或是【Vu】
gUU ---> 把一行的文件变成全大写。或是【VU】
v --->键进入选择模式,然后移动光标选择你要的文本,按【u】转小写,按【U】转大写
ga ---> 查看光标处字符的ascii码
g8 ---> 查看光标处字符的utf-8编码
在/etc/vimrc 或者 ~/.vimrc 中,设置对齐和tab建都为四个空格
set sw=4 # 设置对齐为4个字符
set ts=4 # 设置tab建为4个字符
set expandtab #可以将tab建设置为4个空格
对于已保存的文件,可以使用下面的方法进行空格和TAB的替换:
TAB替换为空格:
:set ts=4
:set expandtab
:%retab!
空格替换为TAB:
:set ts=4
:set noexpandtab
:%retab!
加!是用于处理非空白字符之后的TAB,即所有的TAB,若不加!,则只处理行首的TAB。
`. ----> 可以快速定位到最近一次修改的地方(并再进行编辑)
'. ----> 可以快速定位到最近一次修改的地方(不会再编辑)
set bomb? ----> 可以确定文件中是否带有bomb
set nobomb ----> 可以去掉文件中的BOM头
超强的命令
fa -----> 找到下一个是a的字符 (find)
3fa -----> 找到后面第3次出现a的字符
ta -----> 到a之前的字符(to)
dt< -----> 这样就可以删除标签之间的内容
y2/foo -----> 拷贝到2个foo之间的字符串
:set invlist ---->可以查看隐藏字符: $表示换行符; ^I表示制表符
:set nolist ---> 可以不显示隐藏字符
删除
指定删除多少行
:x,.d #从x行删除到当前行
:.,xd #从当前行删除到x行
:x,.+3d #从x行删除到当前行后第三行
:x,.-1d #从x行删除到当前行前一行
删除包含特定字符的行:
g/pattern/d
调换2个字符位置
xp: x剪切, p在光标后面粘贴,组合的效果就是调换位置
ddp: 交换上下两行的位置
网友评论