Vim贴士集锦

来源:互联网 发布:win10 ubuntu 分区 编辑:程序博客网 时间:2024/05/05 12:32

前言

我使用vim也有一段时日了,但依然还有许多强大的功能没有用上。中间也曾尝试过emacs和sublime,可能是先入为主了,总是感觉有些别扭,又回到vim。我把自己平时发现的一些使用的细节记录在此帖里,供自己与诸君翻阅,持续更新。

快捷键拾遗

  • 数字0,普通模式下快速移动到行首

-复制粘贴

shCtrl+V可视模式选择复制区域2y #追加到2号寄存器*y #复制到系统寄存器+y #复制到剪切板2Y #覆盖到2号寄存器#注意大小写啊,一个是追加,一个是重写*p#将*寄存器的内容粘贴出来

ex命令

sh:m,n s/pattern/dest/g#将m-n行里地pattern换为dest:% s/pattern/dest/g#%代表全局:map#可以查看配置的快捷键键位,配上了airline之后再也不用担心记不住键位了

缓冲区

基本

shell:ls #查看打开的所有缓冲区

缓冲区的跳转

vim有多个缓冲区,可使用它们打开不同的文件并跳转

shell:bnum #跳到第num号缓冲区:bdelete num #关闭第num号缓冲区:bn(next) #跳到下一个缓冲区:bp(previous) #跳到上一个缓冲区

缓冲区间的复制粘贴

shell:m,ny num #通过复制到指定寄存器来完成

缓冲区的保存

:wall #保存所有缓冲区的内容

寄存器

vim共有9个寄存器,可以通过

:reg 或者:dis#查看所有寄存器信息

数字寄存器会根据你做的操作而改变,但是字母寄存器则不会,所以若长期需要复制某内容,保存在字母寄存器中

寄存器的规则

数字寄存器有十个,分别是:"0,"1,"2... "9(注意:数字前有个双引号),寄存器"0保存上一次复制(y)操作的文本,"1到"9寄存器保存最近9次删除的文本行(注意这个“行”字),"1保存的内容是最最近一次删除的内容(也就是说最后一次执行删除命令保存的内容)"2保存的是倒数第二次删除的内容,依此类推,直到"9,如果又有新的操作,那么"9的内容将会被"8的内容替换,先前”9的内容将被丢弃。
"":无名寄存器,p命令粘贴的内容,保存最近一次删除或复制的内容。
“-:(-是个减号)小删除寄存器(small delete register),前面说过要您注意这个”行“字,也就是说并不是所有删除的文本都会保存在数字寄存器中,如果你删除的只是一个单词或字母: dw或者x,那么这个单词并不会保存在"1寄存器中,而是保存在"-寄存器里面。所有不包含换行符的删除都会保存在此寄存器中。
“*:系统寄存器
(寄存器规则部分内容转载@_zhijun新浪博客)

寄存器的操作

ayy#复制改行到a寄存器中#记住字母寄存器为大写时是追加模式:m,ny num #将m至n行的内容复制到num号寄存器"ap #将a寄存器内容粘贴到光标处

像变量一样操作寄存器

寄存器是特殊的变量,只要在寄存器名字前面加一个@就可以操作了

js:let @1="" #清空1号寄存器:let @1=@2 :echo @1+4

可视化模式

可视化模式下的插入删除

Ctrl+V进入可视化模式移动光标选择行和区域删除:选中区域后按d即可插入:选中区域后按I(大写),插入字符后按ESC

插件

插件管理

我使用Vundle插件来管理插件

安装插件
shvim ~/.vimrc.bundles//insert the followBundle "githubUsername/pluginName"//quit & vim:BundleInstall
卸载插件
shvim ~/.vimrc.bundles//desert the same line:q vim:BundleClean

状态栏增强

  • airline,可以提示模式,当前行百分比,已键入命令等,很好很强大

快速编辑

  • nerdcomment 快速注释的利器
0 0