我知道Alt键是默认的mod键。
但是我可以在Vim中将其更改为Win键吗?因为Alt 或者具体地说,我可以使用Vim中的Win键来进行键映射吗?就像我想做 我读过这样一个问题:Windows密钥可以在Vim中映射吗?但它并没有回答我的疑虑。所以我来这里寻求帮助。 PS:我使用的是Ubuntu 14.04<Win-J>
,就像nnoremap
中的<C-J>
一样。
由于Vim无法识别窗口键,您可能需要执行以下操作:
-
将窗口键映射到操作系统上未映射的ctrl键序列(例如ctrl+L)(仅当vim/shell是活动窗口时)
-
`nnoremap v echo"嗨"。现在您可以按Win+v
这不是最好的解决方案,因为我不确定您的操作系统如何将持有win
密钥视为Ctrl + l
的多个分派。也许你需要弄清楚,当你按下win
(但还没有发布)时,你是否可以让它"按下然后立即发布"
编辑:
解决方案分为两部分:将Windows密钥映射到某个序列(例如ctrl + l
),然后在vim中,在你的vimrc:中放入这样的东西
inoremap <c-l><c-k> hello
nnoremap <c-l><c-k> :echo("hello")<cr>
现在,在插入模式下,按Win + k
应该为您键入hello
,而在正常模式下,按下win + k
应该回显"hello"。
在我的系统中,我使用xmodmap
制作Window
密钥和额外的Ctrl
密钥,这样我就使用Window
密钥作为我的控制密钥(原始的Ctrl
密钥仍然有效)。
在~/.Xmodmap
中保存以下行:
! Make windows Meta key an aditional Control key
remove Control = Control_L Control_R
remove mod4 = Super_L Super_R
add Control = Control_L Super_L
某些窗口管理器会自动加载此文件,如果没有,请使用xmodmap ~/.Xmodmap
。