WebアプリやJava等、様々な状況にて言えることですが、開発の際には多岐にわたるファイルを編集する必用が有るかと思います。
にもかかわらず、リッチなGUIを持たないエディタでごちゃごちゃと依存し合うファイルの全体を把握しながら
開発するのってぶっちゃけ大変じゃないですか?
私自身、リモートでちょこっとソースを編集をしたり、ちょこちょことスクリプトを作ったりする際以外はPeggyやEclipseを使用しています。
画面の横の方にプロジェクトの構成ファイルをツリー表示させています。
何度もEmacsやviに挑戦しましたが、今どんなバッファが有るかどうかなど、分からなくなってしまいます。
しかし、Emacsやviへの憧れがあるのもまた事実です。
プロジェクト全体を把握しやすくするTipsや拡張等ありましたらご教授ください。
開発時のスクリーンショットとかあるとなおよしです。
ちなみに当方の環境はWindowsですが、Macの方、Unix系の方もどしどしお願いします。
無理に環境変える必要ない!というのは無しでお願いします。
私の場合,FreeBSD の上で vim (gvim ではない)ですが,ファイルの操作は vim だけでなく,例えば grep とか find とか sed とか cvs とかといったツールと組み合わせて使ってます
Windows の GUI なクライアントの欠点としては,画面が最大限使えない(余計な?表示が多くて),情報が多岐に渡りすぎて,状況を把握できない,マウス操作を強いられ面倒くさい(基本マウスは使わない)といった点があって,使いづらいと思ってます
開発環境の場合は,エディタ単体ではなく,エディタ以外のツールとの組み合わせも大切だと思いますよ
WindowsおよびUbuntuでgvimを使っています。
基本的には今着手しているモジュールに関連したファイルを2、3個タブとして開いて開発するスタイルです。他のファイルのことは気にしないことにしてます。
自分もどんなバッファがあるのかすぐにわからなくなるのでタブを使ってます。
最初にファイルを開くときは普通にシェルやファイルマネージャから開くことが多いですが、
あらかじめvimのセッションとして保存しておいてそれを開く場合もあります。
あとはディレクトリを開こうとするとファイルマネージャっぽいもの(netrw)が表示されるのでそれで開くとか。
project.vimやwinmanager.vimを使えばIDEのようなツリー表示も可能です。
taglist.vimを使えば関数や変数の一覧表示も可能です。
templates.vimのようなテンプレート用プラグインを使えば、新規ファイル作成時にEclipseのようにひな形を使うことも可能です。
vcscommand.vimを使えばCVSやSubversionなどと連動することが可能です。
その他、各種言語用に入力補完やマニュアル表示のためのプラグインがいくつかあります。
好みのプラグインを見つけてくるまでが大変ですが、自分で築き上げた環境はSubversionに突っ込んでどこでも復元できるようにしてあります。
自分の環境やプラグインの紹介記事です。参考までに。
UNIX系OSで作業をするときにはviをメインに使用しています。
linuxではbashが標準となりコマンドの履歴も矢印キーでできますが、
bashでもいまだに「set -o vi」とやってしまいます。
そもそもviの名の由来はVIsual editorの略で
当時はこれでもビジュアル系だったのですね(笑)
>無理に環境変える必要ない!
そうです。無理に変える必要はないです。
しかし覚えておいて損もない。
適材適所の考え方が必要です。
viの最大の強みはUNIX系OSであればどんな環境にも最初から入っている
GUI画面なしでも設定ファイルを編集することができること
さらにトラブル時GUIが使えないときや、モニタがないとき?!でも
目をつぶっていてもキーボードのみあれば操作ができること。
また、シェルの話になってしまいますが、
コマンドの標準出力を他のコマンドの標準入力に出来るところが最大の強みです。
なのでWindws環境ではviを使う気にはなれません。
UNIX系OSでawk,sed等のコマンドといっしょに使うことがほとんどです。
普段はWindowsです。
普段はvimを使ってます。
特に不便を感じたことはないですね。
Eclipseみたいなのだと重いし裏側でいらないこともしてそうで使いたくないです。
しかも体がvimに最適化されたので今更他の環境には移れませんね。
さてvimへの移行ということで。
vimにしろEmacsにしろ普通のエディタに比べたら癖があります。(特にvimは)
初めは"vim 入門"辺りで検索して最低限の使い方を覚えればいいでしょう。
Windowsでは香り屋でダウンロードで。
またvimは(Emacsもですが)スクリプトで拡張できます。
スクリプトは名無しのvim使いで使いやすいものがリストアップされています。
また、本家からも探せます。
top->Advanced search->Search for Vim Scriptsからkeywordを空白でsearchすればscriptの全リストが出てきます。
何度もEmacsやviに挑戦しましたが、今どんなバッファが有るかどうかなど、分からなくなってしまいます。
バッファって開いているファイルリストのことならminibufexpl.vimがおすすめ。
プロジェクト全体を把握しやすくするTipsや拡張等ありましたらご教授ください。
自分は使ったこと無いけど、project.tar.gzが便利らしい。
開発時のスクリーンショットとかあるとなおよしです。
取り合えず自分の環境でLinux kernelのファイルを開いたところをアップしました。
参考にでもしてください。
http://f.hatena.ne.jp/longicorn/20090112194543
YouTubeにも動画が有りました。英語だけどこっちの方が参考になるかも。
適当に拾ってきただけなので自分でも調べた方がいいかと。
vim
http://jp.youtube.com/watch?v=pCiVCiku3cM
http://jp.youtube.com/watch?v=71YTkxUNwmg
Emacs
emacsユーザーです。
たしかに、「プロジェクト全体の構成を把握」するのは難しいかもしれませんが、
たとえばタグジャンプなどを使えば、プロジェクト内の関数の一覧を表示して関連ファイルをさくっと開く、などといったことは可能です。
http://www.bookshelf.jp/soft/meadow_42.html#SEC633
上記ページでは他にもプログラミング関連のさまざまな機能が紹介されています。
また、バッファの切り替えや一覧などについても、さまざまなものが開発されているので、
自分にあったものを探して設定することができる(場合によっては自分で製作することができる)というのがemacsの魅力だと思っています。
http://www.bookshelf.jp/soft/meadow_28.html
さらに、emacs内からシェルが使えたり、コンパイルやgrep、diff、バージョン管理など、
エディタ内でたいていのことができるというのも良いですね。
(1番の方の回答と反してしまいますが^^;)
とくに環境をかえる必要はありません。
必要ならとっくの昔につかっているはずだからです。
Winでやってる人は、winのエディタを使います。
emacsとかviとかは、webなどUNIX系のサーバーをいじる人で、
むかしはwinやmacでは、ちゃんとコードとか改行とかつかなかったのです。
それだけのことです。
Emacsユーザです。主にWebシステム(PHP)の話です。
確かにIDEのプロジェクト構成の把握のためのディレクトリ表示や、様々な保管など便利ですね。
IDEで不自由無いのならそのままでもいいと思います。
ただ、そのIDEに不満を感じるようになると拡張性の高いEmacsやVimが「良い」と思うことがあります。
自分は、初期設定では
Emacs < IDE
ですが、
拡張を繰り返すと
Emacs >> IDE
になると思っています。これはあくまで個人的見解です。IDEも拡張はできます。
ちなみにEmacsの拡張(elisp)で、
全体のディレクトリ構成を確認するような拡張としてsppedbar系のものがあります(自分は使っていませんが)。
http://cedet.sourceforge.net/speedbar.shtml
また、バッファの選択だけに限らず「あらゆるものを候補選択する」ための拡張としてanything.elがあります。
http://www.achama.com/archives/2007/10/anythingel.html (若干情報は古いですが、動画が公開されています)
http://www.emacswiki.org/cgi-bin/wiki/Anything
anything.elは現在id:rubikitchさんがメンテナとして開発をされています。
コード補完系のものとしては、auto-complete.elというものがあります。
http://dev.ariel-networks.com/Members/matsuyama/auto-complete-0-...
http://www.emacswiki.org/emacs/AutoComplete
auto-complete.elはmatsuyamaさんが開発をされています。
もし、Emacsを検討されるのでしたら、是非anything.elとauto-complete.elの導入をしてみてください。どちらも日本語の情報はかなりありますのでGoogle等で調べてみてください。
あ、そうなんです。
エディタと端末をうまいこと使いこなせないんですよね。