タグ別アーカイブ: Emacs

Emacs 編集基本


– カーソル上の文字を削除する。

Ctrl + d
または
delete

 Backspace も使用可能です。このあたりは、説明の必要はないでしょう。
 
– カーソルから行末まで削除する。

Ctrl + k

 カーソルが行末にある時は改行を削除します。
 
– 複数行を削除する。

削除開始位置で
Ctrl + Space
として(マーク)、削除終了位置で
Ctrl + w

 
– コピー(キルリングに保存)する。

コピー開始位置で
Ctrl + Space
として(マーク)、コピー終了位置で
Alt + w

vi でいうところの y キーと同じようなものですね。
 
– 最後に削除(あるいはキルリングに保存)したものを張り付ける(ヤンクする)。

Ctrl + y

 Emacs では vi 同様、削除 = カット(切り取り)となっています。
 
– 矩形削除する。

Ctrl + Space
Ctrl + x r k

ここで削除したものはコピー状態にはなりません。
 
– アンドゥ

Ctrl + –
または
Ctrl
または
Ctrl + x u

Undo, Redo の切替えには

Ctrl + g

を使います。
 
参考:
With Emacs Next – 5.4 基本的な編集操作
Emacs tips

Emacs で ChangeLog


Emacs で ChangeLog を編集しようと C-x 4 a としたときに日付が YYYY-MM-DD 形式にならないと、chalow に弾かれてしまう。
そういう方々は ~/.emacs を次の行を追加すると幸せになれます。

(setq add-log-time-format ‘add-log-iso8601-time-string)

ここ1年くらい Emacs (Mule)で ChangeLog を書いてきたが、実はずっとこれに悩んだまま書いていた。
Emacs21 (emcws) に乗り換えたついでに設定して、ようやくかゆいところに手が届いた感じ。
 
ネットで探してみると [[ChangeLog メモに曜日をいれる:http://namazu.org/~satoru/diary/20030115.html]] なんて人も。

emacs で diff


<http://www.math.s.chiba-u.ac.jp/~matsu/emacs/emacs20/ediff.html>
– Emacs 活用法: Ediff の使い方
M-x ediff-merge として、二つのファイルを選択する事で可能。そのままマージができるので便利そう。
M-x ediff-files で主に片方のファイルにするとか。
終わったら q で閉じて ediff-merge バッファをファイルとして保存すればいい。やめたくなったら C-] 。
 
Info -> Emacs -> Emerge の項目にその他コマンド等の説明があるらしい。

ウィンドウ操作&ファイル操作


– 現在のウィンドウにファイルを開くには C-x C-f
– ウィンドウ分割には C-x 2 で上下分割、 C-x 3 で左右分割。
– ウィンドウを一つに戻すには C-x 1
– ウィンドウを移動するには C-x o
– 開いたファイルを閉じるには C-x k. バッファを閉じる場合も同じ。
<http://www.bookshelf.jp/texi/emacs-20.6-man-jp/emacs_17.html>
– GNU Emacs マニュアル: 複数のウィンドウ

canna の使い方


C-o で切替え
<http://www.pp.iij4u.or.jp/~murakami/comp/emacs/>
ここで勉強しよう…
C-b, C-f で変換中に移動, C-h,BS で直前一文字を削除, C-d でカレント一文字削除.
C-a, C-e で書き込み中の文字の先端と末端に移動. vi ライク.
C-g は打ち込み止め.
C-l, C-u で英文字の大文字小文字の切替え.
C-p, C-n で打ち込み中の文字の変換モードを変更する.

マニュアル


<http://flex.ee.uec.ac.jp/texi/emacs-jp/emacs-jp_toc.html>
vi とか jvim に慣れすぎて違和感ありありで使ってなかったが導入.
C-x C-c で終了, と…
C-x 4 a で ChangeLog の項目を追加できる.
C-u, C-/ で Undo. C-g C-/ で一ステップだけ Redo. C-x ESC ESC でヒストリーをたどれる.
ports/japanese/emacs-dl-* か ports/japanese/emacs-emcws じゃないと
日本語入力できません. vi みたく生で書けないのねー, 日本語も PuTTY からは読めるから気づかなかった…ぷちはまり.
.emacs:
(set-language-environment “Japanese”)
(set-default-coding-systems ‘euc-japan)
(set-terminal-coding-system ‘euc-japan)
(set-buffer-file-coding-system ‘euc-japan)
(set-default-font “-*-fixed-medium-r-normal-*-16-*-*-*-*-*- fontset-standard”)
(progn (load-library “canna” ) (canna) )
みたくして, emacs 上で C-x C-m C-\ でinput選んで日本語入力可能に.
(set-keyboard-coding-system ‘euc-japan)
とすれば IME やら kinput もつかえるそうな.
(set-input-method ‘japanese-canna)
みたくすればinput method 選択しなくてもonLoad でやってくれる,と.
<http://www.ep.sci.hokudai.ac.jp/~epnetfan/tebiki/server-editor/emacs.html>
ターミナルでやる場合, 日本語の貼り付けがバイナリ入力になるので set-keyboard-coding-system はあったほうがいい.
なら canna いらんやん, と思いつつ, 日本語環境外の端末で日本語打つには便利かもとか思ったり.