vim

hjkl:←↓↑→

w:向后移动到单词头,将标点符号视为分割,不包括第一个字符

e:像后移动到单词尾,不将标点符号视为分割,包括最后一个字符

b:向前移动到单词头,将标点符号视为分割

B:向前移动到单词头,不将标点符号视为分割

$:向后移动到行尾,包括最后一个字符

x:删除当前所在字符

X:删除当前所在前一个字符

i:当前位置下开始insert

a:当前后面一个位置开始insert

A:从当前行行尾开始insert

dw:删除当前字符开始的一个word

d$:删除从当前字符到行尾

d?:删除从当前字符到?返回的那个字符这一串

d空:删除整行

通过在前面加数字可以repeat这么多次

0:向前移动到行首

dd:删除整行

u:undo,可以undo U

U:对于刚刚操作的这一行,撤销从到他对他开始操作的所有步骤

Crtl+R:redo

前面被d掉的东西会暂时存储在p中,可以通过p取出

r?:将当前这个字符替换为?

ce:将当前字符到这个word结尾全部删除,并进入insert mode

c实际就是d然后进入insert mode

gg:移动到开头

G:移动到结尾

行号G:移动到这一行

/字符串:搜索这个字符串

n向前,N向相反方向

?与/正好相反

Crtl+O:向后返回到上一个位置,这里的位置是指所有的进行更改的地方和跳转的地方

Crtl+I正好相反

%:跳转到对应的另一半括号,若是不在括号上,这跳转到它后面的第一个括号对应的括号处

((%),(#,#)s/old/new(/g©):将这一行第一个old替换为new,/g使它替换所有,c使其对于每一个进行询问,%表示全file,#,#表示几行到几行,#是数字

:!命令:暂时返回到shell执行命令,再返回

:w Filename:保存(另存为到Filename)

v:选择,以开始v的地方作为起点,cursor的位置为终点

在选择后保存会只保存选择的这一段文本

:r filename:将file中的内容插入到光标后

o:在当前行下方插入一行并开始insert

O:在当前行上方插入一行并开始insert

e与a一般一起用

R:从cursor开始替换,直到ESC

v与w,b,e都差不多都是选择

y可以copy当前选择的,因此可以yw等等

通过p可以paste

d包括了y

可以通过:set 命令来调整vim的设置

如ic是不管大小写

hls是高亮搜索

is是实时搜索

通过在前面加no可以反向设置

:help可以获取帮助文档,会在上方打开,通过Ctrl+W可以切换窗口

:help 文档名 可以打开对应的帮助文档

通过修改.vimrc可以调整vim的设置

在命令中可以用tab补全,或者用Crtl+D来显示所有待选项


vim
https://lhish.github.io/project/vim/
作者
lhy
发布于
2024年6月30日
许可协议