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

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

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

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

プラグイン

プラグイン(plug-in)は、ソフトウェアアプリケーションの機能拡張の為に開発された、一組のソフトウェアコンポーネントのことを指します。

Q&A

解決済

3回答

6912閲覧

vim8にdeinを使用してdeoplete.nvimをプラグインする

pi-500

総合スコア16

Vim

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

プラグイン

プラグイン(plug-in)は、ソフトウェアアプリケーションの機能拡張の為に開発された、一組のソフトウェアコンポーネントのことを指します。

1グッド

0クリップ

投稿2020/07/21 12:22

前提・実現したいこと

vim8にdeinを使用してdeoplete.nvimをプラグインしたいと考えています。
gitのdeoplete.nvimのページ(https://github.com/Shougo/deoplete.nvim)を参考にしながら、vimrcへの設定を行なっていますが、errorが大量に出て実装することができません。errorに関して検索しましたが、自分の理解力不足のため解決することができませんでした。

発生している問題・エラーメッセージ

・.vimrcの:messageに以下のようなerrorgが出力されています。

[vim-hug-neovim-rpc] failed executing: pythonx import [pynvim|neovim] [vim-hug-neovim-rpc] Vim(pythonx):ModuleNotFoundError: No module named 'neovim' [deoplete] [vim-hug-neovim-rpc] requires one of `:pythonx import [pynvim|neovim]` command to work [deoplete] function deoplete#enable[9]..deoplete#initialize[1]..deoplete#init#_initialize[10 ]..<SNR>41_init_internal_variables[10]..neovim_rpc#serveraddr, 行 18 [vim-hug-neovim-rpc] failed executing: pythonx import [pynvim|neovim] [vim-hug-neovim-rpc] Vim(pythonx):ModuleNotFoundError: No module named 'neovim' function deoplete#enable[9]..deoplete#initialize[1]..deoplete#init#_initialize[10]..<SNR>41_ init_internal_variables[28]..neovim_rpc#serveraddr の処理中にエラーが検出されました: 行 18: E605: 例外が捕捉されませんでした: [vim-hug-neovim-rpc] requires one of `:pythonx import [pyn vim|neovim]` command to work function deoplete#enable の処理中にエラーが検出されました: 行 9: E171: :endif がありません

該当のソースコード

・.vimrcのプラグインに関係する部分です。

"dein Scripts----------------------------- if &compatible set nocompatible " Be iMproved endif " Required: set runtimepath+=/Users/Username/.vim/bundles/repos/github.com/Shougo/dein.vim " Required: if dein#load_state('/Users/Username/.vim/bundles') call dein#begin('/Users/Username/.vim/bundles') " Let dein manage dein " Required: call dein#add('/Users/Username/.vim/bundles/repos/github.com/Shougo/dein.vim') " Add or remove your plugins here like this: "call dein#add('Shougo/neosnippet.vim') "call dein#add('Shougo/neosnippet-snippets')" call dein#add('Shougo/deoplete.nvim') let g:deoplete#enable_at_startup = 1 if !has('nvim') call dein#add('roxma/nvim-yarp') call dein#add('roxma/vim-hug-neovim-rpc') endif " Required: call dein#end() call dein#save_state() endif " Required: filetype plugin indent on syntax enable " If you want to install not installed plugins on startup. if dein#check_install() call dein#install() endif "End dein Scripts-------------------------

試したこと

errorメッセージを検索しましたが、有効な解決策は見つかりませんでした。

補足情報(FW/ツールのバージョンなど)

・vimにpython3は取り込まれている。
・vimのversionは8.2

red_red👍を押しています

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

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

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

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

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

guest

回答3

0

ベストアンサー

  1. deoplete.nvimにはpynvimが必要
  2. vim上の+python3はあくまでpythonを読み込めるよーってやつ
  3. python3,pynvimをインストールする必要がある

やるべきこと
python3をインストールする
pynvimをインストールする

とりあえずここの確認をしてみてください
もしpython3もpynvimもインストールされていてこのエラーが出ていた場合は
使用しているpython3のフルパスをg:python3_host_progに代入してください

let g:python3_host_prog = 'python3へのフルパス'

使用しているpython3のフルパスは
windowsだとコマンドプロンプト上where python3もしくはwhere python
Ubuntuなどだとwhich python3もしくはwhich python
を利用して表示することができます。

投稿2020/07/21 13:16

編集2020/07/21 13:18
milihula

総合スコア56

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

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

pi-500

2020/07/21 16:02

回答ありがとうございます。たびたびすみません。 python(Python 3.7.4)とpynvim(0.4.16)は入っているようです。またpython3へのフルパスを記述してもダメでした...
pi-500

2020/07/21 16:04

[neosnippet] neosnippet default snippets cannot be loaded. [neosnippet] You must install neosnippet-snippets or disable runtime snippets. [neosnippet] neosnippet default snippets cannot be loaded. [neosnippet] You must install neosnippet-snippets or disable runtime snippets. のようなerrorが以前出ていたerrorに追加されました...
milihula

2020/07/21 22:07

こちらはdeopleteではなくneosnippetのエラーになります neosnippetは通常スニペットは一個も登録されていないです そのため、スニペット集を登録している必要があります。 おそらくneosnippetの行のコメントアウトがされていないのに neosnippet-snippetsがコメントアウトされてインストールされていない可能性があります
Shougo

2020/07/22 00:35

はい。そうですね。
pi-500

2020/07/22 13:47

なるほど、そちらはそちらで検索して対処してみます。 問題が別の部分であることが明確になり、泥沼化せずにすみました。 上で記述したようにpynvimをvimで参照するpythonに対して入れられていないようでした。丁寧に解説していただきありがとうございました。
guest

0

作者です。

:python3 import pynvim が動作することを確認してください。おそらくエラーになると思います。
if_python3 が参照する Python3 に pip3 経由で pynvim をインストールする必要があるのです。

pynvim が入っていても、本当に Vim が参照している Python にインストールされていますか?
それを確かめるには Vim の中から上記のコマンドを実行するしかありません。
システムの Python と Vim が見ている Python というのは違ったりしているのでややこしいのです。
Vimが見る Python は Vim をビルドするときに確定します。

vim8を諦めてneovimにしました。

neovim だともっと単純なので、neovim のほうが問題の対処は楽だと思います。
Vim の挙動、Python の挙動を知らないとハマりやすいです。

この状況を見る限り、環境は Mac ですか?
Macで homebrew 経由でインストールする場合下記のような問題があるので注意ですよ。

https://github.com/roxma/vim-hug-neovim-rpc/issues/47

なんかこれの問題のような気が……。

補足情報(FW/ツールのバージョンなど)

・vimにpython3は取り込まれている。
・vimのversionは8.2

エスパーしないと詳しい環境が分からないので、環境の話をもっと提示してくだ
さい。Vim の :version の結果を貼り付けてもらうのが一番楽です。

投稿2020/07/22 00:48

Shougo

総合スコア183

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

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

pi-500

2020/07/22 13:44

回答ありがとうございます。 もう少しvim8で粘ってみます。 :python3 import pynvim は確かにうまく作動しませんでした。回答にあるようにvimとシステムが参照するpythonが違っていたようです。以下のサイトを参考にしながら、pynvimをpython@3.8で入れるとerrorが無くなり正常にプラグインできました。お騒がせしてすみませんでした。 https://qiita.com/r_plus/items/86669fff04f1dcc0310f
guest

0

vim8を諦めてneovimにしました。

投稿2020/07/21 16:48

pi-500

総合スコア16

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.50%

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

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

質問する

関連した質問