您如何以某种方式增加或减少 vim 缓冲区的高度或宽度,以便当您按住组合键时,大小会不断变化?

cla*_*ser 6 vim buffer

您如何以某种方式增加或减少 vim 缓冲区的高度或宽度,以便当您按住组合键时,缓冲区大小会不断变化?

我知道CTRL W <有效,但它一次移动一个单位。我正在寻找一种方法,当您CTRL W <按住<VIM时,它会流畅地(不断地)更改缓冲区的宽度,直到您松开<.

Den*_*son 5

试试这些:

:nmap ^[> :vertical res +1^M
:nmap ^[< :vertical res -1^M
Run Code Online (Sandbox Code Playgroud)

要输入^[,请按Ctrl-v然后Esc。要输入^M,请按Ctrl-v然后Enter

正如 Heptite 在评论中所建议的,您可以使用键符号代替文字字符:

:nmap <Esc>> :vertical res +1<Enter>
:nmap <Esc>< :vertical res -1<Enter>
Run Code Online (Sandbox Code Playgroud)

生成与顶部示例相同的映射。

现在您可以按住Alt- Shift->平滑地增加宽度或Alt- Shift-<平滑地增加它。在我的右侧窗口中使用它感觉有点奇怪,因为我认为我正在左右移动分隔符,但事实并非如此。

改变水平分割窗口的大小:

:nmap ^[+ :res +1^M
:nmap ^[- :res -1^M
Run Code Online (Sandbox Code Playgroud)

这些是常规的加号和减号键,而不是键盘上的键。在我的美式键盘上,除了Alt,我持有Shiftfor +,但没有Shiftfor -

  • 您可以使用字符串 &lt;esc&gt;(带尖括号)代替硬编码转义字符。 (3认同)

小智 5

您也可以使用10 ctrl-w <10 ctrl-w >将其更改 10 个单位。