Ubuntuのbashで`cp 文字数が多いファイル名 文字数が多いファイル名.old`を簡単に打つ


Ubuntuの標準のbashシェルで､たとえば長いファイル名のファイルのバックアップを  
手でコマンド入力するときに､何か省略して簡単に打ち込める方法は無いでしょうか?

例

[code]

    cp very-long-filename.txt very-long-filename.txt.old
    
[/code]

を

[code]

    cp (very-log-filename.txt) \1.old
    
[/code]

のように前方参照させるようなやりかたです




Bash の対話セッションなら Emacs や vi
のキーバインディングでコマンドラインの編集ができますので、このような例ですと私は頭を使う前に次のように操作しがちです。

まず次のようにタイプしてから、

[code]

    $ cp very-long-file-name.txt
    
[/code]

このように操作します。

  * `Ctrl`+`A` (先頭に移動)
  * `Ctrl`+`F`
  * `Ctrl`+`F` (カーソルが `cp` の後にくる)
  * `Ctrl`+`K` (行末までのテキストをキルバッファに格納)
  * `Ctrl`+`Y` (キルバッファをヤンク)
  * `Ctrl`+`Y` (もういちどヤンク)
  * `.``O``L``D` (`.old` を追加)
  * `Ctrl`+`M` (実行)

日本語が混じっていたりなど、面倒なファイル名を扱う場合には特に便利です。

