5
13
2013
4

我的 neocomplcache 升级步骤

本文来自依云's Blog,转载请注明。

志以备忘。

  1. 下载新的 neocomplcache 压缩包
  2. 找到最近的关于 neocomplcache 的「移除 text mode 支持」和「允许使用 sudo」的补丁,依次删除之
  3. 找到最近一次的 neocomplcache 安装,删除之
  4. 解压新的 neocomplcache,并删除vest目录,重新检出README.md
  5. 提交
  6. cherry-pick 最后一次「允许使用 sudo」的提交
  7. cherry-pick 最后一次「移除 text mode 支持」的提交,解决冲突。在必要的时候搜索包含「is_text_mode」的代码并删除之。提交
  8. 2013年7月18日更新cherry-pick 最后一次「安装 neocomplcache 时对 ftplugin/snippet 的修改」的提交。Tab 大小非八个空格的都给我去死!
  9. 更新 Vim 文档的 tags 文件
  10. 测试没有问题后推送到远程仓库

附注:

移除 text mode 支持」提交是为了在写一般文字(注释、git 提交信息、文章等)时依旧能够精确地按原大小写补全。因为我是中文用户,含有大写的单词是专有名词(如 Python、gVim、iOS、FreeBSD)的概率要远高于句首大写首字母单词。

允许使用 sudo」。在使用 sudo 命令并且$HOME环境变量被保持的时候不要显示错误信息并禁用 neocomplcache。在这种情况下继续使用 neocomplcache 可能造成生成的缓存文件无法被当前用户修改。我很少遇到这种情况,因为只有少数特定文件我才会使用 sudo 去编辑。作者给出了另外两种(对我来说不可行的)解决方案:

  1. 使用 sudo.vim 插件。这样将不会有备份文件,撒消文件的情况不清楚,交换文件亦可能有问题。没有备份文件将导致错误的配置无法被简单地撒消。sudo.vim 使用tee覆写文件,在文件还没写完时停机或者硬盘空间不足时将导致数据丢失,并且因为编辑的通常是重要系统文件而导致系统故障。(参见如何更安全地覆写数据文件。)就算没有遇到这种极端的情况,覆写文件亦将对正在使用此文件的其它进程造成不可预料的影响。

  2. 让 sudo 重置 $HOME 到相应用户的家目录。这样我自己的 Vim、zsh 等配置就用不了了。

Category: Vim | Tags: vim neocomplcache | Read Count: 9353
Iven 说:
May 13, 2013 03:27:07 PM

改了这么多干脆自己 Fork 一份算了……

Avatar_small
依云 说:
May 13, 2013 04:39:59 PM

就两个提交呀。fork 太麻烦了,我又没用 pathogen 之类的东西。

Avatar_small
Rykka 说:
May 19, 2013 11:23:14 PM

发现这两种问题也是我需要考虑的。
1. 我有时候很困惑大小写的问题。虽然以前听你说起过这个。
但是一直没去fork你的代码。
专有名词就经常变成一堆小写。比如reStructuredText 这种。
2. 我用的sudo.vim 没想到还有这个安全性问题。。。

还有个问题就是neocompl在文档前几行的话,
输入后会导致文档显示不不正常。
不过我不确定是否是我的插件的原因。
不知道你遇到没。

Avatar_small
依云 说:
May 19, 2013 11:31:52 PM

哈哈,我遇到过几次磁盘满了,还不少的文本文件忙或者正在运行的程序因为我修改了库文件而崩溃。

显示不正常还没遇到过好像。截图?


登录 *


loading captcha image...
(输入验证码)
or Ctrl+Enter

| Theme: Aeros 2.0 by TheBuckmaker.com