如何在vim中映射{Ctrl 0,-,=}键?
-
12-12-2019 - |
题
我的键盘布局(第二行):
`1...0-=退格键
我想将函数调用映射到 控制键+ 0, -, =.
这是我创建的函数:
" it doesn't work
nnoremap <C-=> :call IncFontSize(+1)<CR>
" it works
nnoremap <C--> :call IncFontSize(-1)<CR>
" it doesn't work
nnoremap <C-0> :call IncFontSize(0)<CR>
fun! IncFontSize(inc)
if !exists('+guifont')
return
endif
let s:defaultfont = 'Ubuntu Mono 12'
if a:inc==0 || empty(&guifont)
let &guifont = s:defaultfont
return
endif
let &guifont = substitute(&guifont, '\d\+$', '\=submatch(0)+'.a:inc, '')
endfun
如何将函数调用映射到这些键?
解决方案
注意如何在命令行模式下, ctrl - _ 生成的^_
,但 ctrl - 0 和 ctrl - = 产量没有。
由于键盘输入在内部处理,区分此类以及许多其他关键组合(如 Ctrl + 字母与 Ctrl < / KBD> + Shift + 字母)今天不可能,即使在GVIM也是如此。这是一个已知的痛点,以及关于Vim_dev和#vim Irc信道的各种讨论的主题。
有些人(最重要的Paul Leonerd Evans)想修复它(即使对于支持这一点的终端中的控制台Vim,也浮动各种建议,CP。 link
但截至今天,没有补丁或志愿者尚未出现,尽管许多人表示希望在未来的Vim 8主要版本中拥有这一点。
其他提示
http://vim.wikia.com/wiki/Fast_window_resizing_with_plus/minus_keys
仅仅只是 +
和 -
……没有别名
:nmap + :echo "hello world"<CR>
是你想要的吗?
不隶属于 StackOverflow