我不懂缓冲区。当我在同一个选项卡上打开3个文件并关闭我的窗口时,我通常会生气地发现,下次我打开其中一个文件时,有奇怪的交换文件徘徊并给我讨厌的消息。但我一次又一次地读到,这些东西是我错过的生产力天堂,标签是为平民使用的。
所以我问你,Vim专家:使用缓冲区比使用制表符有什么优点?我看不出两者之间的差别有多大,但我认为自己在操作Vim方面只是处于初级-中级水平。:ls:b#真的比get around快那么多吗?我觉得事情肯定不止于此。
我不懂缓冲区。当我在同一个选项卡上打开3个文件并关闭我的窗口时,我通常会生气地发现,下次我打开其中一个文件时,有奇怪的交换文件徘徊并给我讨厌的消息。但我一次又一次地读到,这些东西是我错过的生产力天堂,标签是为平民使用的。
所以我问你,Vim专家:使用缓冲区比使用制表符有什么优点?我看不出两者之间的差别有多大,但我认为自己在操作Vim方面只是处于初级-中级水平。:ls:b#真的比get around快那么多吗?我觉得事情肯定不止于此。
当前回答
I load "selected" buffers as tabs to quickly (TAB/S-TAB) toggle between them. The framework of workspaces fits here as for me buffers VS tabs is mostly the visibility thing. I can pop important/work files in windows and tabs and hide the ones I don't currently need to utilize in the background on the fly without having to remember paths or take time to search and load them up again once the need arises. This allows for handling several tasks or projects in one VIM session, I guess this used to be important in low-memory machines but is also good for concentrating all editing tasks under one application frame. I also have buffer shifting shortcuts set to Ctrl-Right/Left so I can quickly shift through various buffers as well.
底线是,一个人只能根据屏幕的大小划分一些窗口,但他可以在几个选项卡中保留多个窗口设置,从而扩大工作空间,改善工作流程,允许方便地划分旋转多个文件的复杂任务。
对于交换文件,您可以告诉VIM将它们全部保存在您指定的一个文件夹中。设置目录。
其他回答
我在我的工作流程中使用标签,Ctrl-P和Vim会话,现在已经有一年多了:
我有)和(分别映射到“转到下一个标签”和“转到上一个标签”。Tn打开一个新标签。我还使用tabm来帮助保持内容的组织性。 我使用Vim会话来处理与我正在处理的当前故事/错误相关的文件组,通常按类别进行。在处理过程中,这些会话将被覆盖。 我还没有找到比Ctrl-P更好的方法,但它确实需要处理所有文件才能找到。
我曾经把每个缓冲区都放在一个单独的标签中,但我厌倦了不断的gt和到处闲逛。
我还觉得缓冲区太难管理了。
下面这些技巧完全改变了我之前的看法:
缓冲区管理::b。你会出奇的快。参见vim,使用普通vim在文件之间快速切换(没有插件) 跳转/更改列表(ctrl o/i和g;) 替代文件(^) tpope的un受损插件。方便的映射,用于在缓冲区中飞行(以及其他)。
以下是我的典型工作流程:
打开Vim,使用:e(通常带有一个正则表达式,如:e src/**/F*Bar.js)来打开一个缓冲区 我意识到我需要打开另一个文件。也可以用e表示。如果我想在这个缓冲区和当前打开的缓冲区之间切换,我将使用:sp或:vsp在一个单独的窗口中打开它。 重复这个过程,直到我有3-5个文件,我将使用上面项目列表中的技巧在你的缓冲区之间切换。 如果我想“重新开始”我的缓冲区,只是关闭Vim并重新打开。
我觉得在强迫使用这些新模式一周左右之后,我更容易想象我打开了哪些缓冲区,以及如何在短短几次自动笔划中到达其中任何一个缓冲区。
把这些添加到你的.vimrc中,开始爱上缓冲区吧:
:nnoremap <Tab> :n<cr>
:nnoremap <S-Tab> :N<cr>
这样你就可以通过Tab/ShiftTab在正常模式下向前/向后循环。
I load "selected" buffers as tabs to quickly (TAB/S-TAB) toggle between them. The framework of workspaces fits here as for me buffers VS tabs is mostly the visibility thing. I can pop important/work files in windows and tabs and hide the ones I don't currently need to utilize in the background on the fly without having to remember paths or take time to search and load them up again once the need arises. This allows for handling several tasks or projects in one VIM session, I guess this used to be important in low-memory machines but is also good for concentrating all editing tasks under one application frame. I also have buffer shifting shortcuts set to Ctrl-Right/Left so I can quickly shift through various buffers as well.
底线是,一个人只能根据屏幕的大小划分一些窗口,但他可以在几个选项卡中保留多个窗口设置,从而扩大工作空间,改善工作流程,允许方便地划分旋转多个文件的复杂任务。
对于交换文件,您可以告诉VIM将它们全部保存在您指定的一个文件夹中。设置目录。
另一个技巧是,当使用缓冲区名称作为:buffer的参数时,不必指定整个名称。但是,如果有多个缓冲区与给定参数匹配,则缓冲区不会切换。
可以使用缓冲区名称的任何片段进行匹配。例如,如果你有request_manager.java和queue_manager.java两个缓冲区,那么:buffer que或:b que会匹配它们,但会切换到queue_manager.java,因为它在开始时匹配。