vi常用移动,复制,删除命令

移动命令

定位行

ctrl+f向下翻页
ctrl+b向上翻页
ctrl+e向下滚动1行
ctrl+y向上滚动1行

gg跳转至文档第一行第一个单词
G跳转至文档最后一行第一个单词
4G,跳转到第4行
:4,跳转到第4行

H跳转至屏幕第一行第一个单词
5H跳转至屏幕第5行第一个单词
L跳转至屏幕最后一行第一个单词
5L跳转至屏幕倒数第5行第一个单词
M跳转至屏幕中间一行第一个单词
z,return当前行作为屏幕最顶行
7,z,return第7行作为屏幕最顶行
z-当前行作为屏幕最低端行
7,z,-第7行作为屏幕最低端行

+跳转到下一行开头
return跳转到下一行开头
-跳转到上一行开头
V选中一行

定位列

h往左移动
l往右移动
j往下移动
k往上移动

0跳转至行首
$跳转至行尾
^跳转至行首非空白处
g_跳转至行尾非空白处

w下一单词头(字母数字下划线认为是一个单词,其他为分隔符,步长为变量)
W下一单词头(空白符之外认为是一个单词,空白符为分隔符,步长为语句)
e下一单词尾
E下一单词尾
b本单词第一个字符或者上一单词第一个字符
B本单词第一个字符或者上一单词第一个字符

定位匹配

:/XXX,n,向下匹配XXX,支持正则
:/XXX,N,向上匹配XXX,支持正则
:?XXX,n,向上匹配XXX,支持正则
:?XXX,N,向下匹配XXX,支持正则
%,匹配括号,焦点定位至对称的括号上,比如"(“和”)“互相跳转,”{“和”}“互相跳转,”[“和”]"互相跳转
*往下匹配统一作用域的变量
#往上匹配统一作用域的变量
f,X,定位至X字符
F,X,反向定位X字符
t,X,定位至X字符前一字符
T,X,反向定位X字符后一字符

复制命令

y是yank的意思

yy复制当前行
3yy复制3行(复制3次,当前行及其后面2行)
:2,5y复制第2至第5行

yw复制光标至当前单词尾
3yw复制3个单词(复制3次,当前单词和后面2个)

yG复制当前行至文档尾部
5yG复制当前行至指定行或指定行到当前行(5是起始行号或结束行号,假如当前在第2行,则复制第2行至第5行的内容,假如当前在第7行,则复制第5行至第7行的内容)

y0复制行首至光标
y$复制光标至行尾
y^复制行首非空白处至光标
yg_复制光标至行尾非空白处

yfX复制至X字符
yFX反向复制至X字符
ytX复制至X字符前一字符
yTX反向复制至X字符后一字符
可视化环境v+ j/k/h/l选择后,y命令可以复制选中的块

删除

x往后删除字符
X往前删除字符

dd删除当前行
3dd删除5行(删除3次,当前行和后面2行)
:2,5d删除第2至第5行

dw删除光标至当前单词尾
3dw删除3个单词(删除3次,当前单词和后面2个)

dG删除当前行至文档尾部
5dG删除当前行至指定行或指定行到当前行(5是起始行号或结束行号,假如当前在第2行,则删除第2行至第5行的内容,假如当前在第7行,则删除第5行至第7行的内容)

d0删除行首至光标
d$删除光标至行尾
d^删除行首非空白处至光标
dg_删除光标至行尾非空白处

dfX删除至X字符
dFX反向删除至X字符
dtX删除至X字符前一字符
dTX反向删除至X字符后一字符
可视化环境v+ j/k/h/l选择后,d命令可以删除选中的块

写入

i光标处写入数据
3iXXX,esc,光标处写入3次XXX
a光标往后移动1步并写入数据
o光标下1行新增1行并移动至行首
3o,esc,光标下1行新增3行并移动至第3行首
O焦点上1行新增1行并移动至行首
“>>“当前行右移
"<<"当前行左移
?/XXX/YYY/g替换当前行的XXX为YYY
:%s/XXX/YYY/g替换文档中的所有XXX为YYY
:5,8s/XXX/YYY/g替换第5到8行的XXX为YYY
J当前行合并下一行
p粘贴
u撤销
ctrl+r重做上一动作
.重复上一动作
@:重复上一次shell命令
gg=G格式化整个文件
可视化模式选中区域,=格式化选中部分

文件

:%!xxd十六进制查看文件
:%!xxd -r文本形式查看文件
:f显示当前文件名和光标位置
:f newFileName重命名当前文件为newFileName
:r fileName将fileName的内容写入当前行后
:3 r fileName将fileName的内容写入第三行后
:set nu 显示行号
:set autoindent自动缩进
:set ignorecase搜索时不区分大小写
:4!!awk ‘{print “New text”,$0}’
:sp filename新建文件并同窗口上下显示
ctrl+w,j/k上下切换同窗口的文件

ctrl+r,0插入模式下粘贴剪贴板最后一次内容
ctrl+r,1插入模式下粘贴剪贴板倒数第二次内容
ctrl+h 插入模式下向前删除一个字符
ctrl+w 插入模式下向前删除一个单词
ctrl+u插入模式下删除至行首

命令对照表

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值