![使用 shell 时如何将光标移动到给定位置](https://linux22.com/image/1353749/%E4%BD%BF%E7%94%A8%20shell%20%E6%97%B6%E5%A6%82%E4%BD%95%E5%B0%86%E5%85%89%E6%A0%87%E7%A7%BB%E5%8A%A8%E5%88%B0%E7%BB%99%E5%AE%9A%E4%BD%8D%E7%BD%AE.png)
我在 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)表示“向右移动”前一个字符数