开发工具 很好的 vim 套件

lidashuang · 发布于 2012年07月28日 · 最后由 lidashuang 回复于 2014年10月28日 · 18123 次阅读
122

The Ultimate Vim Distribution

http://vim.spf13.com/

is a distribution of vim plugins and resources for Vim, GVim and MacVim.

It is a completely cross platform distribution that stays true to the feel of vim while providing modern features like a plugin management system, autocomplete, tags and tons more.

比较适合懒人.

共收到 76 条回复
717

感谢分享

1211

这个非常 好啊。。

165

cool 谢谢分享

2731

还不错,目前就用这个,开箱即用,跟自己习惯差不多。

96

mac 下可以尝试尝试 vico。 vico 开源了。

96

里面的插件几乎是标准插件.. 没有ack..

1748

还不错 就是插件太多了 哪些功能是哪个插件的提供的都不是很清楚,自己的配置还弄得不是很好,先用下这套,我简单的自定义了下,把python和php的相关的插件禁用了。google了下关于自定义方面的文档几乎没有,我是根据.vimrc来的, 有谁对自定义这个的比较清楚,和我分享下吧 这是我的 https://github.com/dfang/spf13-vim/

122

#7楼 @dfang 它用了这个管理插件 Vundle , 它就是vim,自定义和你的vim是一样的.

1748

我知道用的vundle ,自定义是通过.vimrc.local 和 vimrc.bundles.local .... 文件的 你读下他.vimrc 就知道了

1748

@jinleileiking branch 3.0 有ack的啊,master没

96

以前不知道 这个配置的真心太好用了 虽然功能上我也能配置的差不多 但是这个的细节处理的非常不错 赞一个

188

除了使用vundle外,貌似和 Janus 区别不大。。。

De6df3

默认的主题不咋的 不过这个整合确实很棒,装上后感觉很上手

96

感觉所有的插件自己本来就已经用了。。。就没有什么大用处了

De6df3

换个主题多好啊,默认的那个看起来累

ir_black

blackboard

1153

@sectic vico很不稳定,每次打开总会出点小问题。

1748

@huacnlee vim-colorschemes包里有400多个主题呢 够换的

1748

@happypeter 我想请教的是一个关于ctrlp的问题 我用的是这个套件 怎么实现sublime text 里的ctrl p 功能,我已经设置let g:ctrlp_working_path_mode = 2,这句的意思可以确保我ctrl+p 查找的时候 ,目录是项目根目录,但是我看了下https://github.com/kien/ctrlp.vim/ 没有研究出来 文件模糊查找功能, 我想达到的是这样的一个效果, 比如我想打开apps/controllers/application_controller.rb 这个文件,我可以这样app con rb 就可以匹配出来

1211

@huacnlee 在输入时显示几个"." 点符号的是什么插件。。

861

我来看看他都用了什么插件,偷点用在自己的配置里面

96

#17楼 @mobiwolf 你需要下源码下来,然后人工编译一下,网站上的那个版本好久没更新了。

96

#19楼 @dfang I don't use "ctrl-p", not sure if it has a fuzzy mode or not. I love fuzzyfiner. With fuzzyfinder ( http://happycasts.net/episodes/24 ), your request call be easily accomplished.

1748

@happypeter 这个ctrlp spf13是自带的,换不了,没办法啊, 我在github上https://github.com/spf13/spf13-vim/issues/102#issuecomment-7355151 问过作者怎么禁用或者替换某一款插件和stackoverflow,都没什么好的方案

1748

@happypeter 我想在.vimrc.local 文件里自定义定义一个ctrl S 快捷保存,也不能生效,imap :wa @huacnlee 如果在用的话,帮我看一下?

122

#24楼 @dfang .vimrc.bundles.local 可以配置禁用和用其它插件啊

861

#24楼 @dfang 我有点不明白怎么会换不了ctrlp?直接把Bundle 'kien/ctrlp.vim'删掉并把.vim/bundle里面的ctrlp目录删掉不就得了?然后要加自己的插件也简单啊,在.vimrc写类似的Bundle语句,然后运行命令:vim +BundleInstall! +qall就好了。还有,我试了,ctrlp是支持你说的模糊查找的。

96

#25楼 @dfang 试试这个

imap kk :updatea

我自己临时凑出来的,肯定能用,但肯定不是完美解决方案。

不用 <c-s> 是因为 Ctrl+* 系列的快捷键很多情况下都有特殊用途,很容易被 gnome 或是 terminal 之类的东西半路截住。

1748

@happypeter 嗯 明天试试,我用verbose imap 查出来的是跟我绑定的一样,注释这句,查出来的是 surround.vim 占用的 ..... 这个再研究把 ,呵呵

对了,感觉你对NERDTree 蛮熟,这里请教下,还是针对这套插件 我一般用 cd apps 目录,然后 vim . 打开项目

我想固定住根目录,这样ctrlp搜索的时候,永远是从项目根目录来搜索的

  1. eg. :e ~/.vimrc.local :e 会改变nerdtree的working directory
  2. 用鼠标点击打开nerdtree的文件node,也会改变nerdtree的working directory

下午看了很久的文档,还是没找到 ......

1748

@lidashuang 怎么在.vimrc.bundles.local 禁用或替换某一款插件 ,给个example ?我只知道添加一款插件 直接用 Bundles 'xxx.vim'

1748

@AlphaLiu 这样当然能行,我所说的所有禁用、替换或定制什么的 都是通过添加并修改 .vimrc.local 或 .vimrc.bundles.local , 不动它原本的文件为前提的, 模糊查找给个例子呀 最好能尽量模仿sublime 的go to anything

122

#30楼 @dfang
.vimrc.bundle.local 自定义插件.你看看.vimrc 就知道了,他将插件放在一个数组里,只要你定义这个数组就可以了.

let g:spf13_bundle_groups=['general', 'ruby', 'programming','javascript', 'html','misc']
 "Bundle 'VimIM'  

.vimrc.local 是你自定义vim的配置

15

这种大而全用来研学还不错,初学者直接拿来用会一头雾水,其实最好是空白的 .vimrc 用到什么功能了自己一点一点的加,别人的 .vimrc 拿来研究研究加进自己的配置里,这样才能掌握.

1748

@lidashuang 这个 我第一次用spf13就知道了,那一句我看得懂啊,比如我不搞python php,直接把数组里的python php 去掉就行了

你没搞清楚我的问题啊

我的意思是禁用或替换一个插件,不是一组啊

861

#31楼 @dfang 比如我想打开apps/controllers/application_controller.rb 这个文件,我可以这样app con rb 就可以匹配出来

按照你说的,ctrlp可以匹配到的。我不知道你是不是用了这个spf13,它的vimrc里面会把你打开的文件的目录设为工作目录,比如你打开了app/model/xxx.rb,那就找不到app/controllers里面的东西了。

看其他楼你好像是要固定项目根目录,我想很难做到吧。你都cd到一个目录了,谁会知道你的项目根目录是这个目录的父目录呢?有办法的话我也想请教。

1748

@AlphaLiu 对,就是要固定根目录,举个例子,比如你打开了config/database.yml ,这个时候根目录切换到了app/config ,这个时候如果你想用打开 users_controller.rb 来修改,按ctrl+P ,是搜不到这个文件的 前天在stackoverflow github 上都问过了,还没有答案 再等等

96

#29楼 @dfang NERDtree 和 Ctrl-P 我都没有在用,所以回答不了你的问题了。我只是感觉 fuzzyfinder 和 vim 自己的 command-line mode 太强大了。 #35楼 @AlphaLiu

没太理解问题是什么,不过不知大家有没有试试 vim 的 lcd 命令

861

#36楼 @dfang 我一般都是在项目根目录下打开config/database.yml , 然后我的working directory并没有设置自动切换成config目录,所以ctrlp还是能搜到全项目的文件。

1748

@AlphaLiu 你是用什么方式打开config/database.yml 的,我这里只要是用o或者鼠标点击都会改变的啊

861

#39楼 @dfang 哦,我是用自己配置的vim,没有用spf13的。无论是终端下vim config/database.yml 或者 nerdtree的o或enter都不会改变工作目录的, 除非像spf13那样在vimrc里面设置了。

1748

@happypeter @AlphaLiu 我猜可能是某个插件把目录改变了,所以如果捕获按Ctrl+P组合为键的事件的话,在这里把CWD设为根目录就好了 但是我没找到解决办法

1748

@happypeter @AlphaLiu 又是google了很久,终于搞定了

在老版的.vimrc 看到这么一句

"set autochdir " always switch to the current file directory.. Messes with some plugins, best left commented out " not every vim is compiled with this, use the following line instead " If you use command-t plugin, it conflicts with this, comment it out. "autocmd BufEnter * if bufname("") !~ "[A-Za-z0-9]*://" | lcd %🇵h | endif

所以在.vimrc 中把最后一句注释掉就可以了,原来是通过这个来实现nerdtree的autochdir的功能的,怪不得set noautochdir 不起作用啊

或者在.vimrc.local 里加上这句 au! BufEnter * 移除这个autocmd绑定,具体的解释请看 :h autocmd-remove

1411

j.mp 打不开呀。。。无法安装

96

对于大多数正常人类来说,放弃VIM才是王道:投入产出不成比例。 往往学习一周后全部忘记。VIM各种套件多如牛毛。VIM最大的缺点和优点就是:插件太多,没有标准的按键映射,没有官方标准按键映射、版本,没用占主导地位的标准套件。每换一种都得重新记忆、学习。 一进入VIM的大坑简直欲罢不能,想要熟练没个一、两年工夫出不来。

861

#44楼 @dreamrise 学习一周vim然后不用当然会马上忘记。一直用的话至少常用的命令会烂熟于心。 另外,每个人都有自己的配置,套件什么的只适合初学者,对非初学者而言,套件也就是学习一下插件和vimrc的写法而已。

861

#43楼 @zeelercurl https://raw.github.com/spf13/spf13-vim/3.0/bootstrap.sh -L -o - | sh

96

#44楼 @dreamrise 不然,我感觉是一些vim初学者太急功近利,或者说太想拿来就用了. 如果初学者拿本入门的vim书,慢慢来, 好好读玩一本书, 而不是上来用这用那插件的话, 不至于搞的这么狼狈. 所谓磨刀不误砍柴功

1411

#46楼 @AlphaLiu 多谢,这个比较好用

De6df3

这玩意我卸载了,在 Mac Bash 下面使用 vim 有诸多问题:

  • 加载缓慢
  • 无法复制了
  • 作色混乱
1748

@dreamrise @AlphaLiu 还是要整个适合自己的 注释写好 简单点好 , 插件搞多了 一是对速度有影响 2是某款插件有bug或者各个插件之间有冲突 比如这个spf 就有个冲突 很多人提了 还没解决

@jinleileiking 对 , 别个的.vimrc 是用来学的 。。。

96

通过这个套件发现了 vundle 这个真正强大的东西。https://github.com/gmarik/vundle

有了vundle,一切显得那么简洁。

链接中的 https://github.com/zaiste/vimified 貌似配置更好,有专门的ruby配置。

96

顺便说下怎么做portable的VIM运行包(WINDOWS下测试通过), 适合一个U盘、移动硬盘多台机器跑的人。

WINDOWS用户请首先搞定git和curl。 教程:https://github.com/gmarik/vundle/wiki/Vundle-for-Windows

1、cd 你的VIM所在目录 2、git clone https://github.com/gmarik/vundle.git .vim/bundle/vundle 3、下载 .vimrc 4、修改 .vimrc 和 .vim\bundle\vundle\autoload\vundle.vim 将 $HOME 替换为 $VIM, 将 ~/ 替换为 $VIM/ (说明: $HOME,$VIM, ~/ 在VIM为几个重要目录的环境变量,可以通过:help $HOME以及 :help $VIM 来查。简单说 $HOME 是当前用户的主目录,WINDOWS系统为 c:\user\administrator之类的,UNIX就不用说了。而~后面如果跟/或者空格的时候就是指的$HOME,用~不过是个缩写而已。$VIM大多情况下指你的主程序所在的上一级目录。) 改完之后,所有的插件安装都会放入主程序所在的.vim目录($VIM/.vim/bundle)。 4、安装.vimrc中定义的各种插件: Launch vim, run :BundleInstall (or vim +BundleInstall +qall for CLI lovers)

96

使用vundle后,你所有的vim配置只有一个文件.vimrc,你的所有的插件列表也将在这里面

96

@AlphaLiu @dfang 看了@ery 的这个贴 http://ruby-china.org/topics/3822 我发现我想说的,他都说了。引用一下结论:

用Vim做为Rails的开发工具, 入门成本有点高, 要想达到熟练的程度,需要太多的时间。 我投了一个月,没达到理想效果。

我用原始的VI有10年了:最开始是sco unix,然后才发现linux下的vim,结果还是只记住了vi核心的命令和按键。

想精通VIM比学Rails还要难,国内精通的没几个人,反而是日本人--这个跟ruby的情况一样--做了很多NB的vim插件。

55楼 已删除
1411

#51楼 @dreamrise 不错,比spf13上默认配置好

2909

#5楼 @sectic vico很好 很好! 太好了

96

#57楼 @1272729223 我觉得对ruby来说,Textmate 更方便一点。最大的好处就是不折腾。Textmate 是支持 Emacs 键位的,不用方向键。

1007

为什么用这个后,打开txt或其他文件时,有些文字会有高亮背景,看起来好不方便,怎么去除

1342

#52楼 @dreamrise 如果在.vimrc里面加上如下代码的话就不需要去改.vim\bundle\vundle\autoload\vundle.vim文件了

if has("win16") || has("win32") || has("win64")
  set rtp+=$VIM\vimfiles\bundle\vundle
  call vundle#rc('$VIM\vimfiles\bundle')
else
  set rtp+=~/.vim/bundle/vundle/
  call vundle#rc()
endif
1584

@dfang @AlphaLiu ,设置 let g:ctrlp_working_path_mode = 0, 每次用vim打开rails 任意文件后,执行一下 Rtree 就可以了。支持模糊搜索尝试打开 ctrlp 后按 ctrl+d,ctrl+r ,详细可参 ctrlp 的 README

1748

@stc 早没用ctrlp 了, ctrlp 不支持带空格的模糊匹配 我问过作者了 他说他做ctrlp是模仿了fuzzyfinder的 呵呵,fuzzyfinder 过于强大 很多功能我用不到

96

#49楼 @huacnlee 你用的terminal一定是mac默认的不支持256色的那个吧……

96

#64楼 @huacnlee 难道是这篇东西说的iTerm 开256色半透明效果会lag的问题? 话说我刚数了一下,不数不知道,一数吓一跳,原来我用了50多个插件……比他这个还多好多,不过一点没感觉到延迟的问题

56

好用是好用, 不过感觉特别慢

96

在Mac上安装出现这个错误是怎么回事?

fatal: Not a git repository (or any of the parent directories): .git
setting up symlinks
ln: /Users/rainday/.vimrc: File exists
ln: /Users/rainday/.vimrc.fork: File exists
ln: /Users/rainday/.vimrc.bundles: File exists
ln: /Users/rainday/.vimrc.bundles.fork: File exists
update/install plugins using Vundle
E282: Cannot read from "/Users/rainday/.spf13-vim-3/.vimrc.bundles"Vim: Reading from stdin...
96

#68楼 @lidashuang 可是把那些删除再安装还是一样的提示

E282: Cannot read from "/Users/rainday/.spf13-vim-3/.vimrc.bundles"Vim: Reading from stdin...

参考了这个issue https://github.com/spf13/spf13-vim/issues/150 未果

2511

以前也用了很多插件,现在反而慢慢减掉,比如自动补全分号,自动补全单词等,看每个人的需要吧。

122

#69楼 @rainday 这个东西插件太多,建议你参考它的配置,改成自己的

475

bundle 半小时 - -

96

mac ruby开发新手适合使用这个工具吗?请问

96

#74楼 @lidashuang 非常感谢,spf13这个VIM插件已经经过一段时间的折腾终于已经上手了。目前可以使用它进行基本的rails开发和学习了。先不折腾别的工具了,感谢

122

#75楼 @bo6bear 用了vim那就vim,用sublime不折腾

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