Milk+ea

Weblog Is My Hobby.

Vimの勉強

viとVimの違いがよく分かっていません。たぶんVimです。

いつもSublime Text(=ST)を使っています。学校のPCは、Ubuntuです。 Linuxでは、STの日本語入力がしにく「あぁああ」ってことでVimです。

今までの僕の使い方といえば、hjklやyy,ppみたいな基本的なものしか使えませんでした。
ネットで調べるのもなかなか面倒臭かったので、図書館にあったコマンドの本

vi/Vim コマンドポケットリファレンス

vi/Vim コマンドポケットリファレンス

を借りてコソコソふむふむ読んでました。
半分ぐらいは知らないコマンドで、でもそのいくつかは使わなくていいかという感じで覚えるのをスルーしました。 そして自分なりのルールを決定。

可能な限りカーソルを画面中央に置いておくこと

にしました。それが見やすい気がするから。あと、なんか混乱するから。

z+.で現在カーソルがある行を中央に持ってくる。
スクロールにはz+.かMで中央に戻ったあと、ctrl+d ctrl+uで移動。
行きたい行が画面の上か下に近い場合は、積極的にH Lを使う。
そこからの移動には{ } % :行番号を使う。
行きたいとこに近づいたらh j k l / ? t fで移動。
処理、ターンエンドな感じ。

慣れてなくておっそいしミスるのでとりあえず慣れたい。

あとvimrcとgvimrc、いじれるようになりたい、キーマップとか。

追記
とりあえずこんなので。

nnoremap z z.
nnoremap <C-j> z.<C-d>
nnoremap <C-k> z.<C-u>
nnoremap <C-o> H
nnoremap <C-n> L
nnoremap <C-l> {
nnoremap <C-h> }
nnoremap <C-S-a> ggVG

nnoremap <C-TAB> :tabnext<CR>
nnoremap <C-S-TAB> :tabNext<CR>

inoremap <C-j> <C-[>
inoremap <C-k> <C-m>
inoremap { {}<LEFT>
inoremap [ []<LEFT>
inoremap ( ()<LEFT>
inoremap " ""<Left>
inoremap ' ''<Left>
inoremap <C-p> <ESC>pa

" cut-copy
vnoremap <C-S-x> "*d
vnoremap <C-S-c> "*y