DipMeshSystems.

vi / vim 技術文書
技術文書 literature music このサイトについて
ファイル操作 カーソル移動 カット&ペースト ビジュアルモード バッファ操作 ウィンドウ操作 タブページ操作 設定ファイル vim-project.vim その他
setlocal formatoptions-=ro 勝手にコメントアウトされることを防止

表示

:set cursorline カーソル行強調表示
:set cursorcolumn カーソル列強調表示
:highlight CursorColumn ctermbg=Yello カーソル列背景を黄色に設定

編集・挿入モードへの移行

iカーソル位置の前から挿入モードをスタート
aカーソル位置の後から挿入モードをスタート
c8lカーソル位置から8文字切り取って挿入モードをスタート

ヤンク(コピー&ペースト)

dl 右1文字カット
d4l 右4文字カット
dw 右1単語カット
d4w 右4単語カット
dh 左1文字カット
d4h 左4文字カット
db 左1単語カット
d4b 左4単語カット
dj 下1行カット
d4j 下4行カット
dk 上1行カット
d4k 上4行カット

レジスタを指定してヤンクを使用する

:reg レジスタ(コピーバッファ)の一覧の取得
"adj 下1行をカットしてレジスタaに入れる
"bdj 下1行をカットしてレジスタbに入れる
"0dj 下1行をカットしてレジスタ0に入れる
dj 下1行をカットしてレジスタ0に入れる
最後の二つをみてもらうと判りますが、%vim%のヤンクでは基本は自動でレジスタ0を使用しています。また、:regの結果を見ると判る通り、レジスタ0~9まではvimが自動でローテートしています。
gvim(GUI版のvim)ではレジスタ+はOSのコピーバッファとリンクしています。



変換・置換動作

U大文字に変換
u大文字に変換
~大文字・小文字を切り替え
gg=G 全文自動インデント適用

シェル実行関連

:!ls -l ls -l を実行。
:r!ls -l ls -l の結果を取込。
範囲選択後 !!bash 選択文字列を実行結果で置き換え
範囲選択せずに !!bash カーソル行を実行結果で置き換え
:%!sort 全行を並べ替え
:%!xxd現在開いている通常ファイル形式の内容を、HEXダンプ形式に変換。
:%!xxd -r現在開いているHEXダンプ形式の内容を、通常ファイル形式に変換。

その他

:set shiftwidth=4 インデント幅を4に設定
:set number 行番号を表示
:set nonumber 行番号非表示
:set ts=4 タブ幅を4に設定
set ve=all フリーカーソルモードに
set ve= 通常カーソルモードに
set omnifunc=phpcomplete#CompletePHP オムニ補完を有効にします。長いので.vimrcに追加しておいた方が良いかもしれません。

マクロ・コマンド履歴など

qaxxxxq @aで起動可能なマクロを設定。実行される内容はxxxx部分。aは任意のアルファベット。
@a aに設定されたマクロを実行。
q: コマンド履歴から選択して実行
コマンド履歴内で:q コマンド履歴を閉じる
コマンド履歴内でCTRL+r " ペースト。"の部分を任意の文字列にすればそれぞれのレジスタの内容を貼り付けられる

その他

インサートモードにしてCTRL+x CTRL+o オムニ補完
gf カーソル下のファイル名を開く
Ctrl+w f カーソル下のファイル名を新しいウィンドウで開く
Ctrl+w gf カーソル下のファイル名を新しいタブで開く
:TOhtml ハイライトをHTMLに書き出す。
:scriptnames 読み込まれている全スクリプトを一覧表示する


©1998-2014 DipMeshSystems.
this site is powered by OpenSylph / DipMeshSystems.
x