Yuv*_*val 12 terminal osx-snow-leopard macos
假设我在 Mac OSX 终端中写了一个长命令,即
say "Hello, how are you? I am good thank you. How is it going with you? Fine, thanks"
Run Code Online (Sandbox Code Playgroud)
现在我想改变的话Hello
来Hi
。
要做到这一点,现在我必须一直按住(或按住)左键盘键,直到“光标”到达单词的末尾Hello
,然后将其删除。通常的“按住选项”技术不像在大多数其他 OS X 应用程序中那样工作。
有没有办法一次跳过一个单词(或任何其他更短的光标方式)?
Chr*_*sen 21
命令行编辑是 shell 的功能,而不是Terminal 的功能。可能你的 shell 是bash并且它的命令行编辑风格可能设置为“emacs”。
以下是一些您可能会觉得很方便的 Emacs 风格的组合键:
beginning-of-line
end-of-line
forward-word
backward-word
delete-char
kill-word
删除下一个'单词')backward-kill-word
C- x表示Control+ x,所以 Ca 是Control+ a。
M- x表示Meta+ x,但您的键盘上可能没有 Meta 键。因此,您可以使用 ESC x(即Escapethen x)。终端有一个设置,可以在按住键之前自动发送 ESC Option。使用此功能会禁用 Mac OS X 在使用 Option 修饰符时通常提供的扩展字符处理。因此,如果您使用很少的扩展字符并希望Option+x发送 ESC x,那么您可以启用此终端选项。
在您的示例中,有很多方法可以转到“Hello”:
还有几种方法可以完成您想要的替换:
如果你停在词尾(可能通过 Ca Mf Mf),你可以使用 M-DEL H i。
您可能会做一些类似的事情bind -P | less
来寻找其他有趣的绑定。咨询的ReadLine一节的bash的手册页(或在readline的的部分bash的信息页面了解详细信息)。
归档时间: |
|
查看次数: |
12272 次 |
最近记录: |