vim贴士集锦

你。 提交于 2019-11-29 04:12:13

###快捷键拾遗

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

-复制粘贴

Ctrl+V可视模式选择复制区域
"2y #追加到2号寄存器
"*y #复制到系统寄存器
"+y #复制到剪切板
"2Y #覆盖到2号寄存器
#注意大小写啊,一个是追加,一个是重写

"*p#将*寄存器的内容粘贴出来

# "X是指代X号寄存器

###ex命令

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

###缓冲区

####基本

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

####缓冲区的跳转

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

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

####缓冲区间的复制粘贴

: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寄存器内容粘贴到光标处

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

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

###可视化模式

####可视化模式下的插入删除

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

###插件

####插件管理 我使用Vundle插件来管理插件

#####安装插件

vim ~/.vimrc.bundles
//insert the follow
Bundle "githubUsername/pluginName"
//quit & vim
:BundleInstall

#####卸载插件

vim ~/.vimrc.bundles
//desert the same line
:q 
vim
:BundleClean

####状态栏增强

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

####快速编辑

  • nerdcomment 快速注释的利器
标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!