切换“mv”命令的参数

切换“mv”命令的参数

如果您输入

mv a.txt b.txt

然后意识到您犯了一个错误,而不是重新键入该行并切换参数,而是存在类似以下内容:

mv a.txt b.txt --reverse

答案1

我不知道 GNU 中有任何这样的论点mv,但如果你使用的是 bash,阅读线可以帮助你:

shell-transpose-words( M-C-t)

将点之前的单词拖过点之后的单词,同时将点移动到该单词之后。如果插入点位于该行的末尾,则会调换该行的最后两个单词。字边界与shell-forward-word和相同shell-backward-word

所以:

$ mv bar/baz\ foo foo\ bar/baz
                              ^ cursor here

Esc然后CtrlT(或AltCtrlT) 结果:

$ mv foo\ bar/baz bar/baz\ foo
                              ^ cursor here

答案2

不幸的是,事实并非如此。但是,您可以使用 shell 的文本编辑功能来节省击键次数。下面,^表示光标位置。

示例:重击

  • 启动情况:
    mv a.txt b.txt
                  ^
    
  • Ctrl+w
    mv a.txt 
             ^
    
    “最后一个字”( b.txt) 被剪切并存储在内部缓冲区中。
  • Ctrl+Left直到光标位于前面a.txt
    mv a.txt
       ^
    
  • Ctrl+y
    mv b.txta.txt
            ^
    
    粘贴最后删除的单词。
  • 插入一个空格

它仍然很麻烦,但速度更快。注意如果你的终端模拟器吞下了这些击键中的任何一个,那么不幸的是你就不走运了。

答案3

您可以创建一个名为 example 的脚本unmv,将其放置在您的任意位置$PATH(例如在 中/usr/local/bin):

#!/bin/sh
mv "$2" "$1"

然后,在您不小心键入 后mv a.txt b.txt,您只需键入即可unmv a.txt b.txt恢复更改。

相关内容