Bash Vi 模式:移回到最后一个斜杠

Bash Vi 模式:移回到最后一个斜杠

我在 vi 模式下使用 Bash 和set -o vi.

我经常重新运行命令,但需要更改同一目录中的文件名。

例子:

mv /tmp/myfileA.txt /home/daniel/myfileA.txt

然后,我决定也移动另一个文件:

mv /tmp/w00t.txt /home/daniel/w00t.txt

通常,我按向上箭头键获取最后一个命令,然后按向上箭头键b直到到达最后一个斜杠字符,然后插入新文件名。由于我经常这样做,我想知道是否有一种简单的方法可以将光标置于最后一个斜杠字符之后或之上。

请注意,以上仅为示例;我知道我可以做类似的事情mv /tmp/{myfileA,w00t}.txt ...,但通常我只是打字比我想象的更快:-)

答案1

T/将光标放在最后一个/字符之后,因此:

Up Esc c Shift+T / w00t.txt Enter

或者,替换文件名中的第一个单词:

Up Esc Shift+T / c w w00t Enter

或者,如果扩展名前面有多个单词并且您想保留扩展名:

Up Esc Shift+T / c t . w00t Enter

或者,通过历史扩展:

!!:h/w00t.txt

答案2

Escape

Shiftf

/

  • Escape让您进入编辑模式

  • Shiftf向后搜索模式:

  • /

然后您可以执行许多不同的选项:

  • Controlk: 删除到行尾

  • df/: 相同

i让你回到插入模式...

相关内容