試験運用中なLinux備忘録・旧記事

はてなダイアリーで公開していた2007年5月-2015年3月の記事を保存しています。

GNU Emacs/GNU nano/シェルの操作を比較

GNU Emacsのキー操作は独自だが、GNU nanoや、シェル*1における操作でもある程度共通して使える。

GNU Emacs/GNU nano/シェルの操作
機能GNU EmacsGNU nanoシェル(Emacs操作モード)
上の行Ctrl+P, Ctrl+P, *2
下の行Ctrl+N, Ctrl+N, *3
1文字左Ctrl+B, Ctrl+B, Ctrl+B,
1文字右Ctrl+F, Ctrl+F, Ctrl+F,
1単語左Meta+B,Ctrl+Meta+SpaceMeta+B
1単語右Meta+F,Ctrl+Ctrl+SpaceMeta+F
行頭Ctrl+ACtrl+ACtrl+A
行末Ctrl+ECtrl+ECtrl+E
大きく下へCtrl+VCtrl+V(操作自体存在しない)
大きく上へMeta+VCtrl+Y(操作自体存在しない)
再描画Ctrl+L*4Ctrl+LCtrl+L*5
手前の文字を消すBS*6BS,Ctrl+hBS,Del,Ctrl+h
カーソル位置を消すCtrl+D,DelCtrl+DCtrl+D
範囲選択開始Ctrl+SpaceCtrl+^,Alt+A,Ctrl+6(操作自体存在しない)
選択範囲の切り取り範囲選択後Ctrl+W範囲選択後Ctrl+K*7
行の切り取りCtrl+K*8Ctrl+K*9*10
貼り付けCtrl+YCtrl+UCtrl+Y

GNU Emacs上でCtrl+Hを押したときにカーソルの手前の文字を消せるようにするには以下のような設定をする。
ファイル名: ~/.emacs

(global-set-key "\C-h" 'backward-delete-char) ; 手前の文字を消す
;(global-set-key "\C-h" 'backward-delete-char-untabify) ; タブをスペースに変換しつつ消す場合

使用したバージョン:

*1:操作モードをEmacs風にしたときのもの。確認したシェルはbashzsh

*2:Ctrl+P, を押すと、履歴の中で1つ前に実行したコマンド行が実行される

*3:Ctrl+N, を押すと、履歴の中で1つ後に実行したコマンド行が実行される

*4:現在のカーソル位置が縦方向の真ん中に来るように表示範囲が変わる

*5:プロンプトだけが一番上に表示され、下は空白になる

*6:Ctrl+Hはヘルプに使用されているが、この機能に割り当てることは可能

*7:Ctrl+Wを実行するとカーソル位置から左を切り取る

*8:カーソル位置から右のみ。改行まで含むかどうかは設定可

*9:範囲選択をしないで実行すると、カーソルのある行全体を切り取る

*10:Ctrl+Kを実行するとカーソル位置から右を切り取る