使用 shell 时如何将光标移动到给定位置

使用 shell 时如何将光标移动到给定位置

我在 MAC OSX 下使用 iterm2。

我可以使用“Ctrl+a”将光标移动到头部,使用“Ctrl+e”将光标移动到末尾

是否有任何热键可以将光标移动到指定位置?

答案1

Ctrl-]x移至下一个x
Alt-Ctrl-]x移至上一个x


readline 文档:

character-search (C-])
    A character is read and point is moved to the next occurrence of that character. A negative count searches for previous occurrences. 
character-search-backward (M-C-])
    A character is read and point is moved to the previous occurrence of that character. A negative count searches for subsequent occurrences. 

答案2

如果您喜欢 Vi,那么您可以在命令行上使用它来做您想做的事情(甚至更多!):

将这一行添加到你的 shell 的 rc 文件以将其打开(例如,.bashrc):

set -o vi # Enable vi key bindings

要激活该设置,source .bashrc(或打开一个新的终端窗口)。
现在,每当您想要转到当前行上的特定列位置时,请输入:

<Esc>0<col#>l

Esc在命令行上进入 vi 命令模式
0转到行首(第 0 列)
#是要转到的位置
l(字母 el)表示“向右移动”前一个字符数

相关内容