LoginSignup
4
1

More than 3 years have passed since last update.

Vim のエラーメッセージから Vim script を追う

Last updated at Posted at 2017-12-16

環境は Windows。

そろそろ Python2 とはお別れして Python3 とだけ仲良くしたいので、Python2 のない生活を送っていたところ、Vim から gist を編集できる便利プラグインの vim-gista でエラーが出てしまった。

function gista#autocmd#call[14]..<SNR>159_on_BufWriteCmd[13]..gista#command#patch#call[14]..gista#resource#remote#patch[17]..gista#resource#remote#get[19]..159[9]..157[34]..<SNR>137_request[33]..166 の処理中にエラーが検出されました:
行   94:
E887: このコマンドは無効です,ごめんなさい. Python の site モジュールをロードできませんでした.

gista#autocmd#call[14] は gista#autocmd#call の 14 行目を読めばいいのじゃろ? くらいはわかるのだけれど末尾とか追うの辛すぎる……と思っていた。

Vimmer の集う Meguro.vim で質問したところ thinca さんに一瞬で便利情報をいただけた。

エラーメッセージの 157[34] から :verbose function {157} を実行すると、対象の関数がわかる。

   function 157(...) abort dict
最後にセットしたスクリプト: ~\_vim\dein\repos\github.com\lambdalisue\vim-gista\autoload\vital\__vim_gista__\Web\API\GitHub.vim
1    if a:0 == 3
2      let settings = a:3$
3      let settings.method = get(settings, 'method', a:1)$
4      let settings.url = get(settings, 'url', a:2)$
5    elseif a:0 == 2$
6      if type(a:2) == type({})$
7        let settings = a:2$
8        let settings.method = get(settings, 'method', 'GET')$
9        let settings.url = get(settings, 'url', a:1)$
10     else$
11       let settings = {}$
12       let settings.method = get(settings, 'method', a:1)$
13       let settings.url = get(settings, 'url', a:2)$
14     endif$
15   else$
16     let settings = a:1$
17   endif$
18   let settings.url = settings.url =~# '^https\?://' ? settings.url : self.get_absolute_url(settings.url)$
21   let settings.headers = extend( s:_get_header(self.get_token()), get(settings, 'headers', {}),)$
25   " Most of API request is json$
26   let settings.headers = extend({ 'Content-Type': 'application/json',}, settings.headers)$
30   " neovim currently does not support 'bindeval'$
31   if has('nvim')$
32     let settings.client = ['curl', 'wget']$
33   endif$
34   return s:HTTP.request(settings)$
   endfunction

ファイル名だけなら :filter 157 scriptnames で。

157: ~\_vim\dein\repos\github.com\lambdalisue\vim-gista\autoload\gista\util.vim

便利。

んで、結局 VimからPython 3.xを使うと落ちることがある · Issue #610 · vim-jp/issues と同じ原因で Python2 との付き合いが続くということかな?
自分が意図して入れた Python2 以外が悪さをしていそう。

4
1
3

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
1