Vim的永久固定IDE类布局

时间:2013-10-20 15:17:50

标签: layout vim ide

我刚刚开始使用gVim,我正在努力寻找一个有效率的工作基础。

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

  • SnipMate
  • 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,并手动设置布局 每次使用“拆分”命令都有点不方便。

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

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

2 个答案:

答案 0 :(得分:4)

你可能会让Vim 看起来像(如果你眯着眼睛足够长),但你永远不会把它变成IDE。 Vim是一个拥有自己哲学的文本编辑器:拥抱它并且你将获得许多好处,忽略它并且......你不会。

总之...

  • 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

  • 您不需要将quickfix窗口“始终打开”:请参阅:help quickfix

回答你的两个问题:

  1. 您可以使用:mksession命令保存布局,您可以使用:help :mksession阅读所有相关内容。

  2. 你不能没有很多的努力和自我控制。如果你选择NERDTree,你必须一直使用NERDTree。并且:open没有按照您的想法行事。

  3. 在Vim中,最有效的布局可能就是

    +------------------+
    | the current      |
    | buffer           |
    |                  |
    |                  |
    +------------------+
    

答案 1 :(得分:0)

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

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