19951


複数箇所に設定をインストールするときに毎回

[code]

    mkdir -p ~/.vim/bundle
    git clone git://github.com/Shougo/neobundle.vim ~/.vim/bundle/neobundle.vim
    
[/code]

と書くのが手間なので、`~/.vimrc`ないで自動的に`~/.vim/bundle`ディレクトリの有無を確認し、なければ`git
clone`を行うという処理をしたいのですが Vim Script(?)でOSのコマンドを呼び出す方法がわかりませんでした。

Vimを起動するだけで自動的に判断できるのであればOSのコマンド読み出しなどは必要ありません。環境はLinuxMint17とOSXを想定していますが、Windowsに対しても互換性を持てると嬉しいです。

どのようにすれば設定を自動化できますか？

### 追記

@public_ai000ya さんのアドバイスを参考にして以下のように記述したのですが毎回ディレクトリの作成を試みてしまうようです。

[code]

    if !isdirectory('~/.vim/bundle')
      execute '!mkdir -p ~/.vim/bundle'
      execute '!git clone https://github.com/Shougo/neobundle.vim ~/.vim/bundle/neobundle.vim'
    endif
    
[/code]

ディレクトリがなかったらという処理判定が動いていないようですが何故なんでしょうか？


CC BY-SA 3.0
2015-12-13T22:42:09.843
19949
2015-12-17T18:24:32.283
2015-12-17T18:24:32.283
3271
3271
question
vim
neobundle のインストールをvimの起動時に自動的に行う方法


外部コマンドは以下の2つの方法により、呼び出すことができます。

  1. `system関数`を使う 
    * :help system()
    * 戻り値の文字列で結果を受け取る
  2. `:!`を使う 
    * :help :!
    * Exコマンドのechoと同じように、即座に結果が表示される

私の設定ですが、こんな感じに行っています。  
<https://github.com/aiya000/dotfiles/blob/master/.vim/autoload/vimrc.vim#L32>  
この関数をvimrcから呼び出しています。


CC BY-SA 3.0
2015-12-14T00:43:51.347
19951
2015-12-14T00:43:51.347
9945
19949
answer