The Ultimate Vim Distribution
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.
比较适合懒人。
还不错 就是插件太多了 哪些功能是哪个插件的提供的都不是很清楚,自己的配置还弄得不是很好,先用下这套,我简单的自定义了下,把 python 和 php 的相关的插件禁用了。google 了下关于自定义方面的文档几乎没有,我是根据.vimrc 来的,有谁对自定义这个的比较清楚,和我分享下吧 这是我的 https://github.com/dfang/spf13-vim/
@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 就可以匹配出来
#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.
@happypeter 这个 ctrlp spf13 是自带的,换不了,没办法啊,我在 github 上https://github.com/spf13/spf13-vim/issues/102#issuecomment-7355151 问过作者怎么禁用或者替换某一款插件和 stackoverflow,都没什么好的方案
@happypeter 我想在.vimrc.local 文件里自定义定义一个 ctrl S 快捷保存,也不能生效,imap :wa @huacnlee 如果在用的话,帮我看一下?
imap kk :updatea
我自己临时凑出来的,肯定能用,但肯定不是完美解决方案。
不用 <c-s>
是因为 Ctrl+* 系列的快捷键很多情况下都有特殊用途,很容易被 gnome 或是 terminal 之类的东西半路截住。
@happypeter 嗯 明天试试,我用 verbose imap 查出来的是跟我绑定的一样,注释这句,查出来的是 surround.vim 占用的 ..... 这个再研究把,呵呵
对了,感觉你对 NERDTree 蛮熟,这里请教下,还是针对这套插件 我一般用 cd apps 目录,然后 vim . 打开项目
我想固定住根目录,这样 ctrlp 搜索的时候,永远是从项目根目录来搜索的
下午看了很久的文档,还是没找到 ......
@lidashuang 怎么在.vimrc.bundles.local 禁用或替换某一款插件,给个 example?我只知道添加一款插件 直接用 Bundles 'xxx.vim'
@AlphaLiu 这样当然能行,我所说的所有禁用、替换或定制什么的 都是通过添加并修改 .vimrc.local 或 .vimrc.bundles.local,不动它原本的文件为前提的,模糊查找给个例子呀 最好能尽量模仿 sublime 的 go to anything
这种大而全用来研学还不错,初学者直接拿来用会一头雾水,其实最好是空白的 .vimrc 用到什么功能了自己一点一点的加,别人的 .vimrc 拿来研究研究加进自己的配置里,这样才能掌握.
@lidashuang 这个 我第一次用 spf13 就知道了,那一句我看得懂啊,比如我不搞 python php,直接把数组里的 python php 去掉就行了
你没搞清楚我的问题啊
我的意思是禁用或替换一个插件,不是一组啊
@AlphaLiu 对,就是要固定根目录,举个例子,比如你打开了 config/database.yml,这个时候根目录切换到了 app/config,这个时候如果你想用打开 users_controller.rb 来修改,按 ctrl+P,是搜不到这个文件的 前天在 stackoverflow github 上都问过了,还没有答案 再等等
@happypeter @AlphaLiu 我猜可能是某个插件把目录改变了,所以如果捕获按 Ctrl+P 组合为键的事件的话,在这里把CWD设为根目录就好了 但是我没找到解决办法
@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
对于大多数正常人类来说,放弃 VIM 才是王道:投入产出不成比例。 往往学习一周后全部忘记。VIM 各种套件多如牛毛。VIM 最大的缺点和优点就是:插件太多,没有标准的按键映射,没有官方标准按键映射、版本,没用占主导地位的标准套件。每换一种都得重新记忆、学习。 一进入 VIM 的大坑简直欲罢不能,想要熟练没个一、两年工夫出不来。
#44 楼 @dreamrise 学习一周 vim 然后不用当然会马上忘记。一直用的话至少常用的命令会烂熟于心。 另外,每个人都有自己的配置,套件什么的只适合初学者,对非初学者而言,套件也就是学习一下插件和 vimrc 的写法而已。
#44 楼 @dreamrise 不然,我感觉是一些 vim 初学者太急功近利,或者说太想拿来就用了。如果初学者拿本入门的 vim 书,慢慢来,好好读玩一本书,而不是上来用这用那插件的话,不至于搞的这么狼狈。所谓磨刀不误砍柴功
@dreamrise @AlphaLiu 还是要整个适合自己的 注释写好 简单点好,插件搞多了 一是对速度有影响 2 是某款插件有 bug 或者各个插件之间有冲突 比如这个 spf 就有个冲突 很多人提了 还没解决
@jinleileiking 对,别个的.vimrc 是用来学的。。。
通过这个套件发现了 vundle 这个真正强大的东西。https://github.com/gmarik/vundle
有了 vundle,一切显得那么简洁。
链接中的 https://github.com/zaiste/vimified 貌似配置更好,有专门的 ruby 配置。
顺便说下怎么做 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)
@AlphaLiu @dfang 看了@ery 的这个贴 http://ruby-china.org/topics/3822 我发现我想说的,他都说了。引用一下结论:
用 Vim 做为 Rails 的开发工具, 入门成本有点高, 要想达到熟练的程度,需要太多的时间。 我投了一个月,没达到理想效果。
我用原始的 VI 有 10 年了:最开始是 sco unix,然后才发现 linux 下的 vim,结果还是只记住了 vi 核心的命令和按键。
想精通 VIM 比学 Rails 还要难,国内精通的没几个人,反而是日本人--这个跟 ruby 的情况一样--做了很多 NB 的 vim 插件。
#57 楼 @1272729223 我觉得对 ruby 来说,Textmate 更方便一点。最大的好处就是不折腾。Textmate 是支持 Emacs 键位的,不用方向键。
#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
@stc 早没用 ctrlp 了,ctrlp 不支持带空格的模糊匹配 我问过作者了 他说他做 ctrlp 是模仿了 fuzzyfinder 的 呵呵,fuzzyfinder 过于强大 很多功能我用不到
在 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...
#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 未果
#74 楼 @lidashuang 非常感谢,spf13 这个 VIM 插件已经经过一段时间的折腾终于已经上手了。目前可以使用它进行基本的 rails 开发和学习了。先不折腾别的工具了,感谢