在 Emacs 中使用 Windows 键作为 Meta 非常有用,有没有办法在 Vim 中做到这一点?
5 回答
即使在终端中,您也绝对可以,尽管您必须将其用作元键(我发现无法单独使用它)。
用 vim 编辑你的 .vimrc 文件。假设您想Win+q
在正常模式下重新映射以退出 vim。只需添加您的映射,并在尝试指示您的快捷方式时,按Ctrl+V
,然后按Win+q
。
这将添加类似于^X@sq
您的文件的内容(但不要直接输入,这^X
是一个特殊字符)。
最后,您的行应如下所示:
nnoremap ^X@sq :q<CR>
保存并退出,再次启动 vim,就是这样。
注意:Ctrl+v
在插入模式下,按字面意思插入以下键/键组合。有关更多信息,请尝试:help i_CTRL-V
使用 vim。
很抱歉回答了这么古老的问题,但解决方案非常简单:在终端中无法使用 Win 键,但可以与 Gvim 一起使用。只需将其作为修饰符 T 传递即可。例如,
:nmap <T-F5> :q<cr>
将 Win+F5 映射到 :q 命令。但它只能在 *nix 下使用。
您可以使用AutoHotkey 将windows 键映射到不同的键。仅当 vim 处于活动状态时才激活映射:
#IfWinActive ahk_class GVIM
RWin::Alt
LWin::Alt
#IfWinActive ; This puts subsequent remappings and hotkeys in effect for all windows.
这些答案(包括这个)都不是特定于 vim 的,所选答案是特定于 Windows 的。这是运行 X 的 *nix 的一个。
我将左 Win 键映射到 Esc 键。这在虚拟终端中不起作用,但在 X 中起作用。
要么:
(1)追加keysym Super_L = Escape
并~/.Xmodmap
执行xmodmap .Xmodmap
.
|______(1a) ~ 与 相同echo "keysym Super_L = Escape" >> ~/.Xmodmap && xmodmap .Xmodmap
。
(2) 执行xmodmap -e "keysym Super_L = Escape"
。
如果您希望它在虚拟终端中工作,请参阅 [0]。
参考文献:
[0] http://www.mail-archive.com/screen-users@gnu.org/msg02859.html
[1] http://www.paganini.net/index.cgi/linux/nocaps.html
[2] http://ubuntuforums.org/archive/index.php/t-975229.html
不太确定,但Ctrl+Esc键组合是仅 Windows 的键映射。它对 vim 没有帮助