40

要在 vim 中使用 ALT 键而不进行调整,应在 xterm 中禁用转义。如果不转义,ALT 将无法在 bash 中用于快捷方式。

要解决此问题,我需要在启动 vim 之前重新加载此选项:

XTerm*metaSendsEscape: false | xrdb -load 

知道如何在不重新启动终端窗口的情况下重新加载 .Xresource 并使更改生效吗?
打开其他终端,让 ALT 在 vi​​m 和 bash 中工作。

4

4 回答 4

85

这将重新加载.Xresources

xrdb ~/.Xresources

资料来源:Arch wiki

于 2014-11-23T05:55:36.450 回答
13

xterm不会因为您运行而重新读取资源xrdb。X 应用程序仅在初始化时读取资源。

除了菜单项(在补丁 #122, 1999中添加)之外,还可以使用另外两种方法来更改metaSendsEscape资源:

  • 转义序列,记录在XTerm 控制序列中

    CSI ? Pm h DEC Private Mode Set (DECSET). ... Ps = 1 0 3 6 -> Send ESC when Meta modifies a key. (This enables the metaSendsEscape resource).

  • editres(但由于资源众多,非常繁琐)

于 2016-08-07T00:57:18.630 回答
3

是的,刚刚检查过了,XTerm 在它的菜单中有这个选项!我以为我在里面看到了...

当您按住 Ctrl 键时,XTerm 会响应每个左键、中键(又名滚轮)和右键单击各个选项菜单。

在您的情况下,“Meta Sends Escape”位于 ctrl+左键菜单中:)

此外,检查所有三个菜单(如果只是为了了解选项的存在)是一个非常好的主意。例如,我经常使用字体选择器。

于 2014-03-20T19:11:23.033 回答
2

不得不投入xterm*metaSendsEscape: true.Xdefaults使用.Xresources不想在16.04下为我工作。

紧随其后的是xrdb ~/.Xdefaults.

于 2018-04-17T10:09:41.760 回答