Sim*_*mon 11 vim gnome-terminal
是否可以在 Gnome 终端中使用Ctrl-映射序列Shift?
我正在尝试添加映射
map <C-S-[> gTmap <C-S-]> gt它不起作用。怎么做?
不知何故,我映射了<C-S-]>,但事实证明它不是<C-S-]>,但是<C-]>,所以看起来它不能识别这个序列中的 Shift 。是配置错误还是 gnome-terminal 的错?
除了。映射<C-[>,按下后,看起来 vim 正在等待。我想这是映射超时,但是当我精确按下<C-[>并且不想按下其他任何东西时如何摆脱这个超时?
我刚开始学习 vim,如果映射中存在明显错误,我很抱歉。
我认为这里的问题是您试图让希望在终端中运行的 vim 识别 CTRL-SHIFT 序列。虽然 X 可以识别这样的组合,但在终端(或者现在的终端模拟器)中运行的应用程序却不能。这是因为,从历史上看,终端只能通过串行连接发送和接收 ASCII 数据的七位或八位序列(尽管这可能包括定位光标、滚动或删除行、更改颜色和其他有用的“转义序列”效果)。
ASCII 字符集中有 32 个“控制代码”,包括熟悉的 CTRL-A 到 CTRL-Z。但是“CTRL-SHIFT”A 到 Z 没有对应的 ASCII 代码。现在,gnome-terminal 本身可以识别这些代码(例如,CTRL-SHIFT-V 将粘贴剪贴板中的文本),但 vim 不会能够直接访问它。
当然,有可能(我不知道)将终端模拟器设置为将 CTRL-SHIFT 按键转换为转义序列,然后可以通过 vim 映射识别该序列。
========
您可能对 gvim 感兴趣,它是 vim 的图形版本,作为 X 程序而不是终端程序运行。也许 gvim 能够理解 CTRL-SHIFT 代码?
| 归档时间: |
|
| 查看次数: |
4188 次 |
| 最近记录: |