vim编辑器——常用操作整理

注意:以下的操作都是在命令状态下进行的,不要进入插入状态了。参考这里

1.删除

dd        删除一行

ndd      删除以当前行开始的n行
dw       删除以当前字符开始的一个字符
ndw     删除以当前字符开始的n个字符
d$、D  删除以当前字符开始的一行字符
d)        删除到下一句的开始
d}       删除到下一段的开始
d回车      删除2行

2.复制粘贴

设置自动缩进:set smartindent
设置显示行号:set number 或 set nu set nonu为取消行号

co:copy   m:move

:9,15 copy 16  或 :9,15 co 16
:9,15 move 16  或 :9,15 m 16 

另存为:

光标移到起始行,输入 ma 
光标移到结束行,输入 mb 
然后:'a, 'b w filename   filename存在当前目录

当直接输入数字时,不需加‘号。

3.光标移动

向左向右移动:20h或向左箭头键20(<——),默认为1   20l或者向右箭头

向上向下移动:20j或者向上箭头键20+    20k或向上箭头键20+

n<space>  光标会向右移动这一行的 n 个字符。例如 20<space> 则光标会向后面移动 20 个字符距离。

n<Enter>  光标向下移动 n 行(常用)

$ 或功能键[End]   移动到这一行的最后面字符处(常用),这里的$在正则里面表示是结尾的意思

gg  移动到这个档案的第一行,相当于 1G 啊! (常用) 

4.其他常用

dd  删除正行   yy 复制正行  pp 粘贴正行 

x, X   在一行字当中,x 为向后删除一个字符 (相当于 [del] 按键), X 为向前删除一个字符(相当于 [backspace] 亦即是退格键) (常用)

p, P p  将复制的数据,粘贴在光标的下一行,P将复制的数据,粘贴到光标的上一行

d1G  删除光标所在行到第一行的所有数据

y1G  复制光标所在行到第一行的所有数据

dG  删除光标所在行到最后一行的所有数据

d$  删除光标所在处,到该行的最后一个字符

d0  删除光标所在的那个字符到该行行首的所有数据

u  撤销。(常用)

Ctrl + r 撤销的撤销。(常用)

5.区域选择 替换 搜索

/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,$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,表示只对搜索字符串的首次出现进行替换;

 g放在命令末尾,表示对搜索字符串的每次出现进行替换;

g 放在命令开头,表示对正文中所有包含搜索字符串的行进行替换操作

 



原文地址:https://www.cnblogs.com/kxdblog/p/4031603.html