与多个终端中的单独实例相比,使用 vim 缓冲区有什么好处?
我已经使用 vim 有一段时间了,但同时我一直在使用平铺窗口管理器(dwm/xmonad),这意味着如果我想打开一个新文件,我只需启动一个新终端并开始一个新的 vim 实例。
对于 tmux + vim 情况也是如此(这可能更常见)。
由于我对它们的经验很少,我能看到使用 vim 缓冲区的唯一好处是共享寄存器,这样我就可以拉出一段文本并将其粘贴到其他地方;但我什"+
至可以跨终端做到这一点。
类似地,它为我提供了另一个级别的布局自定义(vim 窗口中的 vim 缓冲区、vim 选项卡中的 vim 选项卡、dwm 磁贴中的 tmux 窗格中)……但如果每个层的布局几乎相同,这将是一个中性的好处。
我还应该注意其他任何好处吗?
答案1
这是一个老问题,但仍在尝试回答这个问题。缓冲区是 vim 的原生功能,因此与 tmux/dwm 相比,可以更好地与 vim 集成。我也很熟悉twm和dwm。
我使用的缓冲区中有 10-20 个文件。我无法想象在 dwm 中打开所有 10 个文件,然后循环浏览终端来查找我感兴趣的文件。如果文件在缓冲区中,我可以使用 vim 缓冲区搜索来快速找到该文件。缓冲液还具有所列的其他优点。
- 在缓冲区之间复制/粘贴
- 在所有缓冲区上执行单个命令。
- 如果需要快速预览,请在窗口中打开缓冲区
- 使用 vim 缓冲区搜索在缓冲区之间快速切换 :b {pattern}
- 使用 vim 快捷键 C-^ 切换到备用缓冲区
- 通过打开一个窗口然后将该窗口更改为选项卡来将缓冲区更改为选项卡。
- 如果我不需要使用 :bdel 删除缓冲区
- 使用数字切换到缓冲区。适合使用 :b1 转到第一个文件
- 使用 bm,n 选项对一系列缓冲区进行操作
我喜欢的 dwm 工作流程之一是 monocle,即单个窗口。使用 vim 缓冲区就像 monocole 模式。每当我想移动到另一个文件时,我只需对该文件进行部分搜索并跳转到它。
我是 dwm 的忠实粉丝。有时多个窗口也很好。但大多数时候我只会使用两个窗口,一个用于 VIM,另一个用于命令行。我通常会创建很多临时窗口来运行一两个命令,但随后我会杀死它们。我这样做的原因是我的大脑无法记住所有这 n 个窗口,因此我只切换到两个窗口来满足我的编码需求。