吐血整理--VI编辑器常用操作汇总(1),36岁老码农现身说法

【:q!】 不保存强制离开vi

【:wq】 保存后离开

【:wq!】 强制保存后离开

【:! command】 暂时离开vi到命令行下执行一个命令后的显示结果

【:set nu】 显示行号

【:set nonu】 取消显示行号

【:w newfile】 另存为

2、插入命令

i:插入光标前一个字符

I:插入行首

a:插入光标后一个字符

A:插入行末

o:向下新开一行,插入行首

O:向上新开一行,插入行首

移动光标

h:左移

j:下移

k:上移

l:右移

M:光标移动中间行

L:光标移动到屏幕最后一行行首

G:移动到指定行,行号 -G

{:按段移动,上移

}:按段移动,下移

Ctr-d:向下翻半屏

Ctr-u:向上翻半屏

gg:光标移动文件开头

G:光标移动文件末尾

3、删除命令

x:删除光标后一个字符,相当于del

X: 删除光标前一个字符,相当于Backspace

dd:删除光标所在行,n dd删除指定的行数D:删除光标后本行所有的内容,包括光标所在字符

4、撤销命令

u:一步一步撤销

ctr-r:反撤销

5、重复命令

.:重复上一次操作的命令

文本行移动

:文本行右移

<<:文本行左移

复制粘贴

yy:复制当前行,n yy 复制n行

p:在光标所在位置向下新开辟一行,粘贴

可视模式

v:按字符移动,选中文本

V:按行移动,选中文本可视模式可以配合d,y,>>,<< 实现对文本块的删除,复制,左右移动

替换

r:替换当前字符

R:替换当前行光标后的字符

3、区域选择 替换 搜索


/string  向光标之下寻找一个名称为string字符串

?string   向光标之上寻找一个名称为string字符串

n  正向查找,搜索出的string,可以理解成next

N  反向查找,搜索出的string,可以理解成Not next

n是从上到下,N是从下到上

v和V主要的是进行行选择,而Ctrl+v是进行的列选择,从灵活性上来说,ctrl+v更加的灵活一点

:n1,n2s/string1/string2/g  这里的n1是查找的开始行数,n2是查找结束的行数。【:2,7s/ddd/fff/g】在第2行,第7行之间,将ddd替换成fff

:1,$s/string1/string2/g   从第一行到最后一行寻找 string1 字符串,并将该字符串替换为 string2 !(常用)

:1

《一线大厂Java面试题解析+后端开发学习笔记+最新架构讲解视频+实战项目源码讲义》

【docs.qq.com/doc/DSmxTbFJ1cmN1R2dB】 完整内容开源分享

,$s/string1/string2/gc  从第一行到最后一行寻找 string1 字符串,并将该字符串替换为 string2 !且在替换前显示提示字符给用户确认 (confirm) 是否需要替换!(常用)

:s/vivian/sky/     替换当前行第一个 vivian 为 sky

:s/vivian/sky/g     替换当前行所有 vivian 为 sky

:n,$s/vivian/sky/   替换第 n 行开始到最后一行中每一行的第一个 vivian 为 sky

:n,$s/vivian/sky/g   替换第 n 行开始到最后一行中每一行所有 vivian 为 sky

n 为数字,若 n 为 .,表示从当前行开始到最后一行

:%s/vivian/sky/(等同于 :g/vivian/s//sky/) 替换每一行的第一个 vivian 为 sky

:%s/vivian/sky/g(等同于 :g/vivian/s//sky/g) 替换每一行中所有 vivian 为 sky

:s#vivian/#sky/# 替换当前行第一个 vivian/ 为 sky/

:%s+/oradata/apras/+/user01/apras1+ (使用+ 来 替换 / ): /oradata/apras/替换成/user01/apras1/

不加 g,表示只对搜索字符串的首次出现进行替换;

上一篇:【无标题】


下一篇:git文件管理与索引精心整理