在bash命令行中跳至上一个空白的快捷方式

时间:2018-09-03 21:56:31

标签: bash

要跳至命令行中的上一个单词,请使用Alt + b。 但是,我的文件名很长,看起来像这样:

2018_09_03_abcdef_ghijkl_mnopqr_stuvwx_yz.txt

当我想更改这些文件的名称时,我使用命令mv和一个快捷方式**,该快捷方式允许我粘贴第一个单词/参数(文件的当前名称)。这给了我以下命令:

$ mv 2018_09_03_abcdef_ghijkl_mnopqr_stuvwx_yz.txt 2018_09_03_abcdef_ghijkl_mnopqr_stuvwx_yz.txt

然后我要更改日期和/或文件名的首字母以获取例如最终命令行:

$ mv 2018_09_03_abcdef_ghijkl_mnopqr_stuvwx_yz.txt 2018_09_04_ABcd1234_ghijkl_mnopqr_stuvwx_yz.txt

要在文件名的开头进行更改,我必须多次键入快捷键Alt + b,因为此快捷键会将每个由下划线分隔的字母视为一个单词。

我希望能够直接跳到名称的开头(而不是行的开头)进行修改。定位空白的快捷方式将是理想的选择。

我找不到能够跳过下划线并直接转到上一个空白的快捷方式。

是否有人已经在bash中创建了允许您执行此操作的快捷方式?

完成此操作的唯一可能方法是从emacs模式切换到vi模式(set -o vi)并使用vi快捷方式: F + space

非常感谢您!

**我发现将前一个单词粘贴到当前命令行中并将其粘贴到同一当前命令行中的快捷方式使用Alt + j,必须将其添加到“〜/ .inputrc”文件中(后接bind -f ~/.inputrc):

"\ej":"!#:$\e^"

1 个答案:

答案 0 :(得分:1)

several shortcuts可以浏览bash命令行。这是另一个list
假设光标位于该行的末尾,则可以通过键入 Meta +7 Meta + b 跳至03(日部分) strong>(两次击键而不释放 Meta 键)。
现在,对于文件名更改,brace expansion可用于获取这样的命令,该命令提供了扩展中的第二个参数。

mv 2018_09_{03_abc,04_ABC}def_ghijkl_mnopqr_stuvwx_yz.txt