トップページ | 過去記事(月別カテゴリー別) | 掲示板 | 野良DEB,RPM | 更新チェック | Twitter
<<  2012.11 >>
SMTWTFS
    123
45678910
11121314151617
18192021222324
252627282930 
 
リンク
その他
  • RSS2.0
  • Credit

  • SEO
    loading

    プライバシーポリシー
    Google

カテゴリー » Linux November 06, 2012

過去に実行したコマンドの「最後の引数」を簡単に挿入する方法(bash、zsh) Linux

例えば
# cat /etc/sysconfig/network
↑をしたあとで
# vi /etc/sysconfig/network
とするみたいに、1つのファイルを連続して操作することがよくありますよね。
bash(zsh)には、そういう時のための便利なショートカットキーが用意されています。
$ man bash
...
yank-last-arg (M-., M-_)
  前のコマンドの最後の引き数(一つ前の履歴エントリの最後の単語)を挿入します。
  引き数があると、yank-nth-arg と全く同じように動作します。
  yank-last-arg を繰り返して呼び出すと、履歴リストを遡って参照が行われ、
  それぞれの行の最後の引き数が順番に挿入されます。
  繰り返して呼び出すときの引き数は、履歴の中を動く方向を決めます。
  負の引き数は、履歴の中を動く方向(後方または前方)を反転します。
  履歴の展開での "!$" の指定のように、最後の引き数の展開に履歴の展開
  の機能が使われます。
「M-.」と書いてありますが、これは「Alt-.」のことです。
“Alt”と“.”を同時に押すと、以前の最後の引数がシェル上に入力されます。

矢印キー(Ctrl-p)で履歴を呼び出してゴニョゴニョするよりも楽なんじゃないかと。
10:47 pm | コメントする |

上の記事に対するコメント

1. NONAME  2012/11/12 21:36
これは便利ですね

2. ciel (Website)  2012/11/20 21:22
OSXのターミナルだと(たとえSSH中でも)Alt+.は≥の入力になってしまうのでEsc+.じゃないとだめですね--;

3. Owner CommentSawa  2012/11/20 21:53
readline(libedit?)の設定で変更できるかも?

4. NONAME  2013/05/29 23:12
OSXのターミナルで option + . を使うには設定で Use option as meta key にチェックを入れるのが簡単です。


累計:1956871、今日:151、昨日:3424
Created in 0.008 sec.