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

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

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

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

Q&A

解決済

2回答

8051閲覧

NeoVimのTOMLで,一度コメントアウトしたプラグインを使えない

Zomathi

総合スコア26

Vim

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

0グッド

0クリップ

投稿2017/07/06 05:53

#環境

  • macOS Sierra 10.12.5
  • NeoVim 0.1.7

#質問
NeoVimを使っていて,dein.tomllazy_dein.tomlに分けてプラグインを管理しています.普段はtpope/vim-endwiseというプラグインをdein.tomlに書いている(hookはなし)のですが,理由があって一度コメントアウトしました.つまり,

[[plugins]] repo = 'tpope/vim-endwise'

とあったものを,

"repo = 'tpope/vim-endwise'

としました.その後コメントアウトを外して再び

[[plugins]] repo = 'tpope/vim-endwise'

と書いたところ,このプラグインが動かなくなってしまいました.たとえば,rubyでif<CR>と打っても,endが補完されません.これをlazy_dein.tomlに移したり,コマンドモードでcall dein#add('tpope/vim-endwise')call dein#source('tpope/vim-endwise')を実行したり,call dein#install()などとしてみましたが変わりません.
どうしたらよいでしょうか?

#vimrc
deinに関わる部分だけ抜き出します.

vim:vimrc

1if &compatible 2 set nocompatible 3endif 4 5augroup MyAutoCmd 6 autocmd! 7augroup END 8 9let s:cache_home = empty($XDG_CACHE_HOME) ? expand('~/.cache') : $XDG_CACHE_HOME 10let s:dein_dir = s:cache_home . '/dein' 11let s:dein_repo_dir = s:dein_dir . '/repos/github.com/Shougo/dein.vim' 12 13if !isdirectory(s:dein_repo_dir) 14 call system('git clone https://github.com/Shougo/dein.vim ' . shellescape(s:dein_repo_dir)) 15endif 16let &runtimepath = s:dein_repo_dir .",". &runtimepath 17 18let s:toml_file = fnamemodify(expand('<sfile>'), ':h').'/dein.toml' 19let s:lazy_toml_file = fnamemodify(expand('<sfile>'), ':h').'/lazy_dein.toml' 20if dein#load_state(s:dein_dir) 21 call dein#begin(s:dein_dir) 22 call dein#load_toml(s:toml_file, {'lazy': 0}) 23 call dein#load_toml(s:lazy_toml_file, {'lazy': 1}) 24 call dein#end() 25 call dein#save_state() 26endif 27 28if has('vim_starting') && dein#check_install() 29 call dein#install() 30endif

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

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

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

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

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

guest

回答2

0

ベストアンサー

構成がおかしくなっているのかもしれません。試しに以下のコマンドを、コマンドラインモードから実行してみてください。

vim

1:call dein#recache_runtimepath()

投稿2017/07/06 06:04

thinca

総合スコア1864

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

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

Zomathi

2017/07/06 06:06

治ったようです.ありがとうございます.
guest

0

補足しておきます。dein.vim はファイルを監視していて、toml ファイルが更新されると再読み込みして call dein#recache_runtimepath() を自動実行する機能があります。
しかし、別の Vim から編集された時など変更が反映できないことがあります。
そんなときは call dein#recache_runtimepath() の手動実行が必要です。

追記:
確認したところ、この機能は vimrc を再読込して dein#begin() したとき限定ですね……。
ちょっと考えます。

投稿2017/07/06 06:17

編集2017/07/06 06:22
Shougo

総合スコア183

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問