我包含的映射Alt在vim使用 in 时不起作用urxvt。他们在gvim. 这种映射的一个例子
map <silent> <A-h> <C-w><
Run Code Online (Sandbox Code Playgroud)
在插入模式下,当我输入时Alt-h,只h打印。我需要如何配置urxvt以便包含Alt在 vim中工作的映射?我正在使用 Ubuntu。
糟糕,我在 urxvt 中将我的修饰符设置为 super。这就是为什么没有一个解决方案对我有用。确保将修饰符设置为 Alt 以使建议的解决方案起作用。
小智 5
当<A-x>x 是可打印字符(即,不是光标或箭头键)时,在 Vim 中进行映射时,它告诉 Vim 期望该字符具有第 8 位/高位集(也就是将 128 添加到 ASCII 值)。
在您的示例中,<A-h>表示 Vim 将在您键入 è 时触发映射。h 的 ASCII 值是 104(二进制 01101000),当您设置该数字的第 8 位时,您会得到 è 的 ASCII 值 232(二进制 11101000)。
在 urxvt 和许多其他终端中发生的事情是 Alt 键被设置为发送带有转义字符前缀的字符而不是“添加 128”。在这种情况下,使用 Vim 种子<Esc>h而不是 è,因此不会触发映射。
这使你两个选择:重新配置您的终端做不同的事情与Alt修饰或与添加更多映射到Vim的<Esc>x除了<A-x>。