我想以快速的方式在命令行参数之间移动。例如,如果我有以下命令行:
> do_something_with /very_long_path/to_a_very_long_directory/ more_args
^ ^
我想跳过整个路径(在^符号之间跳转)。我已经熟悉单词模式(Alt + B和Alt + F),但在某些情况下,它不足以在参数之间快速导航。
答案 0 :(得分:1)
在bash中,您可以使用以下功能将光标设置为上一个给定字符:
character-search
和character-search-backward
功能。
ctrl + ] ,(resp。 alt + ctrl + ] )+ searched_character
在您的示例中,您可以向后搜索空格。
> do_something_with /very/long/path/\ with_spaces\ directory/ more_args
^ ^
不幸的是,这对于以下路径不会很好:
> do_something_with /very_\ long_path/to_a_\ very_long_directory/ more_args
作为旁注,您可以使用 ctrl + a 和 ctrl + e 来开头/一行。
答案 1 :(得分:1)
有(引自manual)
shell-forward-word ()
前进到下一个单词的结尾。单词由非引用的shell元字符分隔。
和
shell-backward-word ()
回到当前或上一个单词的开头。单词由非引用的shell元字符分隔。
我已将它们绑定到 Ctrl + Alt + F 和 Ctrl + Alt + B 将此添加到我的.inputrc
:
"\e\C-f": shell-forward-word
"\e\C-b": shell-backward-word
答案 2 :(得分:0)
对于vi / vim用户,ctrl+] + char
可用于快速导航到给定字符的首次出现。相当于vi / vim中的f + char
。