質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Vim

VimとはUnix / Linux 系のOSに標準搭載されているターミナル上で動くテキストエディタです。

Q&A

解決済

1回答

394閲覧

dineの初回インストールがうまくいかない

退会済みユーザー

退会済みユーザー

総合スコア0

Vim

VimとはUnix / Linux 系のOSに標準搭載されているターミナル上で動くテキストエディタです。

0グッド

0クリップ

投稿2018/01/31 11:33

編集2018/01/31 11:38

vimのプラグインをdeinにて管理しているのですがまっさらな環境下では最初にdein.vimを落としてくるようにしているのですがなぜかうまくうごきません。

deinさえあればあとはうまくうごいているのですが、、、
自動インストールのあたりは拾ってきたものなので何が悪いのかよくわかりません。。。

環境は
Windows7 64bit
vim8.0

コマンドプロンプトにてgitコマンドが使えるのは確認しています。

該当の部分の記述は以下になります。

vimrc

1" dein.vim がなければ github から落としてくる 2if &runtimepath !~# '/dein.vim' 3 if !isdirectory(s:dein_repo_dir) 4 execute '!git clone https://github.com/Shougo/dein.vim' s:dein_repo_dir 5 endif 6 execute 'set runtimepath^=' . fnamemodify(s:dein_repo_dir, ':p') 7endif

ちなみにexecuteに書かれているgit cloneコマンドを直接vimで実行した際は正常にcloneされました。
ここに入ってきていない?ようです

その他の設定はいかにあります。
https://github.com/tetsu8/.dotfiles/

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

原因

vim

139 | set runtimepath+=~/.vim/dein/repos/github.com/Shougo/dein.vim

ここで 'runtimepath' に dein を入れた後に、

vim

146 | " dein.vim がなければ github から落としてくる 247 | if &runtimepath !~# '/dein.vim'

ここで 'runtimepath' に dein が入っているか確認しています。当然常に入っていることになるので、インストールは実行されません。

解決案

インストールされているかどうかのチェックは内側でやっている if !isdirectory(s:dein_repo_dir) だけで十分でしょう。外側の if &runtimepath !~# '/dein.vim' は外してしまって良いと思います。

また、51 行目でやっている dein を 'runtimepath' に追加する処理は先ほど挙げた 39 行目の処理と被っています。39 行目の方は消してしまって良いでしょう。

51 | execute 'set runtimepath^=' . fnamemodify(s:dein_repo_dir, ':p')

投稿2018/01/31 12:31

thinca

総合スコア1864

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

退会済みユーザー

退会済みユーザー

2018/02/01 02:31

39行目のset runtimepath 47行目のruntimepathのチェックをはずすことで無事動くようになりました。 ありがとうございます。
退会済みユーザー

退会済みユーザー

2018/02/02 05:01 編集

解決済みにしてしまいましたが1つ問題があったので質問させてください。 Win7上のmsys2でも共通のvimrcを使用しいようと試みているのですが 39行目の set runtimepath~ を削除するとgvim側が 51行目の execute 'set runtimepath^=~ を削除するとmsys2側が deinのコマンドを読み取らなくなってしまいます。 両方とも残しておけばいいのですが理由がわからずもやもやしています。 $VIMRUTIMEにはどちらともdein.vimまでのPathは通っていました。
thinca

2018/02/04 17:59

見たところ L39 で指定しているパスは s:dein_repo_dir で指定しているパスと全く別の場所なので、これの有無で動作が変わるのはおかしいように思えます。 Windows 側の環境で Git は動くようになっていますか? なっていないと dein のインストールができていない可能性がありそうです。
退会済みユーザー

退会済みユーザー

2018/02/06 00:38

今使っているgvimのdeinが一番初めに手動でクローンしてきたものだったのでそのset runtimepathが39行目のものだったようです。 ですが51行目の~/.cache以下にもdein.vimは存在していました(Cloneはできている?) なぜか認識はされないみちです
thinca

2018/02/09 03:00

情報が少なくてどのような状況かよくわからないので、一旦情報を整理して新しく質問してもらうのが良いかもしれません。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問