0

我正在使用 vim 中的拆分窗口,但在导航和调整拆分窗口大小时遇到​​问题。

我已将这些映射添加到我的 .vimrc 文本文件中:

nmap <silent> <A-Up> :wincmd k<CR>
nmap <silent> <A-Down> :wincmd j<CR>
nmap <silent> <A-Left> :wincmd h<CR>
nmap <silent> <A-Right> :wincmd l<CR>

但是,按下<A-Left>它时仍然不会移动窗口。我也在使用<C-w> +,但窗口不调整大小!我也尝试过<C-w> <,但它一次调整大小为 1 个像素!有没有更快的方法来调整拆分窗口的大小?

4

2 回答 2

1

10 Ctrl-W+ 将窗口大小增加 10 行。要将所有窗口调整为相同大小,您可以使用 CTRL-W = 并将窗口增加到其最大大小,请使用 Ctrl-W _。

要以不同的步骤调整大小,您可以创建以不同方式调整窗口大小的地图。例如,要将窗口大小增加 1.5 倍并将窗口大小减小 0.67,您可以映射:

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

或者,您可以使用 :resize 命令更改窗口的高度,更改窗口的宽度,使用 :vertical 修饰符。因此,要调整 10 行的大小,请使用:

:res +10
:res -10

至于导航试试

 nnoremap <C-h> <C-w>h
 nnoremap <C-j> <C-w>j
 nnoremap <C-k> <C-w>k
 nnoremap <C-l> <C-w>l
于 2013-01-23T11:36:00.003 回答
1

这些<C-W>命令按单独的/调整大小(在控制台 Vim 中甚至不可能使用像素),但是您应该在它们之前添加一个数字以一次更改更大的数量。(很多 Vim 命令都采用这样的[count],因为它在帮助中被调用。)


对于<A-Up>映射,它们是否在图形 GVIM 中工作,而不是在控制台中?!映射定义看起来不错(但您应该使用:nnoremap)。

由于内部处理键盘输入的方式,某些组合键,如Ctrl+ 非字母无法映射,并且无法区分Ctrl+ 字母与Ctrl+ + 字母。Shift(除非您的终端为它发送一个不同的termcap代码,而大多数人不会。)在插入或命令行模式下,尝试键入组合键。如果没有任何反应/插入,则不能使用该组合键。这是一个已知的痛点,也是 vim_dev 和 #vim IRC 频道上各种讨论的主题。

一些人(最重要的是 Paul LeoNerd Evans)想要解决这个问题(即使是支持这个的终端中的控制台 Vim),并提出了各种建议,cp。http://groups.google.com/group/vim_dev/browse_thread/thread/626e83fa4588b32a/bfbcb22f37a8a1f8

但是截至今天,还没有补丁或志愿者出现,尽管许多人表示希望在未来的 Vim 8 主要版本中拥有它。

于 2013-01-23T12:10:26.923 回答