タグ: プログラミング

経験の浅いプログラマーにVimを推奨すべきかせぬべきか

エディターは人それぞれですし歴史があり宗教戦争に発展するので他人にとやかくいうものではないと思います。でもそこに経験の浅いプログラマーが入ってきた場合は?この場合おすすめするかどうかは非常に悩みどころです。

遠い遠い昔の初めてプログラミングを行った専門学校の時代はPCに入っていたメモ帳での開発でした。当時のことを思い返せばよくもまぁ全角スペースすら見落としやすいメモ帳で100ファイル近くのファイルを管理してjavaで卒業作品にゲームを作ったなと思います。その後に最初の会社でEmEditorに出会いこんなに便利なエディターがあるんだと感動しEclipceの当時の重さに苦慮しつついつからかVimがおすすめと言われてVimを使い出しました。

vim

vimは便利です。慣れれば今でも十分使えるし使いやすいエディタだと思っています。大体のUnix系OSに入ってるので特にサーバーで作業する際とか緊急時の対応とかに助かります。軽いしターミナルだけで作業できるしマウスいらずで便利です。でもこれはvimを長年使っているから言えることです。

vimは最初のとっかかりに戸惑います。いろいろ操作やコマンドを覚えたり設定を行なったりプラグインを入れたりすればすごく使いやすいのですがそこまでいくのに時間がかかります。入ってすぐにいろいろなことを覚えないといけない状況でVimまで覚えることになると負担が大きいので基本的になしかなと個人的に思ってます。今ならもうvim以外のエディターで軽くてお手軽に始められて拡張性もよく使い勝手のいいものは既に出てるのでは?と考えてしまうことも多々あります。メモ帳代わりに使ってますがVSCode辺りがそれに近そうです。

自分の出した結論は基本的には推奨すべきでない。仕事に慣れて余裕ができて興味があってようやくレベルかなと・・・ターミナルだけで作業できてマウスいらずで便利なんですけどね

上記だけで終わるとアレなので自分がよく使っているコマンド等を記載して終わります。

1行削除の「dd」
1行コピーの「yy」
ペーストの「p」
末尾に移動する「$」
123行目へ移動する「123G」
特定の文字に囲まれている中を削除する「di’」「di”」
ビジュアルモードでの加工や範囲選択での置換
インサートモードから抜けるEscの代わりに「jj」
=などのインデントを自動で行ってくれる自動整形プラグイン
構文エラーチェックのシンタックスエラー検知のプラグイン

特に行番号への移動や行コピーや行削除、ビジュアルモードでの加工はよく使います。