Quantcast
Channel: Vimタグが付けられた新着記事 - Qiita
Viewing all articles
Browse latest Browse all 5608

Unity 用に IntelliSense 環境を Vim で実現するメモ

$
0
0

Unity の為に使い始めた Xamarin Studio のコード自動整形が駄目過ぎだし、改善の見込みも薄そうなので、Vim で頑張ることにしたメモ。

ちなみに Mac OS X のハナシ。

Mono

brew install mono

Mono 3.0.x 以上が必要。

Vim

brew install vim --with-client-server --with-lua

Vim は Python 2.7.x と Lua を有効に。またクライアントサーバ機能も有効にする。

関連プラグインとしては以下を導入:

プラグイン管理は NeoBundleを使用。

.vimrcへ一通り設定した後、Vim 起動時、下記コマンドでプラグインが自動インストールされる:

:NeoBundleInstall

omnisharp-vim

インストール

.vimrcに下記のように記述:

NeoBundleLazy 'OmniSharp/omnisharp-vim', {
\   'autoload': { 'filetypes': [ 'cs' ] },
\   'build': {
\     'windows' : 'msbuild server/OmniSharp.sln',
\     'mac': 'xbuild server/OmniSharp.sln',
\     'unix': 'xbuild server/OmniSharp.sln',
\   }
\ }

設定

vim-csharp

C# のシンタックスハイライト。特に設定はしなくてもいいかな。

インストール

.vimrcに下記のように記述:

NeoBundle 'OrangeT/vim-csharp'

syntastic

コード上のエラーを指摘してもらうのに必要みたい。

インストール

.vimrcに下記のように記述:

NeoBundle 'scrooloose/syntastic'

設定

.vimrcへ設定を記述。公式の推奨設定そのまま。

neocomplete.vim

コード補完の要。設定は公式サイトの設定例に OmniSharp の設定を追加しただけ。

インストール

.vimrcに下記のように記述:

NeoBundle 'Shougo/neocomplete.vim'

設定

.vimrcへ設定を記述。OmniSharp の Wiki を参考に。

vim-dispatch

OmniSharp のローカルサーバーの起動管理を自動化するのに必要。特に設定はないみたい。

インストール

.vimrcに下記のように記述:

NeoBundle 'tpope/vim-dispatch'

Automator

Unity から直接コマンドを叩く事は出来ないので、Vim を呼び出すシェルスクリプトを Automator でアプリケーション化して、それを介して Vim を呼び出せるようにする。

#!/bin/bashVIM="${HOME}/.homebrew/bin/vim"CWD=${1%/*}if['VIM'==$(${VIM} --serverlist)]then${VIM} --servername VIM --remote-send "<Esc>:cd \"${CWD}\"<CR>"${VIM} --servername VIM --remote-tab "${1}"fiunset VIM CWD

Unity

ちなみに Unity の API はそのままだとコード補完が効かないので、Xamarin Studio を使用する場合と同じく "Sync MonoDevelop Project" を Unity 側から一度実行しておく。

備考

Automator から直接;

vim --servername VIM

みたいに呼んじゃうと、初回起動時見えないところで Vim サーバーが立ち上がっちゃうので、初回起動は手動でやってる。

AppleScript で Terminal 制御する方が良いかも知れないけど、TotalTerminal だと期待するような動作にならなかったので保留中。


Viewing all articles
Browse latest Browse all 5608

Trending Articles