:control + f
control + c, control + c
:source ~/.vimrc
:e ++enc=文字コード
(例):e ++enc=sjis
* 文字コードを変更して保存する\\
:set fileencoding=utf-8\\
:set fenc=utf-8
* 指定可能な文字コード例\\
utf-8, euc-jp, shift_jis
* 改行文字を指定して保存する\\
:set fileformat=dos\\
:set ff=dos
* 指定可能な改行文字\\
dos, mac, unix
* バイナリモードで開く\\
-b パラメータを付けてファイルを開き
<code>vi -b xxx.bin</code>
xxd コマンドを実行して、16進数表示し
<code>:%! xxd</code>
編集したら -r を付けて xxd コマンドを実行して表示モードを元に戻し
<code>:%! xxd -r</code>
保存する
<code>:w</code>
* 開いているファイルを再読み込み\\
:e!
* カーソル位置のファイルを開く\\
gf
/ で検索開始
Ctrl + r, " でペースト * 検索文字列を編集するバッファを表示\\ q/ * 大文字・小文字 * 識別する: set ic * 同一視する: set noic
mf
md
(常に表示)
(ファイル名、編集状態、読み取り専用、文字コード、改行コード、行番号) <code>:set laststatus=2
:set statusline=%<%f\ %m%r%{'['.(&fenc!=''?&fenc:&enc).']['.&ff.']'}%=%l/%L,%v</code>
control + a
~
g~[移動操作]
gu[移動操作]
gU[移動操作]
dd
3dd
d0
d$
d1G
dG
u
control + r
%
H
M
L
zt または z + Enter
zz または z + .
zb または z + -
Ctrl + v, m または Ctrl + v, Enter
\(バックスラッシュ)でエスケープする。
&
Mac の場合は option + ¥ で入力する。
:args **/*.txt :args :argdo %s/foo/bar/gc | update
:sp
ctrl + w, w
ctrl + w, p * カーソルがあるウィンドウのみにする\\ ctrl + w, o\\ * カーソルがあるウィンドウを閉じる\\ ctrl + w, c\\ * ひとつに戻す\\ :q
ctrl + w, =
ctrl + w, +
[数値]ctrl + w, +\\
* カーソルがある方のウィンドウを小さくする\\
ctrl + w, -\\
[数値]ctrl + w, -\\
* 水平分割
* カーソルがある方のウィンドウを大きくする\\
ctrl + w, >\\
[数値]ctrl + w, >\\
* カーソルがある方のウィンドウを小さくする\\
ctrl + w, <\\
[数値]ctrl + w, <\\
:set tabstop=4
:set ts=4 * オートインデント\\ :set autoindent\\ :set ai * C言語を意識したオートインデント\\ :set cindent * インデント幅\\ :set shiftwidth=4\\ :set sw=4 * ソフトタブ\\ :set expandtab
:di
za
zR
zM
:r!<command> [<parameter>]
:r!grep -n <検索文字列> <対象ファイル>
:vimgrep /検索文字列/j 対象ファイル
:vimgrep /検索文字列/j 対象ファイル | cwin
または
<code>:vim /検索文字列/j 対象ファイル | cw</code>
* 最後に「 | cwin」を付けると、検索後すぐに結果一覧が表示される
* 単語検索\\
\<\>で検索文字列を囲む\\
<code>:vim /\<検索文字列\>/j 対象ファイル | cw</code>
* ディレクトリ階層を再起的に検索\\
ディレクトリ指定に %%**%% を入れると、そのディレクトリ階層以下のファイルが対象となる\\
<code>:vim /検索文字列/j java/src/**/*.java | cw</code>
* 検索結果の一覧ウィンドウを開く
<code>:copen</code>
* 検索結果の一覧ウィンドウからファイルを開く\\
カーソルを開きたいファイルに移動して Enter
* Quickfix の操作\\
* 次の検索結果に移動\\
<code>:cn</code>
* 前の検索結果に移動\\
<code>:cp</code>
* 開いたファイルを閉じる
<code>:ccl</code>
* vimgrep 実行前にカレントディレクトリを変更する。
<code>:cd ~/doc/html</code>
:bufdo vimgrepadd /<検索文字列>/ %
:windo vimgrepadd /<検索文字列>/ %
:r! grep -ir –include “ファイルパターン” “検索文字列” <検索ディレクトリ>
(例)<code>:r! grep -ir --include "*.rb" "connect" src</code> * 指定したディレクトリ以下を再帰的拡張正規表現で検索して、結果をバッファに取り込む\\ :r! grep -Er --include "ファイルパターン" "検索文字列" <検索ディレクトリ>\\ (例) <code>:r! grep -Er --include "*.java" "0x[0-9]+" src</code>
:1,$!sort
開始位置でマークする。
:'x,.!sort
(例) 10行目から20行目までをソート
<code>:10,20!sort</code>
(ディレクトリ ~/.vim/colors/ と、拡張子 .vim は付けなくてよい)
colorscheme <スキーマファイル名>
※行頭でなくとも良い。(行頭はイメージをつかみやすくするため)
r!jot -w'(\%d)' 10
r!ruby -e 'puts (1..10).to_a.join("\n")'
プロンプトから
<code>vimdiff <sourcefile> <targetfile></code> または、比較元を開いている状態で <code>:vertical diffsplit <target></code> 省略形\\ <code>:vert diffs <target></code> * diff を実行してファイル比較し、結果をウィンドウに表示。 <code>:r!diff -s -X ~/tmp/diffexcludefiles.txt source/ target/</code> (diffexcludefiles.txt の中身) <code>
*.gif
*.jar
*.exe
*.dll
</code>
au BufNewFile,BufRead *.rb set tabstop=2 shiftwidth=2
~/.vimrc
ホームディレクトリの _vimrc
colorscheme koehler
ホームディレクトリの _gvimrc に記述