Vimの勉強
viとVimの違いがよく分かっていません。たぶんVimです。
いつもSublime Text(=ST)を使っています。学校のPCは、Ubuntuです。 Linuxでは、STの日本語入力がしにく「あぁああ」ってことでVimです。
今までの僕の使い方といえば、hjklやyy,ppみたいな基本的なものしか使えませんでした。
ネットで調べるのもなかなか面倒臭かったので、図書館にあったコマンドの本
- 作者: 山森丈範
- 出版社/メーカー: 技術評論社
- 発売日: 2010/10/22
- メディア: 単行本(ソフトカバー)
- 購入: 3人 クリック: 101回
- この商品を含むブログ (11件) を見る
を借りてコソコソふむふむ読んでました。
半分ぐらいは知らないコマンドで、でもそのいくつかは使わなくていいかという感じで覚えるのをスルーしました。 そして自分なりのルールを決定。
可能な限りカーソルを画面中央に置いておくこと
にしました。それが見やすい気がするから。あと、なんか混乱するから。
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