加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > Linux > 正文

如何绑定CTRL在zsh中输入?

发布时间:2020-12-13 23:20:47 所属栏目:Linux 来源:网络整理
导读:我想在zsh中绑定CtrlEnter?: bindkey '^M' autosuggest-execute 但似乎终端为除Alt之外的任何修改键发送相同的转义序列. $showkey -aPress any keys - Ctrl-D will terminate this program^M 13 0015 0x0d # Enter^M 13 0015 0x0d # CTRL + Enter^M 13 0015
我想在zsh中绑定CtrlEnter?:

bindkey '^M' autosuggest-execute

但似乎终端为除Alt之外的任何修改键发送相同的转义序列.

$showkey -a

Press any keys - Ctrl-D will terminate this program

^M       13 0015 0x0d # Enter
^M       13 0015 0x0d # CTRL  + Enter
^M       13 0015 0x0d # SHIFT + Enter
^[^M     27 0033 0x1b # ALT   + Enter
         13 0015 0x0d

我不确定问题是否特定于gnome-terminal.我也在mate-terminal和xterm中对此进行了测试,结果是一样的.有没有办法检测CTRL Enter?

解决方法

这是xterm,gnome-terminal和XWindow系统的任何其他终端仿真器的解决方案.

请注意,将Ctrl Enter映射到特定的shell命令可以使用xterm专门完成,其方式不会影响在同一X Server上运行的其他终端仿真程序.使用gnome-terminal,有一个更通用的解决方案,但它将同时应用于XWindow服务器上的每个终端仿真器,而不仅仅是gnome-terminal.因此,根据您的需求,您必须选择这两种解决方案中的一种.

首先,这里是特别适合xterm的解决方案:

让我们将Ctrl Enter绑定到尚未受其他组合约束的序列:使用xterm,可以通过指定一些X资源来填充翻译表来完成.例如,绑定到Esc M.然后,在zsh中使用bindkey将此特定序列绑定到您的ZLE函数(根据您的问题自动提示执行).

要尝试,请按照以下步骤操作:

1-以这种方式启动xterm:

% xterm -xrm '*.VT100.translations: #override Ctrl <Key>Return: string(0x1b) string("M")'

注意:我们使用了Return,但这是Enter,我们将以这种方式映射.

2-在新的xterm窗口中,使用bindkey:

% bindkey '^[M' autosuggest-execute

3-现在键入CTRL-Enter以运行autosuggest-execute

对于几乎所有终端仿真器,这是更通用的解决方案:

如上所述,让我们将Ctrl Enter绑定到尚未受其他组合约束的序列(我们在这里选择Esc M).使用Compose(5)X11机制:添加一个文件$HOME / .XCompose,其中包含多键输入序列Ctrl M的特定映射.然后,使用zsh中的bindkey将此特定序列绑定到ZLE函数(autosuggest-execute)根据你的问题).

要尝试,请按照以下步骤操作:

1-创建一个名为$HOME / .XCompose的新文件

在此文件中添加以下内容:

include "%L"
! Ctrl <Return> : "33M"

注1:我们使用了Return,我们将以这种方式进行映射.

注2:!不是注释标记,重要的是将它保持在此行的开头.

注3:第一行(包括…)用于保持其他快捷方式正常工作(例如^ e映射到ê).

2-现在,你可以启动gnome-terminal

3-在新的gnome-terminal窗口中,使用bindkey:

% bindkey '^[M' autosuggest-execute

4-现在键入CTRL-Enter以运行autosuggest-execute

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读