Vimの履歴
コマンド
バッファ
:ls バッファの表示
:b[number] [number]番バッファを表示する。
:bn 次のバッファを表示する。
:bp 前のバッファを表示する。
:bw 現在表示中のバッファを完全に消す。
#n 次の
:e# 前の
:e#[number] :b[number]と同じ?
置換
%s/hogem/moge/g
移動
1G ページの始めへ G ページの終わりへ ~d 半ページ下 (d: down) ~u 半ページ上 (u: up) ~e 一行下へ (EclipseのCtrl+↓) ~y 一行上へ (EclipseのCtrl+↑) ~f ページダウン(f: forward) ~b ページアップ (b: back)
検索
* or # カーソル下の単語を検索 g* or g# カーソル下の単語を検索(マークのみ) [I or ]I カーソル下の単語を一覧表示
ウィンドウ
:new 新規作成 :sp 横に分割 :vsp 縦に分割 Ctrl+W Ctrl+W 順に移動 n Ctrl+W {+-><} ウィンドウサイズ変更
タブ
:tabe <file>
:tabc
:tabn or gt
:tabp or gT
その他
v ビジュアルモード Ctrl+v 矩形選択 :earlier 10m 10分前の状態に戻る Ctrl+P 補完 Ctrl+] ctagsの関数ジャンプ :version バージョンや有効な機能の一覧など
複数ファイルの一括置換
まずファイルを開く
:args *.c
:args **/*.c
確認
:args
複数ファイル置換
:argdo %s/hoge/moge/g | update
Vimコマンド 覚書
http://www.7key.jp/software/vi.html
vimで複数ファイルにまたがる特定のパターンを置換する場合のお作法
http://zx.jpn.org/b/20081025/155/vim/vim-mluti-file-replace
連番
(1)
という文字列を作って、その行上で
qayyp<C-a>q
して、8@a するとあら不思議!(1)のところは 1 でも foo1 でもおk。vim テラベンリスwww。http://subtech.g.hatena.ne.jp/secondlife/20081223/1230023656
へーすごーい
qでマクロ記録開始
aはトリガーキー
yyで一行コピー
pでペースト
C-aで数値をインクリメント
qでマクロ記録停止
8は繰り返し
@でマクロ実行
aを開始
ちくちゃんに教えてもらった技
:Ex ファイル一覧 :! コマンド実行 :sp ウィンドウ分割 :vs 縦分割 :ctrl+w w 分割した中で移動
ペースト時にオートインデントをoffにしたい
:set paste
か、
「:a!」→ペースト→Esc
複数行のインデント
vで行選択した後で「>」
" オートインデントを無効にする "set noautoindent " タブが対応する空白の数 set tabstop=4 " タブやバックスペースの使用等の編集操作をするときに、タブが対応する空白の数 set softtabstop=4 " インデントの各段階に使われる空白の数 set shiftwidth=4 " タブを挿入するとき、代わりに空白を使わない set noexpandtab
コメントアウト/コメント解除
http://tempest.dcnblog.jp/blog/2007/06/vivim_9128.html
ビジュアルモードで選択→大文字I→文字→Escでできるよ!って色んなとこで書いてあったのにどうやってもできなくて涙目になってたら、Ctrl+Vの矩形選択でできました。
UTF8で文字化けしないように
set encoding=utf-8 set fileencodings=iso-2022-jp,utf-8,sjis
ってこの設定やってもなお文字化けしておかしいなーと思ったらターミナルの文字コード設定がEUC-JPやったというオチ。未だにputtyなのでそろそろpoderosaとやらに乗り換えるか
設定の確認
:set
行末に^Mがつく
http://www.atmarkit.co.jp/flinux/rensai/linuxtips/164linendm...
CR+LFのCR部分が出てる。
^Mはctrl+V ctrl+Mで入力できる。
取り除くには :%s/^M//g で置換する
色分けする
Fedora(やRH系?)はyum install vim-enchancedでないと色分けされないそうだ。インストールしたものは vim になるので alias vi="vim" すると vi で実行できる。
ref: http://tempest.dcnblog.jp/blog/2005/05/fedora_core_3vi_1939....
ファイルごとで設定を変える(モードライン)
http://nanasi.jp/articles/howto/file/modeline.html
改行を削除する(行を連結)
J