终端命令行快速导航

时间:2016-02-23 07:47:55

标签: linux bash terminal

我想以快速的方式在命令行参数之间移动。例如,如果我有以下命令行:

> do_something_with /very_long_path/to_a_very_long_directory/ more_args
                    ^                                       ^    

我想跳过整个路径(在^符号之间跳转)。我已经熟悉单词模式(Alt + B和Alt + F),但在某些情况下,它不足以在参数之间快速导航。

3 个答案:

答案 0 :(得分:1)

在bash中,您可以使用以下功能将光标设置为上一个给定字符:

character-searchcharacter-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