71

Xcode には、iPhone や iPad のビルドに不可欠な多くの機能が付属しています。実際、それは非常に「舞台裏」にあるため、私が気づいていないこともたくさんあります。

一方、私は最近、Vim をエディターとして使用する利点に触れています。iOS プラットフォーム向けに開発する際に、Vim の使用を効率的なオプションにするセットアップはありますか? それとも、この 2 つを組み合わせると複雑すぎて、この質問が無意味になるのでしょうか?

言い換えれば、Vim と Xcode を一緒に使用する際のヒント、アドバイス、または警告があれば、私はすべて耳にします!

4

10 に答える 10

96

Vim を使用した iOS または Mac 向けの開発は、特に TDD を使用している場合や迅速なフィードバックが必要な場合に、非常に強力かつ迅速に行うことができます。

しかし、それを機能させるには少し手間がかかります。知っておく必要のあるいくつかの重要な事項は次のとおりです。

  • コマンドライン ツールを使用して、xcodebuildvimscript からビルドとユニットを実行します。
  • プラグインを使用して、clang_completevim 内から完全なコード補完を提供します。
  • ios.vimナビゲーションにはとcocoa.vimプラグインを使用します。

これは私の好みの作業方法です。実際、私はios.vimこれをより多くの人にとって簡単にするためにプラグインを作成しました。

于 2012-07-18T21:09:32.043 に答える
21

私はすでにそこに行ったことがあります...

私はvimが大好きで、*nixプラットフォームでの日々のC++開発で定期的に使用していますが、特に最新のXcode> = 4.3とclangバックエンドを備えた、オートの面で真のプラスをもたらすXcodeのすべての機能も気に入っています。 -補完とシンボル参照。

私は素晴らしい(Appleによって公式にサポートされていませんが)XVimプラグインで最適な解決策を見つけたと思います。

将来のXcodeのアップグレードがそれを壊さないことを願って(4.5の最新の開発者のプレビューでもまだうまく機能しています)、これにより、Xcodeでの作業中にVimで行うことを学んだように、指を動かし続けることができます。 、私にとって最適なソリューションです。

于 2012-07-17T12:27:44.867 に答える
7

VimとXCodeエディター同じファイルを同時に編集しようとしない限り、VimとXCodeは非常にうまく共存します。そうすると、それぞれがファイルが外部で変更されていることについて警告を発します。ターミナルバージョンのVimは、この特定の点で少し使いやすくなっています。ファイルを保存しようとしたときにのみ警告が表示されますが MacVimとXCodeエディターは、戻るたびに警告を表示します。ファイルに。

XCodeを使用すると、ファイルを開くときにファイルタイプごとに外部アプリケーションを選択できます。XCode設定で、[ファイルの種類]タブに移動し、[ファイル]- >[テキスト]->[ソースコード]に移動します。優先エディタは、MacVimなどの外部プログラムに設定できます。Emacsはすでに選択としてリストされているはずであることに注意してください。Emacsが選択されると、XCodeはターミナルでEmacsを使用してTerminal.appを起動します。この優先エディター設定には、開いたファイルごとに新しいウィンドウが表示されるという問題があり、ワークフローと一致しない場合があります。

Vimのremote機能はここで役立つかもしれません。を参照してください:help remote。少しの作業と上記のPreferredEditor設定で、編集するファイルを、内で実行されている既存のVimを含むVimの任意のインスタンスに送信できるはずxtermです。Emacsが似たようなものを提供していることを思い出しているようです。

ただし、 Preferred Editorを設定せずにVimを使用することを妨げるものではありません。通常どおり、Vimでプロジェクトファイルを開いて編集するだけです。

ワークフローは、コードの編集にVimを使用し、プロジェクトのビルドにXCodeに切り替えることですが、VimはXCodeが使用するのと同じビルドツールを実行することもでき、もう少し作業を行うことで、行にジャンプすることもできます。エラーあり。XCodeはデバッグのためにgdbに依存しています。これは、プラグインを介してVimでも非常にうまく使用できます。

もちろん、VimがInterface Builderのようなものに取って代わることは期待できませんが、iOS開発の他のほぼすべての側面はVimのみのソリューションで実現できます。

または、Vimを使用してコードをより高速に編集し、残りの部分には引き続きXCodeを使用します。

于 2012-07-17T18:24:00.143 に答える
3

YouCompleteMeを使用した MacVim がOSX での開発の私の主な環境ですが、デバッグやプロファイリングなど、XCode で実行したいタスクがあります。これらのシナリオでは、VIM 編集機能を XCode に追加するXVimを使用します。

XCode 5.1では、 XVimがかなり頻繁にクラッシュしました。しかし、それは進歩し、今のところ XCode 6 でうまく動作します。ただし、この方法では VIM のサブセットしか取得できません。たとえば、エディタを分割して 2 つのファイルを同時に表示することはできません。Shift-Command-X で簡単に有効/無効にできます。

(これをコメントではなく回答として投稿して申し訳ありませんが、stackoverflowの評判システムではそれができませんでした)

于 2014-10-20T13:39:49.367 に答える
1

YouCompleteMeはお勧めできません。コード補完に加えて、コンパイラを手動でトリガーする必要なく、影響を受ける行のオンザフライで構文エラーも表示します (つまり、XCode エディターの機能に非常に似ています)。YCMクリエーターの説明は非常に有益です:

YouCompleteMe は、Vim 用の高速で、タイプしたままのあいまい検索コード補完エンジンです。いくつかの補完エンジンがあります。すべてのプログラミング言語で動作する識別子ベースのエンジン、C/C++/Objective-C/Objective-C++ (以降、 「C ファミリー言語」)...

実行するには:

  • 「Mac OS X 超高速インストール」セクションに従ってください。
  • プロジェクト フォルダーのルートに.ycm_extra_conf.pyファイルを追加することを忘れないでください。

編集:

YouCompleteMe のようなプラグインがなければ、VIM は基本的な単語補完 (Ctrl-N) しか実行できません。これは、使用しているプログラミング言語も、プロジェクトに属する他のすべてのファイルも認識しません。また、「.」と入力した後、オブジェクトのメンバーのリストも表示されません。または「->」。そのため、入力中に XCode が提供する多くのヘルプ (したがって速度) を逃してしまいます。また、VIM は、コードに入力ミスやその他のエラーが発生した場合でも、XCode が好きであることを警告しません。YouCompleteMe は、不足している機能を VIM に正確に追加し、VIM での iOS 開発を楽しくします。

を使用xcodebuildしてプロジェクトをビルドして実行することもできますが、個人的には VIM と XCode を同時に使用することを好みます。どちらも、他方によって変更された後、ドキュメントを自動的にリロードします。デバッグ、プロファイリング、および展開のために XCode を保持します。

于 2014-10-20T13:31:52.673 に答える
0

外部エディタを使用すると確かにいくつかの利点があります (ただし、emacs は vim よりも 1000 万倍優れています:})。

ほとんどの場合は Xcode を使用しますが、emacs または vim の機能が必要な場合 (大量の反復エディター マクロが私の主な理由です)、show in finder を使用してファイルを編集し、開くか、エディター ナビゲートに切り替えるだけです。そこからファイルへ。XCode は、ファイルが変更されたことを元に戻すと認識します。

単純なコードの場合、私は Xcode を使い続けます。コード補完は、コードに関するより多くの知識に基づいているため、emacs や vim に勝るものはありません。継続的なコード チェックは非常に貴重であり、既に述べたように、ドキュメントへの直接アクセスは素晴らしいものです (まだ見つかっていない場合は、オプションをクリックしてください)。

于 2012-07-17T10:04:06.083 に答える
-4

私の意見によると、Xcode の方が優れたソリューションです。Vimでは見つけられない/追加できないほど多くの機能があります。それらのいくつかは次のとおりです。

  • Interface Builder (見栄えの良いインターフェースを短時間で作成するため)
  • ARC (自動参照カウント - メモリ管理)
  • コード署名とアプリ ストアへの送信を管理するための自動化されたプロセス

リストは非常に長く、Apple は常に、他の IDE ではなく、Xcode を使用することを推奨しています。

于 2012-07-17T09:49:26.133 に答える