Yahoo!のAndreiさんのプレゼンのPDFを勉強がてら訳していってます。
- 元記事: Andrei Zmievski: "VIM for (PHP) Programmers" slides and resources
- この記事シリーズまとめはこちら: (PHP)プログラマのためのVIM (まとめ) - おぎろぐはてな
- (1)カーソル位置・カーソル移動・マーク・挿入
- (2)削除・検索
- (3)置換・テキストオブジェクト
- (4)コピー/削除/貼り付け、レジスタ
- (5)undo
- (6)ビジュアルモード、ウィンドウ、タブ
- (7)補完・マップ・オプション
セッション (sessions)
- セッションは全てのウィンドウに加えグローバル設定を保存する
- セッションを保存すれば、あとで同じウィンドウの状態に復元できる
- :mksession <file>でセッションをファイルに書き出す
- :source <file>で、ファイルからセッションの読み込み
- vim -S <file>で起動すれば、そのセッション状態で起動する
その他 (miscellaneous)
- gf - カーソル下に書いてあるファイルへ移動する (CTRL-W CTRL-Fで新しいウィンドウに開く)
- :readは、ファイルの内容や処理結果をカーソル位置に挿入できる
- :read foo.txt - foo.txtを読み込み
- :read !wc % -
wc
を現在のファイルに対して実行し、結果を挿入する (!<command>でコマンドの実行ができる)- [補足] 原文では、
:read !wc %:h
となってますが、たぶん:hはtypoなので削っています
- [補足] 原文では、
- テキストに対してのフィルタの実行: :%!sort, :%!grep (文字を流し込んで出力で本文が入れ替えられるフィルタ的な動きをします), もしくは:!をビジュアルモードで利用します
- 自分が好きなのはこんなの: vip:!sort
- [補足]ビジュアルモードで段落を選択、ソートします
- 自分が好きなのはこんなの: vip:!sort
- コマンドライン履歴を利用する
- :と/のコマンドは上下のカーソルキーで履歴中を移動しながら探せる
- :と/のコマンドは、頭文字を入れてあげることで、それにマッチする履歴に絞り込むことができる
- q:とq/で、編集可能な履歴表示になる。(<Enter>で実行、CTRL-Cでコマンドラインにコピーできる)
- CTRL-AとCTRL-Xはカーソル下の数字をインクリメント/デクリメントしてくれる。(16進も8進も)
- ga - 今カーソル下にある文字は何? (補足: 文字と文字コードを表示してくれる)
- :set numberで、行数表示をオンにする
- もしくは、行数表示の切り替えをマップする: :nmap <silent> <F6> set number!<CR>
- :set autowrite - 編集が発生したバッファを閉じるときに、保存するかどうか聞いてくるのを止める
- CTRL-E/CTRL-Y - カーソルを動かさずに、ウィンドウのスクロールを行う
- :set scrolloff=Nで、カーソルがウィンドウ上部・下部からN行目のところでスクロールを開始するかを指定
- :set updatecount=50は、50キーストロークのあとにスワップファイルに書き込みを行う
- :set showmach matchtime=3 - 括弧が挿入されると、対応する括弧の組に一瞬ジャンプして対応を表示してくれる (補足: 時間はmatchtimeで調整できる)
- シェルでfcを実行すると、最後に実行したコマンドをvimで表示し、それを編集して、vim終了後に実行できる (もしくは fc Nで、履歴の最後のコマンド
N
を編集できる) - シェルでvimdiff (:help vimdiffを参照)
- [補足] --side-by-sydeなdiffのvim版です。色つきで異なる箇所が表示されて便利
ヘルプ
- :helpはともだち
CTRL-なコマンドをヘルプで探したいときは、その前にCTRL-Vを入力する
- [補足]
CTRL-A
のヘルプを参照したいときは、:help CTRL-V CTRL-A
- [補足]
CTRL-なコマンドを探すとき、挿入モード時のコマンドはi_、ビジュアルモード時のコマンドはv_を頭に付ける
- [補足] ビジュアルモードのときは、
CTRL-に限らず、かな。:help v_Vとか
- [補足] ビジュアルモードのときは、
- ヘルプ中では、CTRL-] (タグジャンプ)、CTRL-T(バック)を利用して移動できます
52ページ/77ページ
きりがいいのでここで切る。
次からカスタマイズと、ようやく"for PHP Programmers"な内容に入るです。