現在の折りたたみ方法を表示manual マニュアル定義
indent インデントレ
expr 特殊表現定義
syntax ファイルタイプ別構文
diff folds for unchanged text
marker マーカー定義
折りたたみ方法の修正:set foldmethod
主なコマンド:set foldmethod=種類名
]]>zi :折り畳みの有効無効の切り替え
zf :折り畳みを作成する
za :折り畳みの開け閉め
zd :折り畳みを削除する
※他にも多くあるが覚えきれない。:h fold-commands で調べるべし。
]]>:echo $VIM
⇒ /usr/share/vim
:echo $VIMRUMTIME
⇒ /usr/share/vim/vim72
:echo $MYVIMRC
⇒ /cygdrive/c/home/user1/.vimrc
:echo $MYVIMRC
⇒ cygwin
このとき以下のコマンドと動作が成立。jump line col file/line ~
2 1 0 some text ~
1 70 0 another line ~
> 0 1154 23 end. ~
1 1167 0 foo bar ~
その他、ジャンプ系Ctrl-I :「1167 0 foo bar ~」へジャンプ
Ctrl-O :「70 0 another line ~」へジャンプ
2 Ctrl-O :「 1 0 some text ~」へジャンプ
1 Ctrl-I :「1167 0 foo bar ~」へジャンプ
]]>[<Ctrl>I :カーソルの単語についてカレントファイルだけでなく#include指定ファイルも含めてを検索し該当へジャンプ
[<Ctrl>D :カーソルのマクロ定義についてカレントファイルだけでなく#include指定ファイルも含めてを検索し該当へジャンプ
:[range] ij[ump] [/]文字列[/] :カレントファイルだけでなく#include指定ファイルも含めて文字列を検索し該当へジャンプ
:[range] dj[ump] [/]マクロ[/] :カレントファイルだけでなく#include指定ファイルも含めてマクロ定義を検索し該当へジャンプ
TAB視覚化:set expandtab :TABキー押下でspaceを入力するモード
:set noexpandtab :TABキー押下でTABを入力するモード
:set tabstop=4 :TABキーによるspace幅を設定
:%retab :expandtabモードで利用すると文中全てのTABをspaceへ
:%retab! :noexpandtabモードで利用すると文中すべtのspaceをTABへ
:%ret :%retabと同じ
:%ret! :%retab!と同じ
:set shiftwidth=4 :インデント幅を設定(normalモードで>>や<<でインデントできる)
]]>:set listchars=tab:>-
:set list
>-は好きに変更OK
例えば以下のように>とSpaceの組合せも指定できます。
:set listchars=tab:>\
("Space" を "\ " で表現してます。)
通常モードでの移動:tabs タブで開いているファイルのリストを表示
:tabm 0 最初のタブへ
:tabm {i} i+1番目のタブへ
:tabn 次のタブへ
:tabp 前のタブへ
:tabfirst 最初のタブへ
:tabf {file} ファイルを新しいタブで開く
:tabc 現在のタブを閉じる
:tabc {i} i番目のタブを閉じる
:tabo 現在のタブ以外の全てのタブを閉じる
gt 次のタブへ
gT 前のタブへ
{i}gt i番目のタブへ
:reg : 現状の記録内容を表示
qq : レジスターqに記録開始
q : 記録終了
@q : レジスターqの記録を実行
@@ : リピート
"qp : レジスターqの記録内容をカーソル行に出力
"ayy : レジスターaに現在の行内容をコピー格納
"add : レジスターaに現在の行内容を切り取り格納
@a : レジスターaの記録を実行
:%normal @q : レジスターqの内容を全行で実行
:normal @q : レジスターqの内容を現在の行で実行
"=100*100 : レジスター=に計算式を入力。直後にpで計算結果がカーソル位置に入力される。
その他メモguu : カーソル行を小文字へ(lower)
gUU : カーソル行を大文字へ(upper)
guw : カーソル単語を小文字へ(lower)
gUw : カーソル単語を大文字へ(upper)
~ : カーソル位置の文字を大文字小文字切替
]]>G :ファイル内容を表示
gf : カーソル位置のファイル名を開こうとします。
ga : カーソル文字のアスキー文字番号を表示
g8 : カーソル文字のutf-8文字番号を表示
ggg?G : ファイルをrot13で変換
CTRL-A : カーソル下の数値がインクリメント increment
CTRL-X : カーソル下の数値がデクリメント decrement
ds :Delete surroundingsOld text Command New text
"Hello world!" ds" Hello world!
[123+456]/2 cs]) (123+456)/2
"Look ma, I'm HTML!" cs"<q> <q>Look ma, I'm HTML!</q>
if x>3 { ysW( if ( x>3 ) {
my $str = whee!; vlllls' my $str = 'whee!';
cs :Change surroundingsOld text Command New text
"Hello world!" ds" Hello world!
(123+456)/2 ds) 123+456/2
<div>Yo!</div> dst Yo!
ys :(Unfortunately there's no good mnemonic for "ys".)Old text Command New text
"Hello world!" cs"' 'Hello world!'
"Hello world!" cs"<q> <q>Hello world!</q>
(123+456)/2 cs)] [123+456]/2
(123+456)/2 cs)[ [ 123+456 ]/2
<div>Yo!</div> cst<p> <p>Yo!</p>w
Old text Command New text
Hello world! ysiw) Hello (world)!
Hello world! yssB {Hello world!}
autocmd FileType php let b:surround_45 = "<?php \r ?>"
let g:surround_45 = "<% \r %>"
let g:surround_61 = "<%= \r %>"
それ以外Old text Command New text ~
print "Hello *world!" yss- <?php print "Hello world!" ?>
Old text Command New text ~
print "Hello *world!" yss- <% print "Hello world!" %>
print "Hello *world!" yss= <%= print "Hello world!" %>
]]>