38
35

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

ESCは端だが役に立つ(bash編)

Last updated at Posted at 2016-11-05

最近、ESCキーがホットです。ESCキーは、bashでも役に立ちます。ここでは、私がbashのコマンドライン入力で日頃便利に使っているESCキー操作を紹介します。

ESC+Backspace

Ctrl-Wを打つと、カーソル左の1単語を削除します。この場合の1単語は、空白区切りです。

/path/to/some/dirのようなパス名を入力した直後に、1ディレクトリ分(この場合は“dir”)を削除する場合には、Ctrl-WではなくESC+Backspaceを打ちます。

ESCが左手、Backspaceが右手ということで、わりといいリズムで打てます。

ESC+.

コマンドラインで同じ引数を続けて入力することがあります。

$ mkdir /path/to/some/dir
$ cd /path/to/some/dir

そこで、2回目の引数を手で打つかわりにESC+.を打ちます。

$ cd 《ここでESC+.》

すると、前のコマンドラインの最後の引数が入ります。

$ cd /path/to/some/dir

ESC+.を繰り返すと、Ctrl-Pなどと同様に、どんどん遡ります。

これも、ESCが左手、.が右手ということで、わりといいリズムで打てます。

ESC+Ctrl-Y

ESC+.の反対に、前のコマンドラインの最初の引数が入ります。

たとえば、こんなコマンドを実行します。

$ cp foo /path/to/some/dir

そのあと、fooをls -lしたい場合、にESC+Ctrl-Yを使います。

$ ls -l 《ここでESC+Ctrl-Y》

するとこうなります。

$ ls -l foo

これは、左手→左手+右手のリズムですね。

数引数

bashでのキー操作には数引数を渡すことができます。数引数の指定には、コマンドにESC+<数字>を前置します。

たとえば、ESC+3+Ctrl-Pとすると、Ctrl-Pを3回打ったのと同じことになります。

前項で紹介したESC+Ctrl-Yの場合は、数引数を指定すると、n番目の引数が現在位置に入ります。たとえば、先に次のコマンドを実行したものとします。

$ cp -r foo /path/to/some/dir

そのあとのコマンドラインで、ESC+2+ESC+Ctrl-Yを打つと、「foo」が入ります。

$ ls -l 《ここでESC+2+ESC+Ctrl-Y》

まとめ

ほかにもbashで使えるESCキー操作はありますが、とりあえずこんなところで。

ESCって便利ですね。

38
35
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
38
35

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?