7

推荐几款最近发现非常酷的Vim插件

 2 years ago
source link: https://www.linuxzen.com/tui-jian-ji-kuan-zui-jin-fa-xian-fei-chang-ku-de-vimcha-jian.html
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
Home Menu

推荐几款最近发现非常酷的Vim插件

Gray King | Fri 18 October 2013

最近看一个github上的Vim配置, 发现了几款非常酷而且非常有用的Vim插件:

  • delimitMate 用于补全括号和引号
  • vim-surround 用于快速切换括号/引号或者标签
  • GitGutter 实时显示git更改
  • Gitv 查看Git详细提交日志(类似gitk)
  • vim-commentary Vim批量注释工具, 可以注释多行和去除多行注释
  • indentLine 更加美观的显示缩进对齐线

先放上录屏:

上面插件可以通过 Vundle 来安装 (了解Vundle猛击 这里), 下面是 .vimrc 的配置

Bundle "Yggdroot/indentLine"
Bundle "airblade/vim-gitgutter"
Bundle "gregsexton/gitv"
Bundle "tpope/vim-commentary"
Bundle "tpope/vim-surround"
Bundle "Raimondi/delimitMate"

然后重新打开 Vim, 执行 :BundleIntall 等待安装完成

delimitMate和GitGutter安装完成不用任何配置即可使用, 下面我们先介绍 vim-surround 插件的使用

vim-surround

这个插件可以快速的为字符串包围/改变或去除引号/括号或者HTML标签

为单个单词包围

在命令模式下, 使用 ysiw + '/"/(/[/{ 就可以为光标下的一个单词包围上 '/"/(/[/{

比如 ysiw' 为光标下的单词包围上单引号, ysiw" 为光标下单词包围上双引号, 依此类推.

vim-surround 同时还支持包围html标签, 将光标放到某单词试试下面指令

ysiw<p>
ysiw<p class="meta">

yssb 可以快速为一行包围圆括号, yss + '/"/(/[/{ 可以为正行快速包围相应的引号/括号

比如 yss" 为一行包围双引号

cs 指令可以更改包围, 比如 cs'" 是将单引号变成双引号, cs"( 是将双引号变成圆括号

vim-surround支持将括号或者引号变更为html标签, 试试下面命令

cs'<p>

上面命令将单引号换成 <p> 标签

ds 指令可以取出包围, 后面需跟包围的内容, ds" 是去除双引号包围, ``

indentLine

这个插件安装成功后就会显示缩进对齐线, 我们仅仅在 .vimrc 里加一行来切换是否显示

map <leader>il :IndentLinesToggle<CR>

这样我们就可以通过 <leader> il (我的leader映射的,)来切换是否显示对齐线

Gitv 实现了可以用Vim来查看Git的详细提交信息, 只需要打开Vim 执行 :Gitv

vim-commentary

这个插件可以快速注释与反注释多行内容, 但是它的注释符使用的是 commentstring, 默认是 /* %s */, 但这个值满足不了Python 和 Shell这样的语言, 在 .vimrc 添加如下内容

autocmd FileType python,shell set commentstring=#\ %s                 " 设置Python注释字符
autocmd FileType mako set cms=##\ %s

Visual 模式下 gc 命令可以注释选中的行

普通模式下 gcc 指令可以快速注释一行

gcu 可以撤销注释

有什么没介绍到的大家可以看看帮助, 大家也可以围观这个强大Vim配置: https://github.com/liangxianzhe/dotvim


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK