ショートカットキーを使おう!

第5回:ターミナルの操作



 今回はターミナルの一つ、ktermをとりあげます。ショートカットの話に 入る前に、ktermを快適に使うための設定ファイルの記事 .cshrc でちょっと幸せになる .cshrc でもっと幸せになる を見てみるとよいと思います。私の .cshrcの一部をこちら→ cshrc.shtmlに紹介しておきます。

Tips!
 カーソルの移動や補完、文字の消去はEmacsの操作と同じものがあるので、 ぜひ覚えましょう。

目次

  1. 補完
  2. コマンドの履歴をたどる
  3. カーソルの移動
  4. 文字の消去
  5. 文字の張りつけ
  6. 終了
2/8 追加
  1. 上に隠れてしまった表示を見る
  2. ターミナル画面をクリアする

補完

 では、実際の操作に入っていきましょう。まずはなんといっても補完です。 例えば、「appletviewer AppletSodanPage.html」と入力したいとします。 このとき、(――以下、縦棒はカーソルのことだと思ってください――)

g140170@nc00137~>app|

くらいまで打ち込んでC-d(.cshrcなどで set autolistしている人はTabでOK)をすると、

g140170@nc00137~>app
appletviewer appres
g140170@nc00137~>app|

と、「app」で始まるコマンドには「appletviewer」と「appres」があるよー、 と教えてくれます。そこで、

g140170@nc00137~>appl|

まで打ち込んでC-dまたは Tabをすると、

g140170@nc00137~>appletviewer |

と、最後までスカーンと補完してくれます。ファイル名も同様にできます。 長いコマンド名やファイル名を、簡単に、しかも間違えずに入力することが できるので、非常に便利です。

コマンドの履歴をたどる

 前回実行したコマンドを表示するには、 またはC-pです。続けて何回もすると、その ぶん前にたどることができます。行きすぎて、もとに戻っていきたい場合は、 または C-nです。
 例えば、試行錯誤してプログラミングして いるとき、コンパイルと実行を繰り返しているでしょうから、よし、編集が 終わった、さあどう変わったかみてみよう、というとき C-pすれば

g140170@nc00137~>appletviewer AppletSodanPage.html|

のように前回実行したコマンドがでてきます。そのもう1回前にコンパイル したのでしょうから、もう1度C-pすると、

g140170@nc00137~>javac AppletSodanPage.java|

と、コンパイルしたときのコマンドが出てきます。ここでReturnを押せば コンパイルができます。

カーソルの移動

1文字前に戻る、進む
 普通に矢印キーでもできますが、矢印キー面倒なんだよ!いちいちFnキー 押させんじゃねーよ!という人は、戻るのは C-b、進むのは C-fでできます。

行の先頭にとぶ、行の最後にとぶ
 行の先頭にとぶのは、C-a、最後に とぶのはC-eです。例えば、私は appletviewerのマニュアルを見る場合、

g140170@nc00137~>appl|

Tabを押して

g140170@nc00137~>appletviewer |

とまず「appletviewer」を補完させて、そのあと C-aをして

g140170@nc00137~>|appletviewer

のように先頭にとんでから(先頭のa のところにカーソルが来てますよね?)、man(とスペース)を打ち込んで

g140170@nc00137~>man |appletviewer

のようにしたあとReturnをして実行しています。「man appletviewer」の順に 打つと、「appletviewer」が補完できないので、いちいち打つのが面倒だから です。

文字の消去

カーソルの前の1文字を消す
 普通にBackSpaceキーでもよいのですが、BackSpace遠いんだよ!いちいち 手を伸ばすの面倒なんだよ!という人には、 C-hがあります。

カーソルの位置の1文字を消す
 カーソルの前の文字ではなく、カーソルの位置の文字を消すのには、 C-dがあります。うん? C-dって補完の所にもあったよなぁ…と 思ったあなた、その通りです。何が違うのかというと、カーソルの位置以降に 文字がある場合はC-dは1文字消去、文字が ない場合はC-dは補完になります。

カーソルの前のひとかたまりを消す
 普通にBackSpaceキーを連打してもよいのですが、うざいんだよ!ずっと やってるの疲れるんだよ!という人には、 C-wがあります。例えば、

g140170@nc00137~>appletviewer AppletSodanPage.html|

のように打ったあと、あ、やっぱり他のファイルを先にやってみよう、と 実行ファイル名を変えたいと思ったときに C-wをすると、

g140170@nc00137~>appletviewer |

と、ファイル名を一発で消せます。この後、改めて実行したいファイル名を 入れればよいわけです。

12/24 訂正
 申し訳ありません、C-wはカーソルの前にある文字を全て 消すものでした。私は、ECCで標準で使われているものと私が 個人的に使っているものを混同していたようです。この件で疑問のメールは 来ませんでしたが、悩んでしまった方にはお詫びいたします。 しかし誰からもつっこみをうけないのもさみしいものですね…
 このように消したい場合は、Esc-bC-[ bをすれば(C-[ は Esc と同じ役割です)、
g140170@nc00137~>appletviewer |AppletSodanPage.html
のようにひとかたまり前にカーソルを移動できるので、そのあと C-kしてカーソル以降の文字を消す、という ようにすればよいでしょう。

プロンプト以降の文字全てを消す
 例えば、Javaのプログラムを編集し終わってから、さあきちんとできるかなーと

g140170@nc00137~>appletviewer AppletSodanPage.html|

のように打ち込んだ後、あ、しまった、まだコンパイルしてないや、と 気づいて、全てこの行を消したい、と思ったとき C-uをすると、

g140170@nc00137~>|

このようにきれーに全て消えます。

カーソル以降にある文字を消す
 C-dをやり続けてもよいのですが、 うざいんだよ!(以下略)という人には、 C-kがあります。

張りつけ

 削除した内容を張りつけるには、C-y です。

終了

 さてさて、最後は終了です。C-dをすると ターミナルが閉じ、終了します。あれあれ? C-dって補完の所と1文字消去の所にも あったような…と思ったあなた、鋭いです。一度 C-dについて整理してみましょう。

となります。私は終了時にはC-dを使って いますが、他のC-dの機能のつもりで 使ったら終了してしまうということを防ぎたい、という人は、.cshrcに

set ignoreeof

の記述を追加しておきましょう。こうしておくと、 C-dをしたときに

g140170@nc00137~>^D
Use "exit" to leave tcsh.
g140170@nc00137~>|

と、終了するのを防いでくれます。本当に終了したい場合は「exit」と 打てばOKです。

以下、2/8 追加分

上に隠れてしまった表示を見る

 たくさんファイルがあるディレクトリで ls -la したときや、コンパイルの 際にたくさんエラーメッセージが出た場合に、ターミナルの上の方に表示が 流れていってしまうことがありますよね。その流れていった部分を見たいとき、 スクロールバーがあればマウスでそれを動かしてもいいのですが、キーボード で操作したい場合は、Shift-PgUpすると、 画面が上がります。PgUp というのは、Fnキーを押しながらl(エル)ですね。 逆に画面を下の方に戻したい場合は、 Shift-PgDnです。ちなみに、PgUp、PgDnは PageUp、PageDownの意味です。

ターミナル画面をクリアする

 ターミナルを使っていると、コマンドの入力するところがいつも一番下に なってしまい、上がごちゃごちゃしています。そこで、過去を清算し、全てを 一度白紙に戻して新たな気持ちで望みたいことがありますよね?あると言って ください(泣)。さて、そのときは clear というコマンドがあるのですが、 ショートカットキーはC-l(エル)でできます。 手軽でしょ?

――まとめ――

実行内容ショートカットEmacsでも使えるか
コマンド名・ファイル名の補完C-d×
〃(設定次第)Tab
コマンド履歴をたどるC-p×
コマンド履歴を進むC-n×
カーソルを1文字前に移動C-b
カーソルを1文字後ろに移動C-f
カーソルを行の先頭に移動C-a
カーソルを行の最後に移動C-e
カーソルの1文字前を消去C-h△(設定次第で可能)
カーソルの位置の文字を消去C-d
カーソル前のひとかたまり全てを消去 C-w×
一行全てを消去C-u×
カーソル以降の文字を消去C-k
消去した内容を張りつけC-y
ターミナルの終了(無効にもできる)C-d×
上に隠れてしまった表示を見るShift-PgUp○(ただのPgUpでOK)
ターミナル画面をクリアするC-l×
文責:岡山 友昭


Last modified: Friday, 07-Nov-2003 19:09:34 JST
www-sodan-admin{atmark}sodan.ecc.u-tokyo.ac.jp
筝荐≪鴻泣ゃ吾≪
<若梧篁茵c障
Sodan
© 1998-2009, ECCS Tutors