繁体   English   中英

Vim映射/命令不起作用

[英]Vim mappings/command not working

我正在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>它不会移动窗口。 我也在使用<Cw> + ,但是窗口没有调整大小! 我也尝试过<Cw> < ,但是每次调整大小为1像素! 有没有更快的方法来调整分割窗口的大小?

10 Ctrl-W +将窗口大小增加10行。 要将所有Windows的大小调整为相同大小,可以使用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

<CW>命令按单独的 / 调整大小(在控制台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主要发行版中使用它。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM