我刚刚开始使用gVim,我正在努力寻找一个有效率的工作基础。
我已完成基本配置并安装了一些插件:
我已经阅读了关于如何在vim中执行基本操作的教程“vimtutor”,以及有关netrw的一些基础知识。我现在想要实现的是让Vim像IDE一样运行。所以一旦我打开vim,我想自动获得这样的屏幕设置:
+-----------------------------------------------------------+
| MiniBufExpl |
| [1: Tab1][2: Tab2][3: Tab3]... |
+-----------------------------------------------------------+
| NetRw | File contents as tabs | TagList |
| | | |
| | | |
... ... ...
| | | |
+-----------------------------------------------------------+
| Compiler/Debug messages |
| |
+-----------------------------------------------------------+
目前我的问题是:
如果设置了这个布局,我如何让Vim记住它? (我不是 很好的脚本Vim,并手动设置布局 每次使用“拆分”命令都有点不方便。
如何在中心区域实现始终打开的文件 布局无论我使用“:open”命令,netrw还是其他命令 打开文件的其他方式?
如果有充分的理由,我可能会考虑使用NerdTree而不是Netrw。我决定坚持使用Netrw的原因是,不依赖太多插件会很好,所以我学会了在基本的Vim安装系统上流利工作。
答案 0 :(得分:4)
你可能会让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
。
回答你的两个问题:
您可以使用:mksession
命令保存布局,您可以使用:help :mksession
阅读所有相关内容。
你不能没有很多的努力和自我控制。如果你选择NERDTree,你必须一直使用NERDTree。并且:open
没有按照您的想法行事。
在Vim中,最有效的布局可能就是
+------------------+
| the current |
| buffer |
| |
| |
+------------------+
答案 1 :(得分:0)
对于GVIM,你可能会花费一点点努力获得一个固定的布局(但是一些命令/插件可能仍然会破坏它,所以它永远不会完全像IDE一样),但是你错过了使用(在最少偶尔,例如通过SSH)终端Vim(因为终端通常占用更少的空间,可能只有80x25个字符)。
正如romainl所说,复制IDE的外观和功能仅仅是因为一个“习惯了它”是一个坏主意。因此,通过快速和短的自定义映射,只需按需切换单个函数(如文件树或quickfix列表),而不是固定布局,您可以更好地服务。