2025年05月17日 vimmer vim エディタ |
パワーー
※オリジナルCMC WorldPeaceフルマークダウン対応
※業務プロセスを効率化する100万語彙内蔵の自作IME
※辞書を毎時300件流し読むためのハック
アチャー
✎2023-6-7
●vimgrep:vimgrep /検索文字/ *.txt |cw
●強調表示を解除:noh●検索パターンに大文字が含まれている場合は区別して検索:set smartcase
●画面をただちに再描画:redraw!を付せば、画面を消去してから再描画●ファイルを開く際にウィンドウサイズを指定:30sp .vimrc
●ウインドウの数を取得winnr("%")●ウィンドウを右側に展開:rightb vs .vimrc
●ウィンドウの開閉時にサイズを保つ:set winfixheight(wfh) "縦幅
:set winfixwidth (wfw) "横幅
●複数行をまとめてコメントアウトvmap <c-V>0I<esc>vmap C :s/^//<cr>
vmap // <C-V>0I//<Esc>
vmap c :s/^////<CR>:noh<cr>K
●日本語の行の連結時には空白を入力しない:set formatoptions=Mm
●相対的な行番号と絶対的な行番号をトグルnnoremap <silent> ;h :<C-u>ToggleNumber<CR>
command! -nargs=0 ToggleNumber call ToggleNumberOption()
function! ToggleNumberOption()
if&number set relativenumber
else set number
endifendfunction●カーソルの桁番号を得るcol(".")行番号はline(".")●タブラベルを常に表示する:set showtabline=2
タブページのラベルを表示するかを指定する。●カレントタブ以外のすべてのタブを閉じる:tabo●右端のタブとしてファイルを開く:tabm|tabnew .vimrc
- 表示しない
- 2個以上のタブページがあるときのみ表示
- 常時表示
●コマンドラインからノーマルモードのコマンドを実行する:normal j
:executeを使って制御文字を入力することもできる。:exe "normal <c-w><c-w>"
●一時ファイルを作って開く:tempname()存在しないファイルのファイル名を少なくとも連続26回の呼出しまでは違う名前で生成する:let tmpfile = tempname()
●ファイルに追記:execute ":redir! >> " . filename
:silent! echon l:words."n"
:redir END
●readしたときにファイルの一行目から書き込む:0r filename
●カレントファイル名を得るexpand("%")●netrwでCVSと.で始まるファイルは表示しない:let g:netrw_list_hide = ’CVS,(^|ss)zs.S ’
●候補をポップアップする(インサートモード補完時):call complete(col(’.’),[’matumoto’,’hamada’])
候補のリストに要素を追加する。:call complete_add("takasu")
●ポップアップ中のキーマッピングinoremap <expr> u pumvisible() ? "<c-p>" : "u"
ポップアップメニューが表示されているときには非0を返し、表示されていないときは0を返す。pumvisible()関数を用いて実現。●Webページを表示する(w3m必須):!w3m -dump -cols 80 hoge.html > hoge.txt
*via:w3m テキストブラウザ
●スクロールの同期:set scrollbind
カレントウィンドウは他のスクロール同調中ウィンドウと同じだけスクロールする。●テキストを水平にスクロールzs "カーソルのある位置がスクリーンの始まり(左側)に来る
ze "カーソルのある位置がスクリーンの終わり(右側)に来る
●split()で区切り文字を残すfor c in split(mystring, ’zs’)
●ヴィジュアルモードの選択範囲を繰り返す関数に引数[range]を追加した場合、関数は「範囲」を管理することができる。function Funcname() range
for line_no in range(a:firstline, a:lastline)
if line =~ ’Date’|echo line|endif
endfor
endfunction●一旦停止:sleep "1秒スリープ
:5sleep "5秒スリープ
:sleep 100m "100ミリ秒スリープ
●強調表示:call matchadd("Search", "発光文字")
●笑顔:smile
\ 10時〜20時 土日も対応可 /