作成中〜
これは、あくまで僕個人の感想ですが、たとえばCソースを秀丸で編集する場合に比べて、
それなりにvimに慣れた段階で1.5倍程度の速度に速まります!しかも品質を落とす事なく!
vimは、リズム感を乱さないので、集中力の維持が必要なプログラミングに最適なのですよね。
ちなみにですねー、xcode/eclipseのプラグインで、vimライクに出来るものあるのですよねーw。
vimは、xcode/Eclipseに付随してるエディタ、gedit、秀丸といったエディタとは違いモードを持っています。
vimを使って、テキストを編集する際、自分がどのモードにいるのか?を意識する必要があります。
少なくとも最初の内わ。
このモードっていうのが、vimへのニガテ意識を助長させるのですよね。分ります。
あと、カーソルの移動に、矢印キーを使えないのですよね。
jで⬇行、kで⬆行、hで1文字←、lで1文字→ってな寸法ですからね。ふぅ。
モードには、”ノーマルモード”、”コマンドモード”、”ビジュアルモード”、”挿入モード”、の4つがあります。
ノーマルモード
カーソルの移動、文字の削除、他のモードへ移動を行うモード
挿入モード
文章を挿入することが出来ます。
ノーマルモードから、aおよび、i,sを押すことでこのモードに移れます。
ビジュアルモード
文章を選択(矩形選択も)することが出来ます。
ノーマルモードから、v、Ctrl+vを押すことでこのモードに移れます。
コマンドモード
文字列の検索、置き換え、grepの実行、外部コマンドの実行などが可能です。
ノーマルモードから、/、?、:を押すことでこのモードに移れます。
各モードの関係と、モードに移行するためのコマンドキーを⬇図に記します。
そう、全てをキーボードで行うことを指向してるのでモードの移動もキーボードで行うのですよね。
使い始めの頃は、自分がどのモードにいるか見失ってしまうことがありますが、少なくともescを押す事で
必ずノーマルモードに移動するので、安心して下さい。
これまでの説明で出て来た、aとか、iとか、/、?って何よって疑問はありますが、
wikiに詳しい説明があるので、読んでみて下さい。→ wikipedia vim
このモードを分けることで、キーボードだけで高速なオペレーションを実現出来るのですよ。
ケース1
私は、c言語関数内で変数を定義する際には、char型の変数を、int型の変数よりも先に定義するクセがあります。
というのは、昔コンパイラの最適化性能があまり良くなかったころ、int型の変数を先に定義してしまうと、スタックに
無駄な空き領域が発生してしまうという事象があったためです。
そういうとき、
ddpとするだけで、行の入れ替えが出来ます。瞬コロです!
ケース2
c言語の開発などでは、予め決められているint、double、char、shortといった型をそのまま使うことは皆無です。
必ず、typedefを使って、新たに型定義をしなおして、INT、DOUBLE、CHAR、SHORTといったように一度、別の型に定義しなおして
プログラム内で利用します。というのは、char以外、変数のサイズが言語の規約で決まっていないのですよね。
そのため移植性を考慮すると、こういった型定義のし直しが必要となるわけです。まっ、お約束ですね。
そういうとき、
~とするだけで、小文字→大文字変換が出来ます。というか、小文字⇄大文字変換が出来ます。瞬コロです!
ケース3
xp
y2w
f(文字)
di'
でもそうは言っても日々の仕事もあるし、習得に時間を割けないしなー。
えぇ、そりゃそうですw 会社にvimの習得工数をくれなんて言えないですもんねw
とりあえず、ブラウザgoogle-chromeを使うようにして、
拡張プラグインVichromeを導入しましょう!
こいつは、google-chromeのスクロール操作を、vimライクにしてくれるプラグインです。
j、kといったキー操作(⬆・⬇にスクロール)になれましょう!