エディタ戦争---emacsとvi,個人的な感覚と使い分け †
なんだかんだでvimmerになってきた.
emacsはコピペが面倒くさい.文字列置換はさらに面倒くさい.
vi(vim)は保存して閉じるという頻度の高い作業がemacsより遅い.
慣れればvimの方が速くて便利に使えると思う.
どちらもマクロ登録とかあるらしいが,そんなに手の込んだ使い方をする機会がない.
emacs,vimの覚えておきたいコマンドを以下に.
emacs †
emacsではAltとEscはほとんど同じ効果.
- コピペ等
コピーの範囲開始 : Ctrl-@ or Ctrl-SPACE
開始位置からコピー: Alt-w or ESC-w
ペースト: Ctrl-y
n行目にジャンプ :Alt-x goto-line + n
行削除: Ctrl-k
- 検索
下方向に検索:Ctrl-s, (keyword)
上方向に検索:Ctrl-r, (keyword)
置換は何回かやっても覚えなかったのでviでやるようにしている.
- undo,保存,終了
undo:Ctrl-x, u
保存:Ctrl-x, Ctrl-s
終了:Ctrl-x, Ctrl-c
- キャンセル
Ctrl-g, Ctrl-g
emacsの主要な操作は大体2回のタイプが必要.
1つ押して間違えたら,とりあえずこれをやればOK.
vi(vim) †
- コマンドモードと入力モードの切り替え
コマンドモード→入力モード:a,A,i,I,o,Oのいずれか(カーソル位置がそれぞれ違う)
入力モード→コマンドモード:Esc
以下,コマンドモード状態ということを前提に
- コピペ等
1行コピー:yy
n行コピー:nyy or yny
n文字コピー: ynl
n単語コピー: ynw
範囲指定のコピー: mm → y`m # or
: v → y
ペースト :p(カーソル右),P(カーソル左)
1行削除 :dd
n行削除 :ndd or dnd
n行目にジャンプ :nG
- 検索と置換
下へ検索: /(keyword),nでもう1度(下へ)検索
上へ検索: ?(keyword),Nでもう1度(上へ)検索
1行置換: :s/org/mod/g #マッチした行の文字列org→mod
一括置換: :%s/org/mod/g #開いているファイル全ての文字列org→mod
- undo,保存,終了
保存等は最初に":"をつけるの大事.
undo: U
保存: :w
終了: :q
保存して終了: :wq
保存しないで終了: :q!
- その他
vimだとCtrl+a, Ctrl+xで数値のカウントアップ,カウントダウンができたりする.たまに使うが10進法でなかったりする.
ほかにも多々機能があるらしい.使用の都度更新する予定.