在Unix命令行中逐字移动

Rag*_*hav 1 unix shell tcsh

我工作,tcsh并希望在Unix命令行中向前导航,向后导航.

谷歌搜索显示Alt+ f,Alt+ b向前移动一个单词并向后移动一个单词.但它在Unix命令行上不起作用.有人可以帮忙吗?

Mar*_*oij 5

您可以使用bindkey列出键绑定:

[~]% bindkey | grep -E '(forward|backward)-word'

"^[B"          -> backward-word
"^[F"          -> forward-word
"^[b"          -> backward-word
"^[f"          -> forward-word
Run Code Online (Sandbox Code Playgroud)

^[是转义字符,所以Esc接下来是fF.某些终端模拟器也可能Alt作为转义字符发送(但显然不会发送).

您的设置可能会有所不同,但这似乎是我的Linux和FreeBSD系统上的默认设置.

要将其设置为,例如,CTRL+ f,您可以使用:

 bindkey '^f' forward-word
Run Code Online (Sandbox Code Playgroud)

或者Alt+ f:

bindkey 'M-f' forward-word
Run Code Online (Sandbox Code Playgroud)

添加此项以~/.tcshrc使其永久化.

有关更多信息,请参阅联机帮助页条目bindkey.