
C開発のための便利で生産性の高い開発環境を構築するためのアイデアを探していました。Vim による C 編集非常に役立ちましたが、より幅広い提案をいただきたいと思います。
答え1
エマック/ヴィム/日食/... - 私は個人的に Emacs ユーザーです。制御シーケンスが小指を疲れさせると感じたら、Viper モードに切り替えてください。Emacs は Unix に非常によく統合されているため、すべてを 1 か所から簡単に制御できます。Vim もこの点では優れていますが、Elisp は Vim Script よりもはるかに強力な拡張言語だと思います。C 開発用に Emacs を設定する方法については、何時間でも話せます。 フライメイクモード言及されているように、これは物事を始めるのに最高の方法です。私は Eclipse に詳しくありません。画面にコードを表示する十分なスペースがないと感じますし、肥大化しているのも好きではありません (Vim ユーザーは Emacs について同じことを言うでしょう)。また、純粋に美的理由から、Java で書かれたものに対して不当な偏見を持っています。
Cタグ- C (または他の多くの言語) 関数にタグを付けて、Vim や Emacs などでファイル内でちょっとしたハイパーテキスト リンクを作成できるようにします。たとえば、あちこち歩き回っているときに関数を見つけて、「これは何をするんだっけ? 名前がちょっとあいまいだ」と頭をかしげているとします。すると、その定義に直接ジャンプできます。
CMake の/Gnu-Autotools- Make は素晴らしいですが、ある時点で、テストする方法がないあらゆる種類のシステムでプロジェクトがビルドできるように、物事を少し抽象化する必要があります。 *nix でコードをビルドする人だけが必要な場合は、Autotools が最適ですが、とにかく Cmake に慣れておく必要があります。 Cmake チームは、考えられるすべての構成でコードをビルドし、ユーザーが頭を悩ませる必要がないようにします。 プロジェクトを他の人に簡単に取り上げてもらいたい場合は、これらのツールのいずれかが不可欠です。
ギット/気まぐれな/転覆/... - バージョン管理ソフトウェアの調査に何ヶ月も費やすこともできますが、Git を選ぶべきでしょう。Git は堅牢で、分散化されており、@$!#%& Linux カーネルは Git で追跡されます。Linus にとって十分なら、あなたにとっても十分なはずです。Mercurial についても良い話を聞きます。どうやら G**gle が使っているようですから、おそらく悪くないでしょう。Subversion や CVS などを好む人もいるようです。私は、それらがモノリシックで、私にとって非常に不便で制限が多いので好きではありません。
スタンプウム/wmii/Xモナド/... - いつか、仕事の流れを維持するためにできることは何でも、アウトプットを大幅に改善することに気づくでしょう。脳がコンテキストを壊さないようにする最良の方法の1つは、タイル型のキーボード駆動型ウィンドウマネージャに切り替えることです。私は個人的にスタンプWM、ウィンドウ マネージャーの Emacs。オンザフライでカスタマイズ可能な Common Lisp プロセスに完全に実装されており、繰り返し行う操作はすべて関数に追いやられ、コマンドにバインドされます。すばらしい機能です。他のものについてはあまり詳しくありませんが、詳細は別のスレッドに残しておいた方がよいでしょう。できるだけキーボードを使用してください。
インド- 他のデバッガーについてはよく知りませんが、これが事実上の標準のようです。
ヴァルグリンド- これほど優れた機能を持つものは他に知りません。Valgrind は、面倒なプロファイリングやメモリ リークの調査を行う上で不可欠です。Valgrind なしで malloc/calloc を使ったコードを書くことはできません。
答え2
私はしばらく Vim を使い続けました。どこかに VIM しかインストールされていない UNIX ボックスが必ず見つかるので、VIM の基本を知っておくことは価値がありますが、私は Emacs を試してからは、もう後悔していません。Eclipse は「最新の」代替手段で、私のシステムには 3 つすべてがインストールされています。
答え3
これは非常に個人的な好みなので、私が使っているものについてお伝えする以上のことはできないと思います。私はEmacsを次のように設定しています。フライメイクモードは、作業中のファイルを定期的にコンパイルし、コンパイラの出力を解析して、どのようなエラーが発生したかを判断します。バッファ内のエラー/警告をハイライトし、関連するコンパイラエラーメッセージを表示します。
答え4
私は組み込みターミナル付きの gedit を使用します。