viカスタマイズ
:setコマンド
viの実行中にオプション(行番号の表示など)を変える。
オンに切り替える
:set option
オフに切り替える
:set nooption
現在の設定オプションの設定状況を確認
:set all
.exrcファイル
vi起動時にホームディレクトリの.exrcファイルからオプション設定を読み込む。
viやexコマンドを使うときに必ず有効にしておきたいsetコマンドやabコマンド、mapコマンドを設定しておく。
~/.exrcファイルの例
set nowrapscan wrapmargin=7 set sections=SeAhBhChDh nomesg map q :w^M:n^M map v :dwElp ab ORA O'Reilly & Associates, Inc.
.exrc中のコマンドの先頭にコロンをつける必要はない。
viはホームディレクトリ以外に、カレントディレクトリにある.exrcファイルも読み込む。
また、:soコマンド(source)で.exrcファイル以外のファイルを読み込むこともできる。
:so .progoptions
UNIXコマンドの実行
感嘆符(!)を使えば、シェルを生成して感嘆符の後ろにある内容をUNIXコマンドとして認識するようにexに指示できる。
:!command
連続してコマンドを実行したい場合は、
:sh
で、シェルを生成できる。
viに戻りたいときは、control+D で戻れる。
また、:readコマンドとUNIXコマンドを組み合わせれば、UNIXコマンドの実行結果をファイルに読み込める。
:r !date
:rコマンドの前に行アドレスをつければコマンド結果をその行に挿入できる。
:6r !date
テキストのフィルタ処理
コマンド出力がバッファ中のテキストブロックと置き換えることができる。
フィルタをかけたい行アドレスを指定して、その後に感嘆符と実行するコマンドを指定する。
:96,99!sort
96〜99行をsortして結果をその4行に置換する。
キー入力節約用コマンド
単語の略記
省略形を定義するexコマンド
:ab abbr phrase
abbrはphraseの省略形。
International Materials Research Center を imrc で略記できるようにする例
:ab imrc International Materials Research Center
省略形はスペースキーかキャリッジリターンか[Esc](コマンドモードに戻る)を押すと展開される。
現在定義されている省略形の一覧を表示
:ab
mapコマンドの使い方
文字xを編集コマンドのsequenceとして定義
:map x sequence
xに定義されたsequenceを削除
:unmap x
現在マップされている文字の一覧を表示
:map