Windows 键可以在 Vim 中映射吗?
在 Emacs 中使用 Windows 键作为 Meta 非常有用,有没有办法在 Vim 中做到这一点?
Using Windows key as Meta is very useful in Emacs, is there the way to do it in Vim?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(5)
即使在终端中,您也绝对可以,尽管您必须将其用作元键(我发现无法单独使用它)。
使用 vim 编辑 .vimrc 文件。 假设您想在正常模式下重新映射
Win+q
以退出 vim。只需添加您的映射,然后在尝试指示快捷方式时,按
Ctrl+V
,然后按Win+q
。这会将类似于
^X@sq
的内容添加到您的文件中(但不要直接键入,^X
是一个 特殊字符)。最后你的行应该是这样的:
保存并退出,再次启动 vim,就是这样。
注意:插入模式下的
Ctrl+v
按字面意思插入以下键/键组合。 有关更多信息,请在 vim 中尝试:help i_CTRL-V
。You definitely can, even in terminal, although you have to use it as a meta key (I found no way to use it on its own).
Edit your .vimrc file with vim. Say you want to remap
Win+q
in normal mode to quit vim.Simply add your mapping and, when trying to indicate your shortcut, press
Ctrl+V
, thenWin+q
.This will add something similar to
^X@sq
to your file (but do not type it directly, the^X
is a special character).In the end your line should look like:
Save and quit, launch vim again, and that's it.
Note:
Ctrl+v
in insert mode inserts followoing key/combination of keys literally. For more info try:help i_CTRL-V
in vim.抱歉回答这么古老的问题,但解决方案非常简单:不可能在终端中使用 Win 键,但可以与 Gvim 一起使用它。 只需将其作为修饰符 T 传递即可。例如,
将 Win+F5 映射到 :q 命令。 但只能在*nix下使用。
Sorry for answering so ancient question, but solution is really simple: it is impossible to use Win key in the terminal, but it is possible to use it with Gvim. Just pass it as modifier T. For example,
will map Win+F5 to :q command. But it is usable only under *nix.
您可以使用 AutoHotkey 将 windows 键映射 到其他键。 仅当 vim 处于活动状态时才激活映射:
You can use AutoHotkey to map the windows key to a different key. Only activate the mapping when vim is active:
这些答案(包括这个)都不是特定于 vim 的,所选答案是特定于 Windows 的。 这是 *nix 运行 X 的情况。
我将左 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/ [电子邮件受保护]/msg02859.html
[1] http://www.paganini.net/index.cgi/linux/ nocaps.html
[2] http://ubuntuforums.org/archive/index.php/t- 975229.html
None of these answers (including this one) is vim-specific, and the selected answer is Windows-specific. Here's one for *nix running X.
I map my left Win key to the Esc key. This won't work in virtual terminals, but it works in X.
Either:
(1) Append
keysym Super_L = Escape
to~/.Xmodmap
and executexmodmap .Xmodmap
.|______(1a) ~same as
echo "keysym Super_L = Escape" >> ~/.Xmodmap && xmodmap .Xmodmap
.(2) Execute
xmodmap -e "keysym Super_L = Escape"
.If you want it to work in virtual terminals, see [0].
REFERENCES:
[0] http://www.mail-archive.com/[email protected]/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 没有帮助
Not quite sure, but the Ctrl+Esc key combo is a windows only key mapping. It won't help with vim