我刚刚开始使用 gVim,我正在努力建立一个工作基础来提高工作效率。
我已经完成了基本配置并安装了一些插件:
我已经阅读了关于如何在 vim 中执行基本操作的教程“vimtutor”,以及有关 netrw 的一些基础知识。我现在想要实现的是让 Vim 表现得像一个 IDE。因此,一旦我打开 vim,我想自动获得这样的特定屏幕设置:
+-----------------------------------------------------------+
| MiniBufExpl |
| [1: Tab1][2: Tab2][3: Tab3]... |
+-----------------------------------------------------------+
| NetRw | File contents as tabs | TagList |
| | | |
| | | |
... ... ...
| | | |
+-----------------------------------------------------------+
| Compiler/Debug messages |
| |
+-----------------------------------------------------------+
Run Code Online (Sandbox Code Playgroud)
我目前的问题是:
一旦设置了这样的布局,我如何让 Vim 记住它?(我还不擅长编写 Vim 脚本,每次使用“split”命令手动设置布局有点不方便)。
无论我使用 ":open" 命令、netrw 还是任何其他方式打开文件,如何才能始终在布局的中心区域打开文件?
如果有充分的理由,我可能会考虑使用 NerdTree 而不是 Netrw。我决定尝试坚持使用 Netrw 的原因是,不依赖太多插件会很好,所以我学会了在具有基本 Vim 安装的系统上流畅地工作。
你可能会让 Vim看起来像一个 IDE(如果你眯得够久的话),但你永远不会把它变成一个 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
Run Code Online (Sandbox Code Playgroud)
基本上,对于相同的结果,您有相同的工作量,但 netrw 方式不会浪费屏幕上的单个单元格。请注意,您也可以以这种方式使用 NERDTree。
显然,同样的原则也适用于 MiniBufExplorer。
Vim 中的标签根本不像其他编辑器中的标签那样工作,你不能强迫它们这样做。文档被加载到缓冲区中,这就是您想要操作的内容,而不是选项卡,至少在您了解差异之前是这样。见:help usr_07.txt,:help tabpage和:help buffers。
您也不需要快速修复窗口“始终打开”:请参阅:help quickfix.
回答你的两个问题:
您可以使用该:mksession命令保存布局,您可以使用:help :mksession.
你不能没有很多努力和自我控制。如果您使用 NERDTree,则必须一直使用 NERDTree。并且:open不会做你认为它会做的事情。
在 Vim 中,最有效的布局很可能是
+------------------+
| the current |
| buffer |
| |
| |
+------------------+
Run Code Online (Sandbox Code Playgroud)