<バーローemacs(公序良俗)>

YaTeX

機能別コマンド早口版

以下、大文字"C"はCtrl、大文字"M"はEscまたはAltを指します。 また、矢印"->"は次に入力操作が、矢印"=>"は結果が続くことを表わします。 でもまずはその前に。

基本用語

バッファ
編集領域。
ウインドウ
表示領域。"バッファ"は"ウインドウ"に"表示される"。
フレーム
いわゆるウインドウのこと。紛らわしいので注意。"フレーム"は"1つ以上の""ウインドウ"を含む。
リージョン
選択範囲。
キルリング
クリップボードのようなもの。 途中でペーストしない限り、後からどんどん追加できる。
キル
いわゆるカット。
デリート
キルと違って、消した内容はキルリングに入らない。もちろんアンドゥはできる。

開始と終了とファイル操作と

(端末から)emacs => emacsが起動
emacsを端末上で起動。 別ウインドウにしたければ行末に&をつける(大体のアプリで使える)。 最初からあるファイルを開いておきたければ、 emacsの後にスペースを開けてそのファイルのパスを入力。 ちなみに複数指定できる。
C-x C-f -> パス入力 => ファイルを開く
ファイルを開き(find)、バッファに読み込む。 ファイルの場所は画面下の一行ウインドウ(ミニバッファ)で入力。 入力しかけでタブを押すとその時点での候補が表示される。 1つに絞り込める場合はそれが自動入力される。これを使ってサボれ! ちなみに存在しないファイルも開くことができ、 その場合、指定したパスはデフォルトの保存場所(saveが使う)になる。
C-x C-s => ファイルを保存
バッファの内容をファイルに保存(save)。 いわゆる上書き保存。
C-x C-w -> パス入力 => ファイルを保存
バッファの内容を任意のファイルに保存(write)。 findと同じ要領で保存場所を指定する、いわゆる名前をつけて保存。
C-x C-c => emacs終了
emacsを終了。未保存ファイルがある場合はいろいろ確認される。

バッファ・ウインドウ操作

C-x b -> バッファ名 => バッファを表示
入力した名前のバッファをアクティブウインドウに表示する。 入力する名前は次のコマンドで調べよう。
C-x C-b => バッファをリストアップ
そのウインドウに全バッファのリストを表示する。
C-x k -> Return => バッファをキル
カレントバッファを閉じる(kill)。 カレントバッファとは、現在アクティブな(カーソルが点滅している)バッファのこと。
C-x C-q => バッファの書き込み可否の切り替え
バッファを書き込み可能・禁止の間で切り替える。 何かの間違いでバッファが書込み禁止になってしまった場合は、 慌てず騒がず C-x C-q.
C-x 2 => ウインドウを上下分割
アクティブウインドウを上下2分割。できたウインドウは同じバッファを表示している。
C-x 3 => ウインドウを左右分割
アクティブウインドウを左右2分割。できたウインドウはやはり同じバッファを表示している。
C-x o => ウインドウのフォーカス移動
oはアルファベット小文字。隣のウインドウにフォーカスを移す。"隣"の基準は不明。
C-x 0 => ウインドウ消去
0は数字。アクティブウインドウを消去。つまり分割を解除する。
C-x 1 => 全ウインドウ分割解除
アクティブウインドウ以外のウインドウを消去。

カーソル

コントロールを押しながらカーソル
カーソルが単語・段落単位で移動する。ただし環境に依存。 カーソル位置を固定したまま画面スクロール、などの動きをすることもある。

範囲選択とコピペ

emacsでは選択範囲のことをリージョンと呼ぶ。 また、ペーストのことをヤンクと呼ぶ。
C-Space => 現在位置をマーク
カーソル位置をマーク。以後、マーク位置からそのときのカーソル位置までがリージョンとなる。 他の場所をマークするまで有効。
マウスで範囲をドラッグ
ドラッグした範囲がリージョンとなる。
C-w => リージョンキル
リージョンをキル(カット)、キルリングへ追加。キルリングは追加が可能なクリップボードのようなものと思えばよい。 続けてキルすると、新たにキルした内容が以前キルした内容に追加される。
M-w => リージョンコピー
リージョンをコピー、キルリングへ追加。消さないC-wと思えばよい。
C-y => リージョンヤンク
キルリングの内容をカーソル位置にヤンク(ペースト)。
C-k => カーソルから行末までキル
カーソル位置から行末までをキル(kill)。ただし改行文字は残す(つまりカーソル位置=行末)。その状態でもう一度C-kをすると、今度は改行文字もキル。
矩形選択(長方形選択)もできる。
C-x r => 矩形リージョンを設定
マーク位置とカーソル位置が張る長方形(rectangle)をリージョンとする。 実際の操作は C-x r に続けてキーを押すことで行う。
C-x r d => 矩形リージョンを削除
矩形リージョンをデリート。キルと違うところは死体も消し去るところ。
C-x r k => 矩形リージョンをキル
矩形リージョンをキル。矩形リージョンの場合はそれ専用のキルリングがある。
C-x r y => 矩形リージョンをヤンク
最後にキルした矩形リージョンをヤンク。カーソル位置を左上とする。
C-x r t -> 文字列 => 矩形リージョンに文字列挿入
矩形リージョンに文字列を挿入。複数の行の頭にタブを入れたいときなどに便利。

検索と置換

C-s -> 検索文字列 => 検索して強調表示
バッファ内を検索文字列で検索。マッチした所は強調表示される。1文字入力するたびに検索される(インクリメンタルサーチ)。 打ち間違えたときはDel. また、C-sを押すたびに、次のマッチ場所にカーソルが移動する。リターンを押すと検索終了
C-r -> 検索文字列 => 逆方向に検索
C-sと同じだが、検索する方向が後ろ向きになる。ジャンプも後ろ向き。
M-x replace-string -> 検索文字列 -> 置換文字列 => 文字列を置換
置換を行う。インクリメンタルではなく、カーソル以後を一括置換。

使ったことねーけどこれマジ超マジ便利じゃね?

M-x sort-lines
複数行に渡るリージョンについて、各行をASCIIコードで昇順ソートする。
C-u 整数 M-x sort-numeric-fields
複数行に渡るリージョンについて、各行のあるカラムを数値とみなし、それに基づいて昇順ソートする。 カラムとは空白で区切られた文字列で、行頭から数えて何番目のカラムで比較するかを C-u に続く整数で指定する。
M-x reverse-region
複数行に渡るリージョンについて、行の順番を逆にする。

スーパー参考URLタイム
Meadow/Emacs memo : 必見

accend->labnote->index page