Windows密钥可以映射到Vim吗?

Ale*_*nov 15 vim keyboard-shortcuts editor keymapping

使用Windows键作为Meta在Emacs中非常有用,有没有办法在Vim中执行此操作?

小智 8

你绝对可以,即使在终端,你必须使用它作为元键(我发现无法单独使用它).

使用vim编辑.vimrc文件.假设您要Win+q在正常模式下重新映射以退出vim.只需添加您的映射Ctrl+V,然后在尝试指示快捷方式时按,然后按Win+q.

这将添加类似于^X@sq您的文件(但不要直接键入,这^X是一个特殊字符).

最后你的行应该是这样的:

nnoremap ^X@sq :q<CR>
Run Code Online (Sandbox Code Playgroud)

保存并退出,再次启动vim,就是这样.

注意:Ctrl+v在插入模式下,按字面顺序插入后续键/组合键.有关更多信息,请尝试:help i_CTRL-V使用vim.


wim*_*ica 5

您可以使用AutoHotkey将Windows键映射到另一个键.仅在vim处于活动状态时激活映射:

#IfWinActive ahk_class GVIM
RWin::Alt  
LWin::Alt  
#IfWinActive  ; This puts subsequent remappings and hotkeys in effect for all windows.
Run Code Online (Sandbox Code Playgroud)


Ykt*_*ula 5

这些答案(包括这个)都不是特定于 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


frp*_*frp 5

很抱歉回答这么古老的问题,但是解决方案确实很简单:无法在终端中使用Win键,但可以在Gvim中使用它。只需将其作为修饰符T传递即可。例如,

:nmap <T-F5> :q<cr> 
Run Code Online (Sandbox Code Playgroud)

会将Win + F5映射到:q命令。但是它仅在* nix下可用。


小智 0

不太确定,但Ctrl+Esc键组合是仅限 Windows 的键映射。这对 vim 没有帮助