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.
您可以使用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)
这些答案(包括这个)都不是特定于 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
很抱歉回答这么古老的问题,但是解决方案确实很简单:无法在终端中使用Win键,但可以在Gvim中使用它。只需将其作为修饰符T传递即可。例如,
:nmap <T-F5> :q<cr>
Run Code Online (Sandbox Code Playgroud)
会将Win + F5映射到:q命令。但是它仅在* nix下可用。