hai*_*mon 4 keyboard-shortcuts tcsh line-editor
我正在寻找一个键盘快捷键tcsh来将光标移回前一个空白处:不是ESC+B它将我带回一个单词(例如,在路径参数中,到上一个路径组件)-我想回到上一个空间或当前路径的开始。
如果您指的是交互式bashshell提示下的键盘快捷键,您可以将shell-backward-word和绑定shell-forward-word到在某些键或按键组合上发送的某些字符序列。
就像按在您的终端上Ctrl-Left发送序列\e[1;5D一样,就像在 中一样xterm,您可以这样做:
bind '"\e[1;5D": shell-backward-word'
bind '"\e[1;5D": shell-backward-word'
Run Code Online (Sandbox Code Playgroud)
请注意,它不会从空白跳到空白,而是考虑 shell 引用。所以例如在一行中
echo "foo 'bar baz' blah/bleh bloh
^ ^ ^ ^
Run Code Online (Sandbox Code Playgroud)
它会跳到上面标记的位置。
编辑: for tcsh,您有三个选择:
使用与上述bash定义等效的in~/.cshrc或 in/etc/csh.cshrc.local来为所有用户提供好处。
bindkey '\e[1;5D' backward-word
bindkey '\e[1;5C' forward-word
Run Code Online (Sandbox Code Playgroud)使用vi模式(with bindkey -v)并在正常模式下使用B和W键,就像在 中一样vi。
在emacs模式(默认,重新启用bindkey -e)像 for bash,绑定相应的小部件(vi-word-back和vi-word-fwd):
bindkey '\e[1;5C' vi-word-fwd
bindkey '\e[1;5D' vi-word-back
Run Code Online (Sandbox Code Playgroud)请注意,它们类似于vi'sB和W,因此它们用于在空白分隔的单词之间跳转,而不是像bash上面的解决方案那样的 shell 标记(如带引号的字符串)。