Webなどで Vim の記事を読むと「Vim大好き!おすすめのプラグインはこれでvimrcはこれ!開発捗ります!」みたいな記事をよく見るのですが、実際の職業プログラマーで大規模なプロジェクトなどでもVimで開発している人はいるのでしょうか?
小規模な個人開発や、ちょっとしたスクリプト作成、ファイルの編集で渡しもVimを使うことはありますが、本格的に開発するときはVimでは頼りないことが多く選択肢に入りません。
やはりどうしてもIDEで開発するのですが、業務でVimで開発をしている方は本当にいるのでしょうか?
気になる質問をクリップする
クリップした質問は、後からいつでもMYページで確認できます。
またクリップした質問に回答があった際、通知やメールを受け取ることができます。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
回答10件
0
私はvimを使い始めて約12年、vimスクリプトで自分が欲しいものはほぼ作れますし、かなり設定を作りこんでいます。
いるかいないかで言えばたくさんいると思います。私の場合、PHPで4〜5万行くらいのWebサイトを作ったのが一番大きかったでしょうか。PHPはデバッガがなくても苦にならないんですよね。printfデバッグで十分。PHP関数は全部辞書(:h 'dict')に書いて、cronで10分おきに自分のソースにctagsを回していました。関数名をタイプするとその引数をecho表示するスクリプトも自作していました。これで何も不便は感じませんでした。
しかしC++やC#で書くときは迷わずIDEを使います。一番の差はインテリセンスでしょうかね。
クラスライブラリや他人が書いたコードを使うときはメソッド名を補完したり、クラス階層を表示してくれるのが非常にありがたい。
他の言語でも本格的なアプリケーションを作るときはIDEがあるなら使いたいです。
[追記]
IDEとvimの差、デバッガの存在も大きいです。Webアプリの場合はリクエストの前後でデータがどう変わるかDBを見ればいいのですが、デスクトップアプリのようなプログラムだと必ずしも1アクションごとにDBやファイルに保存するというものではないので、デバッガで変数を見るということが重要になります。
投稿2015/09/02 04:29
編集2015/09/03 00:37総合スコア196
0
ベストアンサー
Vimを使って開発している人結構いますよ。
そもそもですが、なぜ「Vimでは頼りない」という判断になったのかというところがポイントです。
私の予想ですが、
「開発する為に欲しい便利な機能がIDEで実現されているから」
ではないでしょうか?
さらに
「IDEで実現されている機能をわざわざVimで実現する必要性があるの?」
という気持ちもあるかもしれません。
ではなぜVimが雑誌を賑わせ、多くの人に愛用されるのか、利用者の一人である私の意見をお伝えしたいと思います。
★Vimは「The Unix文化」である。
目的の機能以外はバッサリ切り捨て、シンプルの極みを目指す。
Vimは「編集」機能だけに注力し、それ以外の機能についてはマクロや外部ソフトウェア連携で実現する方法をとっています。
「1つの機能に特化した小さなプログラムを連携させれば、目的の機能を実現できる」
という考え方です。
★The Unix文化アプリなので好きに環境を構築できる
編集以外の機能については、自分の好きなプログラムを連携することが出来ます。
マクロで実現することも可能です。
デバッガ、リンカ、コンパイラ、ファイラ、正規表現ツール・・・etc
自分が欲しい機能を自由に組み合わせられることで、自分に特化した最速/最強の開発環境を作ることが出来ます。
ざっくりと上記2点が理由で私はVimを使っています。
「編集はVimでやるとして、ソース連携はGitクライアントを使おう。
Grep検索はGNUの拡張Grepにして、んで、コンパイラ、リンカはGCCで組み合わせる。
デバッガはGDBにしてフロントエンドが必要ならDDDだな。
ファイラは・・FILMTNのCloneにしようか。
コード色付けはVimの設定でやってしまおう。
スニペットはマクロで対応しよう。
Shell連携もセットアップして、Vimからawkやらsedを叩けるようにしよう。」
といった感じで、自分のお気に入りのツールと合わせ、自分に必要な機能を持った開発環境をつくり上げるわけです。
IDEだとこのあたりの小回りが効かないんですね。
この小回りが開発スピードに如実に関係してきます。
「物づくり」に対するソフトウェアの選定と構築を行う行為を”楽しい”と思えるかどうかがキモでしょうか。
デメリットとしては、上記のようなアレコレを考えるための知識が必要になるので、アレコレと普段から勉強しとかないといけません。
Vimの編集機能が体に染み付いているのも条件です。
※そもそも染み付いてないならnano等を使ったほうが直感的で作業が早いと思います。
(*´∀`)ノ 「熟練のVim使いやEmacs使いはIDEなんて必要ないぜ!!」
という記載をブログ等でよく見ますが、それは、そのレベルまで自分の環境を育て上げて、ツールを使い倒しているから言えることであって、そこに魅力を感じることができない気持ちであれば、無理にVimやEmacs等の生粋のUnixアプリを使う必要ないと思います。
最後に私が言えることは・・・・
(*´∀`)ノ 「騙されたと思ってVimを使った開発環境構築をアレコレ試してみると、きっと面白いよ!!」
ってことくらいです。
投稿2015/09/11 06:09
総合スコア135
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
0
私の場合、Linuxをはじめた20年ぐらい前からVI,VIMを使用しています。
もしあなたが、Makefileを自分でガリガリ書いて、コンパイルをするようなエンジニアでない。大量のコードを高速に読み解かなければならない。あと、Windows上で動くソフトの開発をやっている。というのであれば、vimの本当の価値に気がつくことはないでしょう。単にエディタとして使うんであれば、vimの恩恵にあずかれないでしょうか。そういうエンジニアはIDEを使用するのをお勧めします。マウスでグリグリ、プチプチしてください。
もし、Makefileを書いて、gdb、ctags、sedその他のもの便利なコマンドラインのツールを使えるのであればvimは指が勝手に覚えるまで使いこなせれば、vimのすばらしさがわかるでしょう。
投稿2015/09/08 14:42
総合スコア42
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
0
最近プログラミングを始めた人は、IDE(統合開発環境)が当たり前だと思いますが、大昔はその様なものは無く、テキストエディタで、ソース書いて、同じくテキストエディタでmakefile書くしか方法がありませんでした。その時代は、vimではなく、viでさんざん仕事をしていました。
その時代から、開発やっている人は、だいたい今でもvi(vim)か、emacsのどちかで仕事してますね。
自分は、emacs(と言ってもMeadow3.0ですがね)を使っています。
ただ、ビルドやデバックにはIDEを使っているので、ソース編集だけ、viやemacsという感じです。
完全にブラインドタッチで、エディタ扱う人は、ファンクションキーやカーソルキーに指をのばしたくないですからね。
投稿2015/09/11 15:05
総合スコア241
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
0
つい最近vimでも開発をするようになりました者です。
私は、携わった開発の環境如何で、IDE使ったりvim使ったりします。
それまでは主にVisual Studioな開発と、PHPでの開発でEclipseを使っていました。(ここまでずっとほぼコーディング作業はWindows)
vimで開発するようになったのは、初めてRuby on Rails + 使い慣れないMac OSでの開発に携わった時です。以下の様な理由で使ってみました。
・CUIでのいろいろな操作に慣れたかった(今まで、少しだけならvimも使ってたし、ダイジョブだろ)
・使い慣れないOSでIDE使うのは大変かなあ(OS元々の機能を使うだけでせいいっぱい。IDEを覚えるのを諦めた)
・そんなに環境に依存しないで使えそう(Macで作業することはいつあるか分からないけれど、Linuxな環境で作業することはあり続けるから、Mac用に覚え直すよりは良いじゃね?)
まだまだ使い始めですが、少しカスタマイズするだけでも結構楽しいと個人的には思ってます。
さすがに、デバッガ機能などをプロジェクト全体で慣例的IDE機能を使っていると、迷わずIDEにはしますが。。。(でも、そういうプロジェクトに携わったことないから、したことない)
投稿2015/09/08 14:55
総合スコア31
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
0
こんにちは。
5,6年vimを使っているプログラマーです。
僕の場合はIDEのキーバインドをvimにして使っています。
やっぱり入力補完は使いたい。でもカーソル移動などやコピペなどはvimが慣れているので、vimでやりたいので。。。
なのでvimrcをカスタマイズというよりかは、vimの基本機能をIDEで使用しているという使い方になります。
JetBrainsのIDEのvimプラグインが優秀なので、オススメですよ。
投稿2015/09/08 06:30
総合スコア509
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
0
私も投稿者と同じく、shellスクリプトや簡易ツールは
vimを使ってトライ・アンド・エラーで作成しますが、
大規模なチーム開発では、IDEの方がよいと感じています。
理由は以下のとおりです。
・グラフィカルなデバッグ(PHPでもxdebugと連動させることで、webデバッグ可)
・テンプレート機能などにより、コーディング規約に強制的に従わせる
・コンパイル/リファクタリングの効率化
・クラスやパッケージから関連ソースの追跡が容易
・バージョン管理システムやサーバとの連携が容易
また、一概には言えないですが、直感的に操作できるため
新人にとって学習コストが低いのではないでしょうか。
投稿2015/09/08 12:56
総合スコア10
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
あなたの回答
tips
太字
斜体
打ち消し線
見出し
引用テキストの挿入
コードの挿入
リンクの挿入
リストの挿入
番号リストの挿入
表の挿入
水平線の挿入
プレビュー
質問の解決につながる回答をしましょう。 サンプルコードなど、より具体的な説明があると質問者の理解の助けになります。 また、読む側のことを考えた、分かりやすい文章を心がけましょう。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。