Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/75.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何将元键映射到vim中的控制键?_Vim - Fatal编程技术网

如何将元键映射到vim中的控制键?

如何将元键映射到vim中的控制键?,vim,Vim,我如何映射我的Windows键(在Ubuntu中被定义为Meta_L键),以便它也可以作为Vim中的Ctrl+L键使用?在某些情况下,这对我来说是一个更舒适的映射。您必须重新映射所有使用的序列才能使用,并将它们放在单独的.vimrc中 要接收当前映射的完整列表,请使用 :redir > ~/mappings | map | redir END :e ~/mappings :g!/<C-/d 这不是一分钟的工作,而是如何完成的。看起来Ctrl和Alt是在Vim源代码中硬编码的。如果

我如何映射我的Windows键(在Ubuntu中被定义为Meta_L键),以便它也可以作为Vim中的Ctrl+L键使用?在某些情况下,这对我来说是一个更舒适的映射。

您必须重新映射所有使用
的序列才能使用
,并将它们放在单独的.vimrc中

要接收当前映射的完整列表,请使用

:redir > ~/mappings | map | redir END 
:e ~/mappings
:g!/<C-/d

这不是一分钟的工作,而是如何完成的。

看起来Ctrl和Alt是在Vim源代码中硬编码的。如果您不介意影响所有其他程序,您可以将Windows键全局映射到Ctrl。一些窗口管理器将支持这样做,或者您可以使用。有一些关于将Windows键映射到另一个Esc的信息,这与之类似。

作为使用xmodmap的替代方法,如果您使用的是GNOME,您可以进入控制中心→ 键盘首选项→ 布局选项→ Alt/Win行为→ 控件映射到Win键。(或者,运行
gnome键盘属性


当然,这改变了一切,不仅仅是vim

您还可以转到系统设置>键盘>和Alt/Win键行为>控件映射到Alt键,Alt映射到Win键。使用thumb控件更好。

这不是WM功能,而是X服务器功能。您可以将
keycode{meta\u L\u keycode}=Escape
添加到
~/.Xmodmap
中,也可以将
Xmodmap$HOME/.Xmodmap
添加到
.xinitrc
.xsession
或WM特定的启动文件中(例如:
~/.fluxbox/startup
)。这是可行的,但以后可能会被反键盘处理程序覆盖,因此,如果使用KDE、Gnome等,他应该首先尝试搜索自己的选项。
:help map