用于管理多个 Latex 项目的最佳 (neo)vim 设置?

用于管理多个 Latex 项目的最佳 (neo)vim 设置?

我正在从 Sublime 切换到 neoVIM+vimtex 来编写 (pdf)latex 文档。

在 Sublime 中,我目前只是通过“将文件夹添加到项目...”为每个文件夹添加了一个 Latex 文档。这样,所有文件夹/文档都可以在左侧边栏中很好地相互显示,我只需打开右侧文件夹中的文件即可在它们之间“切换”。

在 vim 中,推荐使用哪种方法来有效处理多个单独的“latex 项目”,每个项目都有多个源文件等?我发现 vim-ctrlspace 插件似乎可以做类似的事情,但尽管尝试了一段时间,还是无法根据我的需要进行正确设置。

还有其他建议/最佳实践/等等吗?

非常感谢!

答案1

我非常喜欢 UNIX 的信条“让每个工具只做一件事,并把它做好。”(或类似)。所以我使用 Vim 的主要目的是编辑文本。项目管理等我大部分是通过终端进行的。不过,当我确实想在 Vim 中移动文件系统时,我会使用easytree这些工具。

除此之外,这些是我用以使我的 TeX 生活更轻松的插件(除了一个之外,它们并不严格与 TeX 相关):

  • bufexplorer
  • youcompleteme与此相关的是:
  • youcompleteme-latex-semantic-completer

所有插件(除了这些,还有其他插件)都由 Vundle 管理,除了这两个youcompleteme;我从我的 Linux 存储库安装它们,因为我发现它们编译起来有点麻烦,而且从头开始运行它们。但是当它们ycm工作时,我真的很喜欢它。

我最近开始在 TeX 活动中大量使用的一个功能是(手动)折叠。我发现它们确实非常方便。例如,我正在处理的 1700 行类文件通过使用折叠变得非常方便。我迷失在长文件深处的情况已经大大减少了。

这是 gvim,(使用corporation颜色方案,以防有人好奇)和那些漂亮的折叠(vim 的终端版本不支持所需的颜色,因此我开始使用 gvim 代替):

gvim 设置笔记:最后一行用于设置折叠。)

总而言之,我认为比获得“终极、万能”插件组合更重要的是确保您了解您的设置(例如组合键),并对其进行配置以适合您的工作流程。这在很大程度上取决于个人喜好。对我有用的方法可能对您根本不起作用,反之亦然。顺便说一句,这也是我完全放弃去年.vimrc秋天并从头开始重写它的主要原因。

例如,该bufexplorer插件对我来说非常有用,主要是因为我已将它映射到一个好的组合键,而不是因为它是有史以来用于导航缓冲区的最佳插件(尽管我确实喜欢它)。

此外,我倾向于在每个 TeX 项目目录中放置一个(大多数情况下很简单的)Makefile,并将其设置为可以从 Vim 中调用它并编译默认目标(通过键LEADER;非常快)。在编辑器旁边的窗口中打开 pdf 基本上为我提供了类似 IDE 的设置,无需实际运行 IDE 的开销,以及拥有 vim 和 Makefile 的优点。同样,每项工作都只需要一个工具。

我想我长篇大论的重点是:不要过度使用插件;我针对您的具体问题推荐的解决方案是终端和easytree在 Vim 内导航。但您的情况可能会有所不同,而且这对我来说有用并不意味着对您也一样,公平地说。但也许这里的某个地方对某些人有用。;-)

关于终端的补充:我使用 ZSH,我发现这个autojump插件绝对不可或缺。它允许非常快速和方便地进行文件系统导航。而且,tmux非常实用;没有它就活不下去。好吧,可以,但真的不想。

编辑: 因为我提到了它:我的.vimrc,以防有人发现它有用: https://github.com/alpenwasser/dotfiles/blob/master/vimrc

相关内容