CTRL+A假设我的命令提示符中有以下行,并且光标位于该行的和处或使用 ( )位于该行的开头
[subhrcho@slc04lyo pcbpel]$ abc def ghi jkl
我如何导航到特定单词,例如 to def
。我在用tcsh壳里操作系统我认为默认绑定是emacs模式。
MetaPS:我的键盘上没有按键。我可以CTRL+f分别使用 和 在单词之间向前或向后移动。所以我认为我的Meta钥匙就是Esc钥匙。请如果这个假设是错误的,请纠正我。Alt 也不能用作元键.我看了一下emacs 文档但调用CTRL-s w然后按下Enter对我来说不起作用。它只是尝试通过首先w
向其附加一个字符来执行提示中的任何内容,并且提示会显示:
[subhrcho@slc04lyo pcbpel]$ abc def ghi jklw
abc: Command not found.
答案1
ByMeta-x tcsh
意味着它需要ESC
ASCII 字符(又名^[
或\e
),后跟x
。您始终可以通过按顺序快速按Escape和来完成此操作x,或者某些终端通过按 来完成此操作Alt-x。
x
其他一些终端按 时会发送第 8 位设置的字符Alt-x。使用xterm
,您可以通过添加以下内容来更改:
XTerm*metaSendsEscape: true
到 X11 资源文件。
现在,为了在 中搜索tcsh
,如果您想模拟emacs
/zsh
Ctrl-R或Ctrl-S模式emacs
,则必须绑定i-search-back
和i-search-fwd
小部件:
bindkey '^R' i-search-back
bindkey '^S' i-search-fwd
但请注意,对于终端驱动程序来说,通常^S
是stop
暂停终端输入和输出的字符(使用 恢复^Q
)。因此,如果您想绑定^S
,则必须通过禁用流量控制来禁用它:
stty -ixon
或者绑定stop
到其他一些字符:
stty stop '^T'