最早使用VIM的时候,是在网上复制别人的配置和插件直接使用,功能很炫但是往往很多功能和操作并不是很适合自己。后来对配置做过几次修改,直到这次修改之后想到把这个配置上传的GitHub上备份一下,希望下次再改的时候能够稍微省点事。
刚刚已经把我的VIM配置上传到GitHub上了,就不再贴附件了。后面配置如果有修改的时候也是向GitHub上更新。
有兴趣的小伙伴可以点击链接跳转。

我常用的功能

插件内容

  1. 使用Vundle管理插件
  2. 使用taglist进行tag浏览(窗口左侧打开),手动安装ctags
  3. 使用DoxygenToolkit,Doxygen风格的注释工具
  4. 快速注释工具The-NERD-Commenter
  5. 文件浏览工具The-NERD-tree,(窗口右侧打开)
  6. 代码补全工具OmniCppComplete
  7. 状态栏工具powerline
  8. C语言源文件于头文件快速切换a.vim
  9. 代码对其工具godlygeek/tabular
  10. MarkDown语法插件plasticboy/vim-markdown

下图是当前配置下打开的状态:左侧展开函数列表、右侧打开文件浏览,下面使用ls命令打开了buffer记录
一个常规状态

通用操作

编辑/复制/粘贴/剪切

  • J 删除两行之间的空行,实际上是合并两行。
  • yy 拷贝当前行
  • nyy 拷贝当前后开始的n行,比如2yy拷贝当前行及其下一行。
  • p 在当前光标后粘贴,如果之前使用了yy命令来复制一行,那么就在当前行的下一行粘贴。
  • shift+p 在当前行前粘贴
  • :1,10 co 20 将1-10行插入到第20行之后。
  • :1,$ co $ 将整个文件复制一份并添加到文件尾部。
  • ddp 交换当前行和其下一行
  • xp 交换当前字符和其后一个字符
  • 正常模式下按v(逐字)或V(逐行)进入可视模式,然后用jklh命令移动即可选择某些行或字符,再按d即可剪切,按y进行复制
  • dl 删除当前字符, dl=x
  • dh 删除前一个字符
  • dd 删除当前行
  • dj 删除上一行
  • dk 删除下一行
  • d$D 删除下一行
  • ndd 剪切当前行之后的n行。利用p命令可以对剪切的内容进行粘贴
  • kdgg 删除当前行之前所有行(不包括当前行)
  • :1,10d 将1-10行剪切。利用p命令可将剪切后的内容进行粘贴。
  • :1,$d 删除从第1行开始的所有行
  • :1, 10 m 20 将第1-10行移动到第20行之后。

插入与替换

  • :1,10 s/^/#/g 在1-10行行首插入固定内容(#)
  • :1,10 s/$/#/g 在1-10行行尾插入固定内容
  • gU 选中内容全部替换为大写
  • gu 选中内容全部替换为小写

列编辑模式

  • Windows下Ctrl+vCtrl+q进入可视块模式。
  • 可视块模式选中多行的前提下下Shift+i进入插入模式,插入完成后按ESC可在多行的相同位置插入相同值。

十六进制形式查看文件

  • :%!xdd 进入十六进制查看模式
  • :%!xdd -r 回到常规模式(如非需要,不要在十六进制模式下保存文件)

书签管理操作

  • ma a为小写字母,为光标所在处设定文档书签a
  • mA A为大写字母,为光标所在处设定全局书签A
  • `a 到文档书签a处,Tab键上方
  • 'a 到文档书签a所在行行首处,Enter键左边
  • `A 到全局书签A处,Tab键上方
  • 'A 到全局书签A所在行行首处,Enter键左边
  • `n 如果n=0,缓冲区将打开上一次的文档,且光标在上次编辑最后的位置,1-9以此类推
  • 'n 如果n=0,缓冲区将打开上一次的文档,且光标在上次编辑最后的位置所在行的行首,1-9以此类推
  • :marks 查看当前所有书签

Buffer管理

  • :ls 查看当前已经打开的buffer
  • :b num 切换到指定编号的buffer
  • :bn 切换到下一个buffer
  • :bp 切换到上一个buffer
  • :b# 切换到之前所在的前一个buffer
  • :bdelete num 删除指定编号的buffer

窗口操作

  • :new 打开一个空的新窗口,光标停在顶层的窗口上
  • :split 在新窗口打开当前编辑内容,split打开的窗口都是横向的,使用vsplit可以纵向打开窗口。
  • :split file:new file 用新窗口打开文件
  • Ctrl+ww 移动到下一个窗口
  • Ctrl+wj 移动到下方的窗口
  • Ctrl+wk 移动到上方的窗口
  • :close 最后一个窗口不能使用此命令,可以防止意外退出vim。
  • :q 如果是最后一个被关闭的窗口,那么将退出vim。
  • ZZ 保存并退出。
  • :only 关闭所有窗口,只保留当前窗口

录制宏

  • 按q键加任意字母开始录制,再按q键结束录制(这意味着vim中的宏不可嵌套),使用的时候@加宏名,比如qa。。。q录制名为a的宏,@a使用这个宏。

定制操作

  • F2 快速打开函数列表
  • F3 快速打开文件列表

插件管理操作

  • :BundleList 列举出列表中(.vimrc中)配置的所有插件
  • :BundleInstall 安装列表中全部插件
  • :BundleInstall! 更新列表中全部插件
  • :BundleSearch foo 查找foo插件
  • :BundleSearch! foo 刷新foo插件缓存
  • :BundleClean 清除列表中没有的插件
  • :BundleClean! 清除列表中没有的插件

注释操作

  • :DoxLic 生成Licence注释
  • :DoxAuthor 文件头、作者和时间注释
  • :Dox 函数注释

快速注释

  • ;cc 快速注释当前行
  • ;cu 取消当前注释
  • ;ca 切换注释风格

版权声明:本文为博主原创文章,转载请注明出处。

发表评论