【发布时间】:2017-07-11 18:50:42
【问题描述】:
假设我正在解析非常大的数据文件(每个文件大约有几兆字节)。我想通过查看这些数据文件来编写解析代码,所以我在 Vim 中有几个窗口,一些是代码文件,一些是数据文件。
在这种情况下,插入模式下的 Vim 单词补全非常慢,因为它会尝试扫描数据文件。为了避免这种情况,我想忽略这些具有非程序扩展名的数据文件(例如 dat、txt 而不是 c、rb、py),但继续观看程序文件。所以最好的情况是我可以注册一些扩展,以便在单词完成期间忽略。
我怎样才能做到这一点?我查看了h: 'complete',但找不到我想做的事情。例如,.vimrc 中的set complete-=w 不满足我,因为它不仅忽略了数据文件,还忽略了程序文件,完全破坏了单词补全。
感谢您的帮助。
【问题讨论】:
-
一个非常简单且非常明显的解决方法是在另一个 Vim 实例中打开您的数据文件,或者因为您不打算编辑它们,所以在像 @987654323 这样的寻呼机中打开它们@(恰好与 Vi[m] 共享许多命令)。
-
是的,我正在考虑。要一次查看所有内容(这是我想做的一部分),我可以使用 Screen、iTerm2 或其他任何东西来分屏并打开数据。但是,我真的很想在纯 vim 环境中找到一种方法,原因有很多:
less没有插件,即使只是在查看文件时我也会使用它。此外,如果我在一个屏幕中有多个 Vim 实例,例如使用 Screen 分屏,我肯定会混淆如何转到另一个窗口,因为它混合了 Vim 功能和 Screen 功能,这很痛苦。 -
所有优点。在 Vim 本身中,我知道从扫描中排除文件的唯一方法是从缓冲区列表中删除它或卸载它,但这也意味着 不显示它,这样就达不到目的了。或者,您可以使用
<C-x><C-o>和<C-x><C-n>。
标签: vim autocomplete