vim使用收藏

来源:互联网 发布:mac系统文件夹在哪 编辑:程序博客网 时间:2024/06/01 16:25
移动:
   h、j、k和l键将光标分别向左、下、上和右侧移动

·  按0(零)跳到行首,$跳到行末

·  <CTRL>F 和<CTRL>B向前后一次移动一整页

·  下一个单词的第一个字母,按w键。到下一个单词的最后一个字母,按e键。移动到前一个单词的第一个字母,按b键

·  使用大写的单词移动命令在长单词之间跳跃移动。W跳到下一个长单词的第一个字母,E跳到最后一个字母,B移动到前一个单词的第一个字母

·   输入":q"可以退出vi

·  退出而不保存修改,输入":q!"

·  按下"Q"键,就可以进入ex模式。这时,你会看见一个提示符:

·  用G跳至特定行。要跳到文件的第一行,输入1G。注意G 是大写字母。

·  搜索某个特定字符串模式在文件中的位置,输入"/<regexp>" 然后回车

·  向下寻找,按"n"。要继续向上寻找,输入"N"


删除:
:%s/r//g 删除DOS方式的回车^M 
:%s= *$== 删除行尾空白 

:%s/^(.*)n1/1$/ 删除重复行 

:%s/^.{-}pdf/new.pdf/ 只是删除第一个pdf 

:%s/<!--_.{-}-->// 又是删除多行注释(咦?为什么要说「又」呢?) 

:g/s*^$/d 删除所有空行 :这个好用有没有人用过还有其他的方法吗?
:g!/^dd/d 删除不含字符串'dd'的行 
:v/^dd/d 同上 (译释:v ==&nbspg!,就是不匹配!) 

:g/str1/,/str2/d 删除所有第一个含str1到第一个含str2之间的行 


:v/./.,/./-1join 压缩空行 
:g/^$/,/./-j 压缩空行 

ndw 或&nbspndW 删除光标处开始及其后的&nbspn-1 个字符。 
d0 删至行首。 
d$ 删至行尾。 
ndd 删除当前行及其后&nbspn-1 行。 
x 或&nbspX 删除一个字符。 
Ctrl+u 删除输入方式下所输入的文本。 
^R 恢复u的操作 
J 把下一行合并到当前行尾 
V 选择一行 
^V 按下^V后即可进行矩形的选择了 
aw 选择单词 
iw 内部单词(无空格) 
as 选择句子 
is 选择句子(无空格) 
ap 选择段落 
ip 选择段落(无空格) 
D 删除到行尾 
x,y 删除与复制包含高亮区 

dl 删除当前字符(与x命令功能相同) 
d0 删除到某一行的开始位置 
d^ 删除到某一行的第一个字符位置(不包括空格或TAB字符) 
dw 删除到某个单词的结尾位置 
d3w 删除到第三个单词的结尾位置 
db 删除到某个单词的开始位置 
dW 删除到某个以空格作为分隔符的单词的结尾位置 
dB 删除到某个以空格作为分隔符的单词的开始位置 
d7B 删除到前面7个以空格作为分隔符的单词的开始位置 
d) 删除到某个语句的结尾位置 
d4) 删除到第四个语句的结尾位置 
d( 删除到某个语句的开始位置 
d) 删除到某个段落的结尾位置 
d{ 删除到某个段落的开始位置 
d7{ 删除到当前段落起始位置之前的第7个段落位置 
dd 删除当前行 
d/text 删除从文本中出现“text”中所指定字样的位置, 
一直向前直到下一个该字样所出现的位置(但不包括该字样)之间的内容 
dfc 删除从文本中出现字符“c”的位置,一直向前直到下一个该字符所出现的位置(包括该字符)之间的内容 
dtc 删除当前行直到下一个字符“c”所出现位置之间的内容 
D 删除到某一行的结尾 
d$ 删除到某一行的结尾 
5dd 删除从当前行所开始的5行内容 
dL 删除直到屏幕上最后一行的内容 
dH 删除直到屏幕上第一行的内容 
dG 删除直到工作缓存区结尾的内容 
d1G 删除直到工作缓存区开始的内容

J  合并两行
* 高亮本文件中光标所在的所有单词

整体缩进多段代码:选中一段代码,< 或 > 或 2< 或 3> ……