当我输入时Alt-x,execute:会弹出:
~ %
execute: _
Run Code Online (Sandbox Code Playgroud)
我可以继续输入(空格无效):
~ %
execute: what'sthis
Run Code Online (Sandbox Code Playgroud)
Q1:这次促销的目的是什么?
Q2:如何修改这个快捷键到其他键位绑定?因为M-x在 emacs 中相当有用,而我在 emacs 中经常使用 shell,所以两者冲突。
我用谷歌搜索了几个小时,但仍然没有答案(也许我的关键字不正确 - google: "zsh" + "excute:" , "google: zsh keybinding bindkey
Sté*_*las 15
如果你这样做:
bindkey | grep -F '^[x'
Run Code Online (Sandbox Code Playgroud)
或者干脆:
bindkey '^[x'
Run Code Online (Sandbox Code Playgroud)
或者如果对如何表达 Alt+x 有疑问:
bindkey | grep -w x
Run Code Online (Sandbox Code Playgroud)
你会看到的:
"^[x" execute-named-cmd
Run Code Online (Sandbox Code Playgroud)
这是绑定到 ESC x 的小部件的名称,大多数终端在按下时发送 ESC x 字符序列 Alt+x
info zsh execute-named-cmd
Run Code Online (Sandbox Code Playgroud)
会告诉您该小部件的作用(您可能需要zsh-doc在某些系统上安装该软件包)。
顾名思义,它会提示要执行的命令。这里的命令是 zsh 小部件、编辑器命令。这相当于emacs' Meta-x,不同之处在于它的zsh的编辑命令,而不是emacs命令(调用的命令execute-extended-command中emacs)
例如,如果在该提示下键入backward-delete-char并按Return,它将调用默认绑定到的小部件Backspace。您可以在emacs.
相反,如果您键入descTab(Tab为了完成它describe-key-briefly,默认情况下未绑定到任何键的小部件,也可以在 中找到emacs)并按Return,您将看到另一个提示:
$
Describe key briefly: _
Run Code Online (Sandbox Code Playgroud)
比如说,你可以在哪里按下它,Alt+x看看它会做什么。然后你会得到:
"^[x" is execute-named-cmd
Run Code Online (Sandbox Code Playgroud)
如果你在 中做同样的事情emacs,你会看到:
M-x runs the command execute-extended-command
Run Code Online (Sandbox Code Playgroud)
要查看小部件列表,请运行zle -al,zle -l对于非内置小部件,bindkey列出键绑定。
你可以绑定Alt+x到别的东西
bindkey "^[x" some-widget
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2672 次 |
| 最近记录: |