0

我刚刚开始使用 gVim,我正在努力获得工作基础以提高工作效率。

我已经完成了基本配置并安装了一些插件:

  • 截图伴侣
  • MiniBufExpl
  • 标签列表
  • 环绕
  • VimLatex

我已经阅读了有关如何在 vim 中执行基本操作的教程“vimtutor”,以及有关 netrw 的一些基础知识。我现在想要实现的是让 Vim 表现得像一个 IDE。因此,一旦我打开 vim,我想自动获得这样的特定屏幕设置:

+-----------------------------------------------------------+
|                      MiniBufExpl                          |
| [1: Tab1][2: Tab2][3: Tab3]...                            |
+-----------------------------------------------------------+
| NetRw |         File contents as tabs           | TagList |
|       |                                         |         |
|       |                                         |         |
   ...                     ...                        ...   
|       |                                         |         |
+-----------------------------------------------------------+
|                  Compiler/Debug messages                  |
|                                                           |
+-----------------------------------------------------------+

我目前的问题是:

  1. 一旦设置好,如何让 Vim 记住这样的布局?(我还不擅长编写 Vim 脚本,每次使用“split”命令手动设置布局有点不方便)。

  2. 无论我使用 ":open" 命令、netrw 还是任何其他方式打开文件,如何实现文件始终在布局的中心区域打开?

如果有充分的理由,我可能会考虑使用 NerdTree 而不是 Netrw。我决定坚持使用 Netrw 的原因是,不依赖太多插件会很好,所以我学会了在安装了基本 Vim 的系统上流利地工作。

4

2 回答 2

5

你可能会让 Vim看起来像一个 IDE(如果你眯眼的时间足够长的话),但你永远不会把它变成一个 IDE。Vim 是一个拥有自己理念的文本编辑器:拥抱它,你会收获很多好处,忽略它,……你不会。

总之……</p>

  • NERDTree 比 Netrw 更接近您的标准文件资源管理器窗格:如果您确实需要始终打开文件资源管理器窗格,NERDTree 是您唯一现实的选择。然而,这些工具实际上毫无价值(它们很少使用来证明浪费空间的合理性),因此您可能应该探索其他方法。当您想要使用“始终打开”的 NERDTree 并使用 netrw 的最常见用法打开另一个文件时,您必须执行以下操作:

    NERDTree                         Netrw
    
    switch to the NERDTree window    open netrw
    navigate to/search for the file  navigate to/search for the file
    hit a key to open the file       hit a key to open the file
    

    基本上,对于相同的结果,您有相同的工作量,但 netrw 方式不会浪费屏幕上的单个单元格。请注意,您也可以这样使用 NERDTree。

    显然,同样的原则也适用于 MiniBufExplorer。

  • Vim 中的选项卡与其他编辑器中的选项卡完全不同,您不能强迫它们这样做。文档被加载到缓冲区中,这就是您要操作的内容,而不是选项卡,至少在您了解其中的区别之前。见和。:help usr_07.txt_:help tabpage:help buffers

  • 您也不需要快速修复窗口“始终打开”:请参阅:help quickfix.

回答你的两个问题:

  1. 您可以使用命令保存布局:mksession,您可以使用:help :mksession.

  2. 你不能没有大量的努力和自我控制。如果您使用 NERDTree,则必须一直使用 NERDTree。并且:open没有做你认为它做的事情。

在 Vim 中,最有效的布局很可能是

+------------------+
| the current      |
| buffer           |
|                  |
|                  |
+------------------+
于 2013-10-20T16:41:14.117 回答
0

对于 GVIM,您可能会通过一些努力获得一个固定的布局(但一些命令/插件可能仍然会破坏它,因此它永远不会完全像 IDE),但是您错过了使用(至少偶尔,例如通过 SSH)终端 Vim(因为终端通常占用更少的空间,可能只有 80x25 个字符)。

正如 romainl 所说,仅仅因为“习惯”而复制 IDE 的外观和功能是一个坏主意。因此,通过快速和简短的自定义映射仅按需切换单个功能(如文件树或快速修复列表),而不是固定布局,您会得到更好的服务。

于 2013-10-20T18:18:08.947 回答