【问题标题】:How to increase the vertical split window size in Vim如何在 Vim 中增加垂直分割窗口的大小
【发布时间】:2011-05-21 02:25:27
【问题描述】:

:vsplit(简称::vs)垂直分割 Vim 视口。 :30vs 分割视口,使新窗口宽 30 个字符。一旦创建了这个 30 字符的窗口,如何将其大小更改为 31 或 29?

使用水平窗口 Ctrl-W + 将行数增加一。将列增加一的等效命令是什么?

【问题讨论】:

  • 您也可以使用 Ctrl-W 5+ 将窗口高度增加 5(或任何数字)。同样适用于 Ctrl-W 5-
  • :h ^w 查看窗口命令列表。 :h ^ww查看普通命令的帮助Ctrl-w w

标签: vim window viewport


【解决方案1】:

CTRL-W >

CTRL-W

使窗口变宽或变窄。

【讨论】:

  • :30winc > :30winc < 以增加/减少 30 个字符的宽度。
  • 30CTRL-W > 保持答案的精神。
  • :vertical resize 30 将当前窗口的大小调整为正好 30 个字符宽。
  • :res <N> 将当前窗口大小设置为正好 N 行(对于高度而不是宽度)
  • 如此愚蠢,如此直观,但我仍然没有想到''。谢谢!是否有任何类似于 Ctrl-W, = 用于垂直拆分的键?
【解决方案2】:

Ctr-W =

会让他们平等

【讨论】:

  • :winc = 这也将使它们相等。
  • 那是水平分割,对吧?垂直拆分的等价物是什么?
  • @JoséRamón 此命令适用于水平和垂直分割。
【解决方案3】:

如果您还需要水平分割调整大小:
all 分割的命令是相同的,只是 参数 改变:

- + 而不是 < >

示例
减少水平尺寸 10 列

:10winc -

将水平尺寸增加 30 列

:30winc +

或在正常模式下:

水平分割

10 CTRL+w -

30 CTRL+w +

垂直分割

10 CTRL+w (减少)

30 CTRL+w >(增加)

【讨论】:

  • +1。只是一个小评论:根据:he winc ctrl+w [count] {arg} 也可以...
  • 垂直的10winc +/- 等价物是什么?我有vertical resize 30,但更短的命令是首选 imo
【解决方案4】:

我的另一个提示:

为了将窗口的宽度设置为 80 列,请使用

80 CTRL+W |

为了将其设置为最大宽度,只需省略前面的数字:

CTRL+W |

【讨论】:

  • HEIGHT:此参数对应的是“_”(shift+-),用于调整高度。它实际上很容易在视觉上记住,因为 |字面意思是垂直分割线,_ 字面意思是水平分割线。示例:15 CTRL+W _ 将当前拆分高度设置为 15 行。另一种记住方式:对于绝对大小,您需要 SHIFT,因为两者都是 |和 _ 需要按下 shift
【解决方案5】:

我将这些映射到我的 .gvimrc 中,让我点击 command-[箭头] 来移动当前窗口的高度和宽度:

" resize current buffer by +/- 5 
nnoremap <D-left> :vertical resize -5<cr>
nnoremap <D-down> :resize +5<cr>
nnoremap <D-up> :resize -5<cr>
nnoremap <D-right> :vertical resize +5<cr>

对于 MacVim,您必须将它们放入您的 .gvimrc(而不是您的 .vimrc)中,否则它们会被系统 .gvimrc 覆盖

【讨论】:

  • 那个到底是什么意思?之前没有在 nnoremap 中看到过
  • 是“回车”的缩写,基本上相当于用户敲回车
  • &lt;D-left&gt; = CTRL-D 和左箭头?
【解决方案6】:

沿着同样的思路,我在.vimrc 中使用以下内容来让我在拆分中移动,自动将要移动到的拆分扩展到完整大小,并将所有其余部分缩小到最小高度或宽度:

" Switch between window splits using big J or K and expand the split to its 
" full size. 
" 
" Move vertically in the window through the horizontal splits... 
map <C-J> <C-w>j<C-w>_ 
map <C-K> <C-w>k<C-w>_ 

" Move horizontally in the window through the vertical splits... 
map <C-H> <C-w>h<C-w>\| 
map <C-L> <C-w>l<C-w>\| 

【讨论】:

    【解决方案7】:

    这是我现在使用的:

    nnoremap <silent> <Leader>= :exe "resize " . (winheight(0) * 3/2)<CR>
    nnoremap <silent> <Leader>- :exe "resize " . (winheight(0) * 2/3)<CR>
    nnoremap <silent> <Leader>0 :exe "vertical resize " . (winwidth(0) * 3/2)<CR>
    nnoremap <silent> <Leader>9 :exe "vertical resize " . (winwidth(0) * 2/3)<CR>
    

    【讨论】:

      【解决方案8】:

      我正在使用数字通过在 .vimrc 中映射以下内容来调整大小

      nmap 7 :res +2<CR> " increase pane by 2 
      nmap 8 :res -2<CR> " decrease pane by 2
      nmap 9 :vertical res +2<CR> " vertical increase pane by 2
      nmap 0 :vertical res -2<CR> " vertical decrease pane by 2
      

      【讨论】:

      • 我认为您的意思是 nmap 9 :vertical res +2&lt;CR&gt; 而不是 -2vertical increase
      • 这真是一个很好的绑定。谢谢!
      【解决方案9】:

      我为此使用以下命令:

      set lines=50     " For increasing the height to 50 lines (vertical)
      set columns=200  " For increasing the width to 200 columns (horizontal)
      

      【讨论】:

        【解决方案10】:

        改变宽度使用“垂直调整大小”,改变高度使用“调整大小”。

        我在我的 .vimrc 中完成了以下映射

        1. ALT 将增加所选分割的宽度

        2. ALT 将减小所选分割的宽度

        3. ALT 将增加所选分割的高度

        4. ALT 将减小所选分割的高度

        我的 .vimrc 代码:

        nmap <M-Right> :vertical resize +1<CR>
        nmap <M-Left> :vertical resize -1<CR>
        nmap <M-Down> :resize +1<CR>
        nmap <M-Up> :resize -1<CR>
        

        Vim Resize Splits more quickly

        【讨论】:

          猜你喜欢
          • 2015-10-28
          • 2013-12-26
          • 2011-02-12
          • 1970-01-01
          • 2011-01-17
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多