开发工具 Screencast: vim 插件管理策略

happypeter · 2012年07月22日 · 最后由 reducm 回复于 2012年09月10日 · 7860 次阅读

http://happycasts.net/episodes/30 主要介绍了基于 pathogen.vim 的插件管理策略,并展示了如何把我们自己的 .vim/ 托管到 github 之上。最后展望了一下未来,探究:

看去喽。。。

@azhao @billie @camel @cantin @chucai @ery @googya @jiffies @jjym @kenshin54 @lgn21st @lidashuang @linjunpop @lyfi2003 @poshboytl @rainly @sectic @stc @superbatironmans5 @xmonkeycn @xufeng

上面列出的都是以前发帖支持过 http://happycasts.net 的朋友,所以这里发送新帖通知给列位,希望能得到大家的更多支持。如果有朋友不想被打扰,可以在 LX 留言。

在 happycasts.net 上学了很多技巧,支持!

我现在用的是叫 vundle 的东西,好像和您讲的 pathogen 类似,自己乱折腾之后总还算是能用。。。

#2 楼 @happypeter 是不是忘记贴具体的地址了……?

@superbatironmans5 用 vundle 把,这里有两篇文章都讲 vundle is better,我也是学 vim 不久,一看到 vundle 的介绍是 bundle for vim,我就用这个了,cp 到指定的目录什么的太麻烦了,那个 pathogen 名字都没这个好听,呵呵

#http://lepture.com/work/vundle-vs-pathogen/ #http://leohacker.wordpress.com/2012/07/03/managing-your-vim-plugins-with-bundle-vundle/

你可以看下我发的帖子,也有些 vim 学习资源的分享,我现在还处于学习使用插件的阶段,别人给的配置我记不住,还是自己折腾比较好,我会把看到的好的资源 url 贴出来 @happypeter 有的真心不错,制作视频的时候,你也可以借鉴下啊。。。。。

@happypeter 看其他的视频时,看您在多个窗口切换总是 C-w.....C-w..... 其实 C-w 加上方向键 h j k l 会更方便 感觉以后可以顺便讲讲.vimrc 文件的语法。。。我会说我太贪心了么 😷

匿名 #9 2012年07月22日

so many people know vundle! Here is really a fashion place.

#6 楼 @dfang 您分享的两个链接我都仔细看过了,确实很有帮助,谢谢!我想在这期视频的改进版 (revised version) 里,我会对 Vundle 相关的内容做更为详尽的讨论的。

#4 楼 @superbatironmans5 Vundle 我也好好的试用过,确实很酷!对我而言:

vundle = pathogen + 自动化包管理

其中,自动化包管理 这部分的实现是基于这样一个假设:所有的 vim 插件都有一个 git 仓库对它进行托管

应该说这个假设在今天而言还过于理想化,很多 plugin 的作者根本不知道自己的插件已经移动到了 github 上,所以 vim-scripts.org 上的插件的更新可能不是很及时。

所以我目前还是选择 pathogen 的这种“土办法” ,这样不管我的插件是 .tgz .zip .git .vba....我都可以统一的把它们放在 .vim/bundle 之下统一管理。

不过如果 vim-scripts.org 可以持续改进的话,相信很快大家就都可以开开心心的使用 vundle 了。

#8 楼 @superbatironmans5 对,正确的操作是应该用 Ctrl-W 配合 h j k l 来使用的。我一直使用 Ctrl-wwwww... 来切换是个坏习惯。不过如果打开的窗口数 =< 3 的话,应该还可以。

感觉以后可以顺便讲讲.vimrc 文件的语法

其实我作视频,最想得到的 feedback 是鼓励 😄 ,比鼓励更想得到的是建设性的批评,和对新视频内容的 request。所以非常感谢您的 request,已经加到 Happycasts.net 的 TODOs 里了。

@happypeter 我是觉得 github 上的插件够多了,没必要一个个去研究的,不可能把所有的插件都试一遍,就把大家都说好的练得非常熟就好,另外 vundle 也可以安装 vim-scripts 上的插件的啊 你看看https://github.com/gmarik/vundle/ 这里面的 sample .vimrc 就知道了

我还有个体会就是像我这样的新手最好不要一下子装很多插件,一个个的来,不然都搞晕了,不知道某个功能是哪个插件提供的,像我一下子就把 huacnlee 的整套配置下下来了,记不住,也就不会玩,还要打开 github 上的 readme。。。。。

#2 楼 @happypeter 希望你也能骚扰一下我。非常喜欢楼主的视频分享。

#2 楼 @happypeter 谢谢,又一期经典的 VIM 视频,我毫不介意并希望每次都能被通知,谢谢~

vundle 之前用过,自动管理虽然不错,但不知道为什么在我电脑上总出问题,某些插件无法启用。之后换了 pathogen,虽然手动管理比较麻烦,不过也够简单易懂,到现在都没试过出问题。

谢谢!

我是用 pathogen + Git submodule 来管理各种 Vim plugins,另用 Ruby 写了一个简单的脚本来安装、移除、更新插件。这样托管在 GitHub 上后,一处更新,随处可用,非常方便。

HappyCasts 的视频非常不错, 可谓,短小而精炼, 非常感谢楼主的分享。

我所使用的配置文件eddie-vim也是使用的是pathogen + Git submodule方式来管理插件,用 shell 脚本来更新 submodule,挺好

用过一阵子的pathogen + Git submodule,换成vundle

#13 楼 @tudou #16 楼 @lyfi2003 以后,我会默认把回帖的同学自动加到提醒列表(见#2 楼)中的。

#18 楼 @toy 脚本拜读了,受教颇多

#15 楼 @PrideChung 我赞同你,在 vundle 变得真正成熟之前,我还是很陶醉 pathogen 的简约之美。Let's KISS 😄

#12 楼 @dfang 同意,简约就是强大,美丽驯服复杂,刚刚够用是王道。

#20 楼 @ywjno 相应的工具应该还有一些 http://vim-scripts.org/vim/tools.html 不知谁将一统江湖?

#21 楼 @AlphaLiu 可能 Vundle 真的会越来越流行了。真心希望 http://vim-scripts.org/ 能快些成长,我是早就恨透了 vim.org。

很棒的视频,谢谢分享。我也一直用的 vundle,还推荐到了整个 team。

一个 vundle 搞定一切。不过 vundel 有个 bug. 我提了,作者不给修..

#23 楼 @happypeter 之前优酷上的视频也看了不少,支持

问一下楼主,视频里 ubuntu 下右下角蓝色一个个冒泡的键盘案件提示是怎么实现的?

#27 楼 @reducmkeycastr,跑在 Mac 上,其实录屏时我的 ubuntu 是跑在虚拟机里的。

30 楼 已删除

我也更喜欢 vundle,特别是多个电脑,可以直接传 vimrc 就可以 copy 所有的设定了

#31 楼 @randuin 差不多这里有 6 个人推荐 vundle 了,算我自己 7 个,最近几天在各个平台各个 vim 较老版本中用了一下 vundle,零星的小问题还是有一些的。

这么多人说 vundle 啊,来个 vundle 的视频教程呢?

#33 楼 @lovejoy vundle will be talked in detail in the revised version of this episode

@happypeter 什么小问题?有的也许是用的库不对,我的经验是尽量使用 github 上的库,这个上面的比较新,举个例子,同一个名字的插件可能好几个地方有,用 vundle 安装老版的就有问题,比如这个http://ruby-china.org/topics/4045 这个问题,我用中英文 google 了很久没搞定,后来偶然一想,为什么不用最新的试试,结果“Disabling rails.vim: autoload/rails.vim is missing”的提示就没了....... 我是根据 github 上 Fork 时间来判断的

#35 楼 @dfang 我遇到的问题是在 vim72 + vundle 使用时,安装插件时不能像正常的那样显示哪个插件已经装完,哪个正在安装。相信如果我把 vim 升级到 73 应该就没有这个问题了,所以理论上讲不是问题,实际开发中诸如此类的小问题还是有点烦人。

vim + pathogen 功能相对较弱,使用较为不酷,但是很多时候简单笨拙确实更高效。

说说 vundle 的问题:

  1. 有一个我还没有搞清楚的问题,如果我有几个自己写的小插件,那用 vundle 如何处理呢?是不是还要把每个都单独上传到 github 之后才行呢?如果是这样,就略显繁琐了。
  2. 如果我想把我的插件分享给别人,在使用 vundle 的时候,别人不但要会用 git 还要了解 vundle,这也略显繁琐。
  3. 如果别人想使用我用 pathogen 管理的 .vim, 他只要 clone 一个 git repo 就可以了,使用 vundle 我要保证十几个几十个 git repo 都健在,略显风险大。

本评论略显啰嗦 😄 我还是等待 vundle 真正成熟的那一天。

@happypeter 我没用过 pathogen,也不打算用啊,一开始接触 vim(还不到一个月)就用的 vundle,我觉得这个太好用了,傻瓜式的,之前知道 rails 里的 bundler 怎么用,这个一看就懂了

  1. 是要上传到 github 的,单独维护比较好,你可以把他类比为一个 gem 包,然后用 vundle 来管理 2 和 3. 我觉的这正是 vundle 的好处啊,别人如果不喜欢你的某些配置,可以 fork 下来,然后定制下就成自己的了,这个可以类比 spf13 那个

我现在临时用下 sublime 了,vim 还用不了那么流畅

对了,正好请教下你,关于 spf13 的问题,我到那个贴子里去

#37 楼 @dfang

"单独维护比较好...可以 fork 下来,然后定制下" Feels nice 😄

#28 楼 @happypeter 最近有用到楼主的 keycastr,但很奇怪在 application 全屏的时候 keycastr not work

#39 楼 @reducm 我倒是没有遇到这种现象,不管是播放器,virtualbox,还是浏览器,全屏都没问题。

#40 楼 @happypeter mountain lion,软件版本 0.8.0 一到全屏就失效...

楼主除了用 screen flow 录制视频外,是用什么软件去转视频格式的?另,视频上传到 youku 质量变得很渣

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