开发工具 Vim 插件推荐

kikyous · 2013年08月15日 · 最后由 skywind3000 回复于 2016年10月31日 · 18821 次阅读
本帖已被管理员设置为精华贴

又一个对齐插件,功能没有 align.vim tabular 强大,但是用起来真的是很方便, align.vim 以前学会了一次,后来再次装上这个插件发现完全不会用了。

推荐配置 vnoremap <silent> <Enter> :EasyAlign<cr> Alt text here

这是一个快速注释的插件,有自动识别文件类型 (甚至是嵌套的类型) 等的功能, 感觉比 nerdcommenter 好很多 默认的快捷键是 gcc

这里有一个 demo http://vimsomnia.blogspot.com/2010/11/tcomment-vim-plugin.html

图太快了看不清

vim-airline 不錯,替換掉 powerline 後 vim 啓動快了很多。

#2 楼 @yesmeck 看起来貌似没 powerline 好看,而且好像有点杂乱。

@tim_lang 並不亂,也很好看!

vim 实在不想看文字学。。。谁能出个用 vim 的 coding 视频,然后视频右上显示按键的情况,这样就一下子能够了解哪个操作是干嘛的了。。。看文字实在很难记住。。。 上次看一个 rails 的教学视频,用 vim 的,写的飞快,基本是 sublime 的两倍

#6 楼 @Levan 但是学习时间可能是 sublime 的 20 倍 ..

tcomment 如何快速注释一个 method 呢

#9 楼 @kikyous 这种方法了解,有没有更快捷点的。例如注释 block 可以不需要选中,然后直接<c+_>b即可。类似这种的

#10 楼 @xautjzd vim 只是一个编辑器,她不知道什么叫一个 method,不过你可以试试 vipgc

#10 楼 @xautjzd gcip 应该也可以

#7 楼 @blacktulip 可是你只需要学习一次,受用却是无限的。

#12 楼 @kikyous 你西安这边的,怎么不参加西安 rubyist 的线下活动呢?这周六就有

#14 楼 @xautjzd 第一次我去过,第二次的内容我不是很感兴趣,再加上那段时间公司事情比较多就没有去,这次的还没决定要不要去

#7 楼 @blacktulip #6 楼 @Levan

打开 terminal, 敲入 vimtutor, 15 分钟学完,然后就再也不想用其他编辑器了

#16 楼 @larryzhao vim 的确很好用,但是还是需要依靠众多的插件才能发挥其作用。对于初学者来说理解这些还是有点困难的。

#17 楼 @xautjzd 不学就永远是初学者...

#18 楼 @blacktulip 我的意思是 16 楼说的太简单了,vim 的学习曲线还是比较高的。不过 vim 用熟了确实效率大大提高,而且操作迅速。

@blacktulip 还好吧。。。有时候改服务器里面的一些文件时,vim 还是很爽的。。。总之我的 vim 是学一点用一点。。。

#7 楼 @blacktulip 那叫学 Emacs 的情何以堪

#17 楼 @xautjzd 不加插件也比需要鼠标支援的编辑器效率高很多了。

不错,用上了 comment 和 aligin 把原来的 nerdcommenter 和 tabular 给去了

而且的是虚拟终端/tmux 和 浏览器都支持 vi mode.

#17 楼 @xautjzd 我觉得不依赖插件也可以用的很爽啊。

#6 楼 @Levan 有动态图啊。

#25 楼 @simlegate 不依赖插件就是一个纯文本编辑器,特别是 html,感觉太麻烦了

#25 楼 @simlegate vim 自带都有很多好用的功能啊。 现在 Ruby 社区写 HTML 都在用模版引擎,`slim`, 这些啊。

#28 楼 @simlegate 不依赖插件,如何模糊查找一个在 N 层文件夹下的文件呢,类似 ctrlp 这样的操作

#6 楼 @Levan http://happycasts.net 这里翻翻 vim 的视频教学。你的需求全有。

statusline 右边的 trailing, mixed-indent 是做什么用的?

#31 楼 @lvjian700 trailing 是 trailing-white-space 行尾空格 mixed-indent 是说同一行同时用了 space 和 tab 作缩进

#32 楼 @kikyous 这个日常使用感觉没什么用,好去掉不? 我的配置:

" Aireline 
set laststatus=2
set ttimeoutlen=50

let g:airline_symbols = {}

let g:airline_left_sep=''
let g:airline_right_sep=''
let g:airline_enable_fugitive=1
let g:airline_section_b='%{fugitive#statusline()}'
let g:airline_section_c="%t"
let g:airline_section_x="%y"
let g:airline_section_y='BN: %{bufnr("%")}'

let g:airline_left_sep = '▶'
let g:airline_right_sep = '◀'
let g:airline_symbols.linenr = 'L'
let g:airline_symbols.branch = '⎇'
let g:airline_symbols.paste = 'Þ'
let g:airline_symbols.whitespace = 'Ξ'

#33 楼 @lvjian700

let g:airline#extensions#whitespace#enabled = 0

2,3,4 都一直用着,确实不错。

1 没用,一直用 LZ 提到的那个 tabular,很满意就懒得折腾其他 plugin 了。

#34 楼 @kikyous 你们公司还招 ruby 么?人在上海,打算会西安,想转 Rails。 http://v2ex.com/t/80933

#37 楼 @lvjian700 我问了一下,他说:暂时可能不招了

楼主 snipMate 有用么?snippets 如何维护的?

Bundle "garbas/vim-snipmate"
Bundle 'snipmate-snippets'

#40 楼 @lvjian700 我没用 snipMate,现在主要做 ruby,感觉没有必要

谢谢!vim-easy-align 真是五星级插件。我觉得最厉害的是常用代码缩进方式很智能。

比如 js 或者 ruby 代码中的 :

{
  a: 1,
  bb: 2,
  ccc: 3,
}

可以缩进成这样(它知道把 : 贴近 key):

{
  a:   1,
  bb:  2,
  ccc: 3,
}

而在对于这种:

{
  a => 1,
  bb => 2,
  ccc => 3,
}

它知道把 => 放在中间并且两边留空格,而且 delimiter 只用写 = 就行了:

{
  a   => 1,
  bb  => 2,
  ccc => 3,
}

其实大多数的情况下需要的 align 都很简单,只要用起来不复杂就行,这个插件做的挺人性化的。

#6 楼 @Levan 视频 youtube 好多啊

#5 楼 @yesmeck 求问这个现实 git 状态的是什么插件……

无耻的自我推荐下:Vim 8.0 出来后,我开发了个更顺手的插件,使用 8.0 原生异步 API,提供异步 git push,异步编译,异步更新 tags, 异步 grep 等功能,结果实时显示在 Vim 中的 quickfix 窗口,错误会通过 errorformat 进行匹配,体验比 tmux 分屏/vim-dispatch 好多了: https://github.com/skywind3000/asyncrun.vim

需要 登录 后方可回复, 如果你还没有账号请 注册新账号