Emacs と vi の使い方覚え書き

ぽちが普段ものを書くのに使うエディタは Emacs なのですけども、各種設定ファイルを書く時だけは vi の流れを汲む vim を簡易機能版にビルドした、vim-tiny を使っています。ここには Emacs や vi を使う為の簡単な覚え書きを置いておきます。

Emacs の使い方

Emacs の基本

カーソル
コマンド説明
C-f一文字次へ進む。(forward)
C-b一文字前へ戻る。(backward)
M-f一単語次へ進む。(forward)
M-b一単語前へ戻る。(backward)
C-a行頭へ移動する。
C-e行末へ移動する。(end)
M-a文頭へ移動する。
M-e文末へ移動する。(end)
C-n次の行へ移動する。(next)
C-p前の行へ移動する。(previous)
C-v次の画面へ進む。(vertical)
M-v前の画面へ戻る。(vertical)
M-<バッファの先頭へ移動する。
M->バッファの末尾へ移動する。
C-lカーソルのある行を中心にして画面を書き直す。
ファイル
コマンド説明
C-x C-fバッファへファイルを開く。(find)
C-x C-vバッファのファイルを再読み込みする。
C-x C-sバッファをファイルへ保存する。(save)
C-x C-wバッファを別のファイル名で保存する。(write)
C-x iバッファへ別のファイルの中身を挿入する。(insert)
バッファ
コマンド説明
C-x C-bバッファのリストを表示する。(buffer)
C-x bバッファを切り替える。(buffer)
C-x kバッファを閉じる。(kill buffer)
ウィンドウ
コマンド説明
C-x 1ウィンドウを一つにする。
C-x 2ウィンドウを上下に分割する。
C-x 3ウィンドウを左右に分割する。
C-x o他のウィンドウにカーソルを移動する。(other)
C-M-vあるウィンドウにカーソルを置いたまま、他のウィンドウを一画面づつ読み進める。(vertical)
編集
コマンド説明
C-x u操作を取り消す。(undo)
C-@範囲指定を開始する。(atmark)
C-w範囲指定位置からカーソルの直前までをカットする。
M-w範囲指定位置からカーソルの直前までをコピーする。
C-kカーソルから行末までをカットする。(kill)
C-yカットまたはコピーしたエントリを再入する。(yank)
M-yカットまたはコピーした一つ前のエントリを再入する。(yank)
検索
コマンド説明
C-s正順でインクリメンタル検索する。(search) 日本語不可。
C-r逆順でインクリメンタル検索する。(reverse) 日本語不可。
C-s RET 検索文字列 RET正順で検索する。(search) 続けて C-s や C-r で検索可能。日本語可。
C-r RET 検索文字列 RET逆順で検索する。(reverse) 続けて C-s や C-r で検索可能。日本語可。
C-M-s 正規表現 RET正規表現を使って正順で検索する。(search)
C-M-r 正規表現 RET正規表現を使って逆順で検索する。(reverse)
M-p一つ前の検索文字列を呼び出す。(previous)
M-n一つ後の検索文字列を呼び出す。(next)
C-g検索を中止して戻る。
置換
コマンド説明
M-% 検索文字列 RET 置換文字列 RET検索文字列を置換文字列に置き換える。日本語可。
C-M-% 正規表現 RET 置換文字列 RET正規表現にマッチする文字列を置換文字列に置き換える。日本語可。
Emacs の終了
コマンド説明
C-x C-cEmacs を終了する
C-gフリーズ時に強制的に Emacs を終了する

わりと使うコマンドたち

C-x RET c コーディングシステム C-x C-f
文字コードと改行コードを指定してバッファへファイルを開く。
C-x RET c コーディングシステム C-x C-v
文字コードと改行コードを指定してバッファへファイルを再読み込みする。
C-x RET f コーディングシステム RET
バッファの文字コードと改行コードを変更する。

バッファの文字コードを Shift_JIS に、改行コードを CR+LF に変更する例:

C-x RET f japanese-shift-jis-dos RET
Emacs の日本語文字コーディングシステム
コーディングシステム文字コード改行コード使われる場所
utf-8-unixUTF-8LF最近の UNIX/Linux
japanese-shift-jis-dos または sjis-dosShift_JISCR+LFWindows
iso-2022-jp-dos または junet-dosISO-2022-JPCR+LF電子メールや IRC
japanese-iso-8bit-unix または euc-jp-unixEUC-JPLF古い UNIX/Linux
utf-8-hfs-unixUTF-8-HFSLFMac OS X
japanese-shift-jis-mac または sjis-macShift_JISCRMac OS 9以前の Mac
M-x shell RET
Emacs をターミナルエミュレータとしてシェルを実行する。

shell-mode をそのまま使うと特殊文字が文字化けするので、それを回避する為に下の設定を .emacs に追記する。

(add-hook 'shell-mode-hook 'ansi-color-for-comint-mode-on)
M-x view-mode RET
バッファを読み出し専門にする。

動作確認環境 : Emacs 23.4 on Debian GNU/Linux 7.0 wheezy

vi の使い方

vi の基本

モード変更
コマンド説明
a編集モードへ移り、カーソル位置の後ろに挿入する。(add)
i編集モードへ移り、カーソル位置に挿入する。(insert)
O編集モードへ移り、カーソル行の前行を新しく作ってそこへ挿入する。
o編集モードへ移り、カーソル行の次行を新しく作ってそこへ挿入する。
escコマンドモードへ移る。
カーソル
コマンド説明
h左へ移動する。
j下へ移動する。
k上へ移動する。
l右へ移動する。
0行頭へ移動する。
$行末へ移動する。
1G文頭へ移動する。
G文末へ移動する。
ctrl+f次の画面へ進む。
ctrl+b前の画面へ戻る。
カット&ペースト
コマンド説明
xカーソル位置の文字を1文字カットする。
ddカーソル行を1行カットする。
d$カーソル位置から行末までをカットする。
yyカーソル行を1行コピーする。
pペーストする。
セーブ&終了
コマンド説明
:q終了する。内容が変更されている場合は警告を出す。
:q!セーブせずに強制終了する。
:wセーブする。
:wqセーブして終了する。
ZZセーブして終了する。

動作確認環境 : vim-tiny 7.3 on Debian GNU/Linux 7.0 wheezy

戻る


Last updated : 2013/08/21
Author : 犬山ぽち丸 / INUYAMA Pochimaru / Pochimaru Inuyama
E-mail : pochi@hoshinoumi.net
Key ID : 4A1B5E85
Key fingerprint : 4605 4D40 6154 20C1 5592 3E54 5A37 FEE9 4A1B 5E85

正当な XHTML 1.1 です 正当な CSS です