在 Bash 中,有一些方便的操作符可以重复上一个命令的部分内容:
!^
扩展到前一个命令的第一个参数,例如,
$ echo one "two three"
one two three
$ echo !^
echo one
one
Run Code Online (Sandbox Code Playgroud)!$
扩展到上一个命令的最后一个参数,例如,
$ echo one "two three"
one two three
$ echo !$
echo "two three"
two three
Run Code Online (Sandbox Code Playgroud)!*
扩展到前一个命令的所有参数,例如,
$ echo one "two three"
one two three
$ echo !*
echo one "two three"
one two three
Run Code Online (Sandbox Code Playgroud)(据我所知,它们分别是!!:^
,!!:$
和 的语法糖!!:*
, where!!
是扩展到前一个命令的事件指示符^
,$
和*
是单词指示符,请参阅Bash 参考手册或man bash
。) …
当在终端中时,我可以使用Ctrl+w删除整个单词或 IP(.
是每个八位字节的分隔符)。但是,如果我尝试Alt+d向右移动提示,终端会识别“。” in IP为一个分隔符,只删除一个chunk,直到删除.
整个IP。
我如何可以调整使终端只承认空白的字的分离,甚至最好是有另一个快捷方式不同的分隔符:.
,=
,,
,等?
它与使用 Ctrl+箭头(左和右)在终端中的操纵非常相似,并且行为基于为单词分隔符设置的内容相似。
我读到 Emacs 编辑器位于终端用来拥有这些快捷方式的后面,但我无法眨眼。