![在 Windows 7 上,使用 latex-suite 在 gvim 中实现 \cite{} 自动完成功能](https://linux22.com/image/248683/%E5%9C%A8%20Windows%207%20%E4%B8%8A%EF%BC%8C%E4%BD%BF%E7%94%A8%20latex-suite%20%E5%9C%A8%20gvim%20%E4%B8%AD%E5%AE%9E%E7%8E%B0%20%5Ccite%7B%7D%20%E8%87%AA%E5%8A%A8%E5%AE%8C%E6%88%90%E5%8A%9F%E8%83%BD.png)
我在 Windows 7 32 位上使用 gvim(最新版本)和 latex-suite(最新版本)。这是我之前安装的 Ubuntu 的全新安装。除了引用自动完成之外,一切都运行正常,我不知道为什么。
例如,我想引用一篇 bib 代码为“aumann”的文章。通常,我会键入\cite{au}
然后f9按 以显示一个拆分窗口,其中包含不同的引用选项列表。但这个拆分窗口没有打开。事实上,当我按下 时f9确实发生了一些事情。整个 gvim 窗口正在快速执行某项操作(我看不到是什么),然后它返回到插入模式。可能这只是按键配置的问题f9。
但是,我可以将.tex
任何参考文献编译为正确文件。只是f9没有打开这个非常省时的引用分割窗口。
我很感激任何关于此事的意见。我想我不是唯一一个遇到这个问题的人,因为我的设置是标准的。
答案1
latex-suite 需要grep安装在您的系统上,并且必须可以通过搜索路径访问。您可以获取 Windows 版本这里 如果不可用,vim 在按 F9 时只会闪烁,但不会打开完成窗口。还请检查grepprg 命令.vimrc 文件中的设置应该是
set grepprg=grep\ -nH\ $*
根据 latex-suite 的文档。
答案2
抱歉,我是个巫师,但这是这个问题在谷歌上的最佳结果,我觉得这个帖子缺少了对在 Cygwin 和/或 Babun 中工作的 Windows 用户来说很重要的信息
由于某种原因,Cygwin 捆绑的 grep 版本要求将模式放在单引号中。(例如grep -nH '$*'
)
在你的 .vimrc 中你需要转义空格和引号(例如set grepprg=grep\ -nH\ \'$*\'
)
答案3
感谢上面的两条评论和一些谷歌搜索,我终于找到了一种使引用自动完成功能正常工作的方法。
对于 Windows 用户,我已经整理了整个过程:
1 - 正如 Martin 在上面的评论中提到的,latex-suite 需要在您的系统上安装 grep。您可以获取 Windows 版本这里。记住安装目录。如果找不到,按 F9 时 vim 只会闪烁,但不会打开完成窗口。还要检查 .vimrc 文件中的 grepprg 设置,它应该是
set grepprg=grep\ -nH\ $*
根据 latex-suite 的文档。只需确保在 .vimrc 文件中的一行中包含此内容即可。
2 - 安装 grep 后,您必须使其可通过 Windows 环境变量 PATH 访问。(换句话说,grep 此后将能够通过命令行运行)。为此,请右键单击计算机 -> 属性 -> 高级系统设置 -> 环境变量。
2.a - 如果已经存在 PATH 变量,请对其进行编辑。在代码开头,添加C:/Program Files/GnuWin32/bin;
包含 grep 二进制文件的默认安装文件夹。如果您将其安装在其他目录中,请选择该目录的完整路径。使用正斜杠,而不是反斜杠。不要忘记;
末尾的 ,它将 grep 路径与 PATH 变量中已存在的其他路径分隔开。
2.b - 如果没有 PATH 变量,只需创建一个新变量并将其命名为 PATH。为其赋值:C:/Program Files/GnuWin32/bin
这是包含 grep 二进制文件的默认安装文件夹。如果您将其安装在其他目录中,请选择该目录的完整路径。使用正斜杠,而不是反斜杠。
保存并退出。
3- 试试看这是否有帮助。在我的设置中,我在一个拆分窗口中弹出了源列表,但是当我按下 Enter 键时,源代码没有填写。原因是我没有合适的 Python 版本。如果您遇到同样的问题,请转到第 4 点。
4 - 在我的设置中,我相信 vim 使用的是 Python 3.2.3 版本。此版本太新,与 vim 不兼容。Go这里并下载 Python 2.7.3。安装它。在我的设置中,它无需进一步设置即可完成。现在我可以愉快地使用 cite 和 ref 自动完成功能了。
谢谢大家的帮助!希望这篇文章能澄清问题并提供有用的解决方案!