Emacsやvi等のあまりグラフィカルではないエディタをメインに使われている方に質問です。


WebアプリやJava等、様々な状況にて言えることですが、開発の際には多岐にわたるファイルを編集する必用が有るかと思います。
にもかかわらず、リッチなGUIを持たないエディタでごちゃごちゃと依存し合うファイルの全体を把握しながら
開発するのってぶっちゃけ大変じゃないですか?

私自身、リモートでちょこっとソースを編集をしたり、ちょこちょことスクリプトを作ったりする際以外はPeggyやEclipseを使用しています。
画面の横の方にプロジェクトの構成ファイルをツリー表示させています。
何度もEmacsやviに挑戦しましたが、今どんなバッファが有るかどうかなど、分からなくなってしまいます。
しかし、Emacsやviへの憧れがあるのもまた事実です。
プロジェクト全体を把握しやすくするTipsや拡張等ありましたらご教授ください。
開発時のスクリーンショットとかあるとなおよしです。
ちなみに当方の環境はWindowsですが、Macの方、Unix系の方もどしどしお願いします。

無理に環境変える必要ない!というのは無しでお願いします。

回答の条件
  • 1人2回まで
  • 登録:
  • 終了:2009/01/19 17:40:02
※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。

回答7件)

id:goodvn No.1

回答回数228ベストアンサー獲得回数18

ポイント18pt

私の場合,FreeBSD の上で vim (gvim ではない)ですが,ファイルの操作は vim だけでなく,例えば grep とか find とか sed とか cvs とかといったツールと組み合わせて使ってます

Windows の GUI なクライアントの欠点としては,画面が最大限使えない(余計な?表示が多くて),情報が多岐に渡りすぎて,状況を把握できない,マウス操作を強いられ面倒くさい(基本マウスは使わない)といった点があって,使いづらいと思ってます

開発環境の場合は,エディタ単体ではなく,エディタ以外のツールとの組み合わせも大切だと思いますよ

id:naokit

あ、そうなんです。

エディタと端末をうまいこと使いこなせないんですよね。

2009/01/12 18:17:31
id:pasela No.2

回答回数7ベストアンサー獲得回数3

ポイント17pt

WindowsおよびUbuntuでgvimを使っています。

基本的には今着手しているモジュールに関連したファイルを2、3個タブとして開いて開発するスタイルです。他のファイルのことは気にしないことにしてます。

自分もどんなバッファがあるのかすぐにわからなくなるのでタブを使ってます。


最初にファイルを開くときは普通にシェルやファイルマネージャから開くことが多いですが、

あらかじめvimのセッションとして保存しておいてそれを開く場合もあります。

あとはディレクトリを開こうとするとファイルマネージャっぽいもの(netrw)が表示されるのでそれで開くとか。


project.vimやwinmanager.vimを使えばIDEのようなツリー表示も可能です。

taglist.vimを使えば関数や変数の一覧表示も可能です。

templates.vimのようなテンプレート用プラグインを使えば、新規ファイル作成時にEclipseのようにひな形を使うことも可能です。

vcscommand.vimを使えばCVSやSubversionなどと連動することが可能です。

その他、各種言語用に入力補完やマニュアル表示のためのプラグインがいくつかあります。


好みのプラグインを見つけてくるまでが大変ですが、自分で築き上げた環境はSubversionに突っ込んでどこでも復元できるようにしてあります。


自分の環境やプラグインの紹介記事です。参考までに。

http://d.hatena.ne.jp/pasela/20080505/vim

id:un0 No.3

回答回数651ベストアンサー獲得回数32

ポイント17pt

UNIX系OSで作業をするときにはviをメインに使用しています。

linuxではbashが標準となりコマンドの履歴も矢印キーでできますが、

bashでもいまだに「set -o vi」とやってしまいます。


そもそもviの名の由来はVIsual editorの略で

当時はこれでもビジュアル系だったのですね(笑)

>無理に環境変える必要ない!

そうです。無理に変える必要はないです。

しかし覚えておいて損もない。

適材適所の考え方が必要です。

viの最大の強みはUNIX系OSであればどんな環境にも最初から入っている

GUI画面なしでも設定ファイルを編集することができること

さらにトラブル時GUIが使えないときや、モニタがないとき?!でも

目をつぶっていてもキーボードのみあれば操作ができること。

また、シェルの話になってしまいますが、

コマンドの標準出力を他のコマンドの標準入力に出来るところが最大の強みです。

なのでWindws環境ではviを使う気にはなれません。

UNIX系OSでawk,sed等のコマンドといっしょに使うことがほとんどです。

普段はWindowsです。

id:longicorn No.4

回答回数56ベストアンサー獲得回数6

ポイント17pt

普段は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

http://jp.youtube.com/watch?v=wkWbiP0nbAc

http://jp.youtube.com/watch?v=F5Cc2W6PbL8d

id:jurinak No.5

回答回数18ベストアンサー獲得回数5

ポイント17pt

emacsユーザーです。

たしかに、「プロジェクト全体の構成を把握」するのは難しいかもしれませんが、

たとえばタグジャンプなどを使えば、プロジェクト内の関数の一覧を表示して関連ファイルをさくっと開く、などといったことは可能です。

http://www.bookshelf.jp/soft/meadow_42.html#SEC633

上記ページでは他にもプログラミング関連のさまざまな機能が紹介されています。


また、バッファの切り替えや一覧などについても、さまざまなものが開発されているので、

自分にあったものを探して設定することができる(場合によっては自分で製作することができる)というのがemacsの魅力だと思っています。

http://www.bookshelf.jp/soft/meadow_28.html


さらに、emacs内からシェルが使えたり、コンパイルやgrep、diff、バージョン管理など、

エディタ内でたいていのことができるというのも良いですね。

(1番の方の回答と反してしまいますが^^;)

id:mulloo No.6

回答回数151ベストアンサー獲得回数2

ポイント17pt

とくに環境をかえる必要はありません。

必要ならとっくの昔につかっているはずだからです。

Winでやってる人は、winのエディタを使います。

emacsとかviとかは、webなどUNIX系のサーバーをいじる人で、

むかしはwinやmacでは、ちゃんとコードとか改行とかつかなかったのです。

それだけのことです。

id:k1LoW No.7

回答回数6ベストアンサー獲得回数0

ポイント17pt

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等で調べてみてください。

  • id:ipsleo
    Emacsへの回答が少なかったので。

    僕もやはり最初はグラフィカルなツリーが欲しいと思っていました。
    しかし、diredでiで、インラインでディレクトリを開くことができます。
    正直、これとバッファリスト(iswtichb)があればじゅうぶんです。
    グラフィカル環境でいくつもファイルを開いていても、そのほとんどは
    「一応開いてみているだけ」
    だと思います。

    それは道具に使われている状況です。

    いまアクティブなディレクトリやファイルなどは、自分で覚えているべきだということです。

この質問への反応(ブックマークコメント)

トラックバック

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

回答リクエストを送信したユーザーはいません