web-dev-qa-db-ja.com

Vi、Vim、またはGVimをIDE

仕事中の大部分のプロジェクトにVS2008を使用せざるを得ませんが、奇妙なテキストファイルの編集が必要な場合は常にVimを使用します。

これで、VIM=はIDEのように動作するプラグインとその他の機能があることを知っています。

編集:

VimをIDEとして使用すべきではないと大衆の意見を述べていると思う人は、IDE機能が official vim.orgの機能リクエストリスト

46
Nippysaurus

Vimは驚くべきソフトウェアですが、古くなっているためかなり面倒です。 Viは1976年にリリースされ、Vimは1991年にリリースされました。たとえば、Vimは、単純なキーワードから「オムニ」補完システムまで、テキスト補完を行うためのさまざまな方法を提供します。それに加えて、一部のプラグインは組み込みの機能を使用することを選択しますが、他のプラグインは大規模に置き換えるだけです。うまくいけば、次の提案があなたを始めさせるでしょう。

Vimを使用したIDE

VimをエディターとしてVisual Studio内で使用できるようにするVimの新しいパッチを試してみてください。

バンドル

まず、Vimの Vundle plugin managerプラグインをインストールします!非常にうまく機能し、Vimプラグインの管理が簡単になります。インストール、更新、削除を処理します。

たとえば、.vimrcには次のもののみが含まれるようになりました。

" === Plugins! ===
Plugin 'junegunn/fzf'
Plugin 'scrooloose/nerdtree'
Plugin 'w0rp/ale'
...

そして、PluginUpdateコマンドはそれらをインストールまたは更新します。

Vim-IDEのプラグイン

次のvimスクリプトは、VimにIDEの感触を与えます。Vimには膨大な数の機能が組み込まれているので、ロードする前にそれらを学習する時間をとってください。最大20個のプラグイン。

私にとって最もインパクトのあるプラグインは fzf[〜#〜] ale [〜#〜] です。 fzf および ripgrep をインストールする必要があります。

ナビゲーション:

  • [〜#〜] fzf [〜#〜] -お気に入りのプラグイン、素晴らしいファイルシステムのナビゲーション、テキスト検索
  • オタクツリー -ファイルシステムナビゲーション
  • Command-T -ファイル名でプロジェクトを検索して開きます。代わりにFZFを推奨します
  • CtrlP -Command-T、ファジーファイルおよびバッファ検索の代替。一般に遅いが、コンパイルを必要としない
  • タグバー -関数によるコードナビゲーション
  • ブックマーク -vimのブックマーク(自分のプラグイン:))

テキスト補完:

  • delimitMate -括弧、中括弧の自動クローズなど。
  • tcomment -簡単なコメント/コメント解除のソースコードコマンド
  • ltisnips -Great Vimスニペットシステム
  • YouCompleteMe -コード補完、多くの機能
  • neocomplete -YCMよりもやや単純なコード補完

私は個人的にコード補完を見つけすぎており、Vimの組み込みのCTRL-Nテキスト補完機能に頼っていますが、CTRL-Nを忘れないでください! Vimの組み込み補完システムは、CTRL-X CTRL-Fを使用したファイル名補完やCTRL-X CTRL-Oを介してファイルタイプ固有のコンテキスト依存補完を提供しようとする「オムニ補完」など、さまざまな補完モードを備えています。 Omni-completionにはファイルタイプ固有のプラグインが必要です。Golangの vim-go パッケージでサポートされています。

フォーマット:

  • tabular -テキストを簡単に揃える
  • vim-surround -一部のテキスト(ブラケット、タグなど)をすばやく囲みます

ちょうど素晴らしい:

  • [〜#〜] ale [〜#〜] -多くの言語のライブ構文チェックは、実行中にVimがフリーズしないように、非同期ジョブなどのVim 8の新機能をサポートします。
  • 逃亡者 -vim、diff、非難などのGit
  • gitgutter -git commitバージョンのファイルのライブdiff
  • YankRing -以前にコピーまたは削除されたテキストオブジェクトへの簡単なアクセス

より良いGUI:

  • 航空会社 -より有用な情報を含むステータス行を読みやすくする
  • Gundo -vim undoの履歴をツリーとして視覚化します(私のお気に入り、Vimで永続的なundoを有効にしてください)

カラースキーム:

Vimディストリビューション

セットアップと構成を自分で行うのではなく、次のプロジェクトを使用して、VimのようにIDEのようにすばやく進みます。以下の2つのプロジェクトには、上記の多くのプラグインが含まれます。

ただし、使用しないことをお勧めします。時間をかけて自分でvimを設定し、プラグインを段階的にインストールして、それぞれをよく学習すれば、さらに多くを学ぶことができます。

Vimプラグインガイド

VimAwesome は、Vimプラグインを参照し、便利で人気のあるプラグインを見つけるのに適した場所です。

Vimパッチ

これらのスクリプトに加えて、Vimの次のパッチのいくつかを確認することもできます。私はそれらを使用していませんので、品質についてはわかりませんが、それらのほとんどは非常に有望に見えます。すべてのパッチを表示できます here 、vimをIDEのようにする):

  • コードチェック -オンザフライのコードチェック(noteSyntastic は最近ではより良い選択です)。
  • Clewn -GDBを使用して、Vimのコードをデバッグおよびステップ実行できます。

これらのスクリプトとパッチをインストールすると、Vimの機能がVisual StudioまたはEclipseにかなり近いものになります。

47
David Terei

また、逆の方法で viem というプラグインを使用することもできます。これにより、VS IDE内でviモードが提供されるため、同僚がシステム上で共同運転しやすくなります。

15
xtofl

タグリストは素晴らしいプラグインです。それなしで家を出ないでください。

タブ補完の設定 を使用することもできます。

Omnicompletion は、言語がサポートされている場合に最適です。

VIM tip 1439 にはIDE化のヒントがまとめられています。

7
daotoad

私はこの反応で炎症を起こそうとはしていませんが、頭痛を軽減したいと思います。これは、#vimで同様の質問をするすべての人々に私が与える同じ答えです。

VimはIDEではありません。エディターです。 IDEを意図したものではなく、これに準拠させようとしても問題が発生するだけです。 IDEのような感覚をVimに提供しようとするプラグインがいくつかありますが、これらは恐ろしいものです。

一方、Vimからいくつかの拡張機能を取得するのに役立つプラグインをお勧めします。これらはあなたのニーズに合うかもしれません。

  • taglist -関数/メソッド/クラスによるコードのナビゲートに最適
  • NERDTree -素晴らしいファイルシステムナビゲーションプラグイン
6
Jeremy Cantrell

Linuxを使用している場合は、 Pida を試してください。 VimまたはEmacsを埋め込むことができます。ファイルブラウザ、プロジェクト構造、コンソールなどの多くの統合により、VimはEclipseのように見えます。私見、これはVimをIDEとして使用する簡単な方法です。

6
tonkla

VIMは、IDEとしてCおよびC++をサポートしています。 clewnとgdbを備えたビジュアルデバッガもあります。他の言語では、いくつかの微調整といじりを行う必要があり、結果が希望どおりにならない場合があります。 1時間試してみて、それがどうなるかを見てみる価値があります。

Emacsは、IDEより多くの言語でより良い仕事をしているという印象を受けます。

3
Ian Kelling

http://code.google.com/p/exvim でexVimを試してください。このプロジェクトでは、vimをIDE多言語開発の場合.

2
Freeman

VimでIDE内で Kate として使用することがあります。

そうでなければ、私は普通のVimに固執します。

KDE for Windows を使用すると、WindowsにKateをインストールできます。

1

私はVimのみを使用します。^ Xを介してオートコンプリートするいくつかの基本的な機能と、さまざまなオプション(キーワードの^ P、オムニコンプリートの^ O(WebファイルでHTML、CSSなどを切り替えるのに適しています)。

また、:!(コンパイラまたは他のコマンド)経由でコマンドを起動する機能もあります。

ワークスペースなどを必要としない、基本的な開発との非常にシンプルで簡単な統合、および必要に応じてファイル設定のモードライン。

編集:モジュールに関する限り、通常、Vim環境内またはVim環境の横に関連するスクリプト言語を埋め込むためのモジュールがあります。ただし、同様の.NETフレームワークモジュールについては知りません。

1
Jon

また、これらのコメントは、作成された年に大きく依存しています。これらは、2018年のIDEとしてのVimに対する私の考えです。

Language Server Protocol は重要性が増しており、 Sourcegraphマスタープラン を通じて普及しています。

これが ALE(非同期リンティングエンジン) がLSPを実装しているため非常に重要である主な理由です。 定義への移動、コード補完、ホバー情報 も提供します。リンティングに使用し始めたばかりで、他の機能については掘り下げていませんが、IDEに期待される多くの機能を提供するという大きな約束があると思います。

しかし、Tim Pope + FZF + Ripgrep + ALEのほとんどすべてのジェネリックは、非常に強力なエディターを提供します。

率直に言って、「すべてのティムポープ」エディターは、Vim IDE(私も vim-tim のためだけに作成しました)のための最良の出発点の1つです。

David Tereiのすばらしい答え とは少し違うところだけです:

IDE Vimのパフォーマンスに非常に簡単に影響を与える可能性のあるプラグインのインストールには注意が必要です。

他のIDEを超える潜在的な利点

Vimを使用すると、コードベースを柔軟に設定できることに注意してください。多くのIDEがプロジェクトレベルでのみ動作するのに対して、多くのGitリポジトリに親フォルダーを作成できますが、FZFとRipgrepは非常に強力であるため、巨大なコードベースを消費し、それらを検索する際に遅くなることはほとんどありません。 Ctagsを使用すると、リポジトリの境界を越えてインデックスを構築できます。これは、実際には インテリジェントエディターのSourcegraphのチェックリスト (ほとんどの現在のIDEがこれらを超えて行うすべてのポイントを満たすことができると思います)のいくつかの珍しいポイントを埋めます:

  • 定義へのジャンプはリポジトリの境界を越えて機能しますか?

  • すべてのコードと依存関係を1か所で検索できますか?

Vimのバッファーを使用すると、UIが乱雑になったりパフォーマンスが低下したりすることなく、100個のバッファーを開くことができます。 :b some-buffer-textと入力してから Tab バッファ名を簡単に自動補完できます。また、次の行を使用します 別の回答から取得 これにより、すべてのバッファーを一覧表示し、バッファーコマンドを出力して、その番号を使用して別のバッファーにすばやく切り替えることができます。

nnoremap <leader>bb :buffers<cr>:b<space>

Tim Popeには、最近の新しいデータベース dadbod プラグインがあり、MicrosoftのDatabase Management Studioにあるのと同様の機能を提供します。

0
icc97

今日、O.Tを見ながらgvideに出会いました。 Android NDKスタッフ— vimの長年のユーザーはEclipseでeclimを使用しましたが、率直に言って、私のvim環境はコードを開発するためではなくコードを書くためです。開発環境であり、gvideには魅力的なものがあります。

http://www.crystax.net/en/gvide

0
rektide