首页 > 代码库 > Vim操作总结

Vim操作总结

在terminal中出入vimtutor进入教程:

<ESC>键回到正常模式或撤销一个不想输入/部分完整的命令

h、j、k、l键分别移动光标←  ↓   ↑  →

 

按<ESC>键进入正常模式(normal)之后

:q!    退出并丢弃进入编辑器所做的任何改动

:wq    保存文件并退出

 

i      插入文本(光标所指字符前插入)

a    添加文本(光标所指字符后添加)

 

x       删除光标所在的字符

dw   删除从光标开始到单词结束以及后面的空格/从当前光标删除至下一个单词

de    删除从光标开始到单词结束

d$    删除从光标开始到行末

dd    删除一行

number+dd  删除number行

number+w    向后移动number个单词,光标在单词开头

number+e    向后移动number个单词,光标在单词末尾

(number 默认为1)

0    光标移动到行首

d+number+w(word)        执行number次dw

d+number+e

 

u    撤销命令

 

p    将最后一次删除的内容置入光标之后

 

r+替换字符  替换光标所指的字符

 

ce   改变从光标开始到单词结束的部分

c+number+motion  改变number个motion范围,motion指w(word),$(一行到行末)等/实际与d$效果相同

 

ctrl+g    显示当前光标所在行位置以及文件状态信息

gg      光标跳转到文件的第一行

number+G    光标跳转到第number行(默认number是1,单独的G将会跳转到文件的第一行)

 

/string    正向查找字符串string

?string    逆向查找字符串string

查找后按键n表示继续想后查找,N表示想前查找;

ctrl+o表示返回之前查找到的位置,ctrl+i表示返回较新的查找位置

 

光标在任意一个括号处,按键%可以在配对的两个括号之间进行跳转

 

s/old/new      将光标所在的行中第一个匹配的old进行替换

s/old/new/g    将一行中的所有old替换为new

:#,#s/old/new/g 其中 #,# 代表的是替换操作的若干行中首尾两行的行号。

:%s/old/new/g       则是替换整个文件中的每个匹配串(gg get # ;  :1,#s/old/new/g)

:%s/old/new/gc    会找到整个文件中的每个匹配串,并且对每个匹配串提示是否进行替换。

 

:    光标移动到屏幕底部

:!   !表示允许执行外部shell命令

:!command 用于执行一个外部命令 command。

:!ls   表示执行外部命令ls显示结果

:w TEST  将当前文件以文件名TEST保存

:!rm TEST      删除TEST文件

 

按键v之后进行光标移动选中目标。

按键:后出现:‘<‘,‘>

按键w filename<回车>

效果是将选中的高亮部分保存进入filename文件中

高亮选中后可以进行不同的操作d、c等

 

:r filename    将文件中的内容插入光标处

:r  !ls     将外部的ls命令的结果插入光标处

 

o   光标下新的一行并进入插入模式

O  光标上开辟新的一行并进入插入模式

a  光标之后插入文本

A  光标所在行的末尾开始插入

e  光标位于下一个单词的末尾

w  光标位于下一个单词的起始字母

r+*  用*替换光标处的字符

R    连续替换之后的字母,进入替换模式

y    复制文本

p    粘贴文本

$    到行末

 

:set ic     设搜索的 ignore case

:set  noic     设置搜索忽略大小写

 

<TAB>    命令补全

:help command     查找command命令帮助

 

可以创建一个 vimrc 启动脚本文件用来保存您偏好的设置

 

Vim操作总结