Emacs29.3読書メモ 4.基本的な編集コマンド

Emacs Emacs
Emacs

テキストの入力、修正、ファイルへの保存といった基本操作を学びます。初めてならC-h t(help-wuith-tutorial)とタイプするのも可能。

4.1 テキストの挿入

普通のグラフィック文字をタイプすれば、ポイントの場所に前向きに入ってゆく。

後ろ向き:左方向 ⇦カーソル⇨ 前向き:右方向
         ↑ポイントはカーソルの左にある。

カーソルとポイントの位置関係に注意。

行の終わりに次の行があれば<RET>を入力する。この辺は他のエディタと変わらないし、愛用のキーボード(PLANCK EZ)のままだ。キーバインドも生きているようだが、これからのお試しで当たっているところが見つかるかもしれない。

自動インデントを無視して開業したいときには、C-jを入力する。
自動インデントはメジャーモードに基づいて行われる。

上書きモードは使わない。

非グラフィック文字やキーボードがサポートしていない文字を入力するには、C-qでクォートする。この辺は必要性があればまた来よう。

日本語の入力に関しては別章のようだ。とりあえずは入力できてる。

4.2 ポイント位置の変更

これは所謂カーソルの移動というやつ。気にしないで矢印キーを使う。

ポイントの移動
ポイントの移動

4.3 テキストの消去

DELはBSしか使っていない。KB上のDELはL-ESCでバインドされているから、使おうと思えば使える。
1文字ずつしか削除しないので、C-kとかは覚えない。

4.4 変更のアンドゥ

undoできる範囲はundoレコードに記録されている。このundoレコードに基づいてundoされる。
C-/が効くのでこれで覚えるか。またはEditメニューから。

4.5 ファイル

Emacsのバッファに入力したテキストはファイルへ保存しないと永続化出来ない。その簡単な手順の例を。

  1. ファイルの読込 C-x C-fの入力 ファイル名はミニバッファで入力する
  2. バッファが作成され ファイル内容がコピーされ 編集のために表示される
  3. ファイルへ保存 C-x C-sの入力

最初にファイルが存在しなければからのバッファが用意される。保存時にはそのファイル名がデフォで表示される。故に保存するまでファイルは作られない。

4.6 ヘルプ

ヘルプが充実しているようだが、もちろん英語。このマニュアルを当たろう。

このPDFを開けられるようなコマンドを考えるとかね。

4.7 空行

  • C-o     カーソルの後ろに空行を挿入(open-line)
  • C-x C-o   連続する空行を1行残して全て削除(delete-blank-lines)

予め空行を作っておいて入力するのも一手。数引数をC-oに適用できるので便利。

4.8 継続行

長いテキストは行を折り返したり、切り捨てたりして表示される。
各種オプションによるので、これは早く自分のスタイルを決めたほうがよいと思う。

導入時には折返しとなっているので、これでよいと思う。

折り返しの行われている箇所(Windowの左右の端)にその旨の変なマークが表示されている。

4.9 カーソル位置の情報

バッファ内のテキストに関する情報を表示できる。

コマンドミニバッファ説明
M-xwhat-lineポイントの行番号を表示
M-xline-number-mode
column-number-mode
行番号、列番号を表示
M-=現在のリージョンの行、センテンス、単語、文字
の個数を表示
M-xcount-worksバッファかリージョンの行、センテンス、単語、文字
の個数を表示
M-xhi-line-mode現在行のハイライト表示をオン/オフ
M-xsize-indication-modeバッファサイズ表示を切り替え

そのうちに便利なのが身にしみるのか。

4.10 数引数

Mキーを押しながら数引数を入力すると、その直後のコマンドを数だけ繰り返す振る舞いとなる。
マイナスの数値だと逆の動きになる場合もあるような。また、

数引数がない場合には1と見做されるわけだ。

viでもあまり使わなかった。

数引数コマンド説明
M-5C-nポイントを5行下へ移動
M–5C-nポイントを5行上へ移動
M-5C-pポイントを5行上へ移動
M–5C-pポイントを5行下へ移動

4.11 コマンドの繰り返し

複雑なコマンドでは数引数では上手く動かない場合がある。
こんな時にはC-x z(repeat)はEmacsコマンドを反復させるコマンドだ。
直前のEmacsコマンドのどれでも同じように反復する。
1つのZで一回反復する。z以外のキーかマウスをクリックすると途中終了する。
例えば、下記のように入力すれば、合計80文字を削除することになる。

C-u 2 0 C-d C-x z z z

repeatに関するオプションが多いようだが、めったに使わないと思う。

コメント

タイトルとURLをコピーしました