補完機能への要望

344 views
Skip to first unread message

Shougo

unread,
Aug 17, 2011, 9:55:39 AM8/17/11
to vim_jp
こんにちは。Vimプラグインをいろいろ作っているShougoです。

今回は、補完機能への要望をこちらにまとめておくことにしました。

1.補完で挿入された候補を知りたい。
具体的には、次のautocmdが欲しいです。

PopUpSelect <C-y> や入力を続けて補完が確定したときに発生 。<aword>が確定したキーワード。
これを利用すると、neocomplcacheで挿入された候補を前の方に持ってくることができます。
IMEの実装では、学習機能に使えます。

2.補完候補が空だったときの挙動改善

現在のVimは、補完関数が空を返しても、エコーエリアに
Keyword completeion(^N^P Back at original)
が表示されてしまいます。自動補完をしていると、エコーエリアがちらついて非常に見苦しいので
候補が空の場合はこの表示を消したいのです。

Taro MURAOKA

unread,
Aug 17, 2011, 9:58:03 AM8/17/11
to vim_jp
Thanks a lot.

私もすぐに全部に対応できるというわけではありませんが、
こうして報告してもらえれば誰かがとりかかる可能性がグッと高くなります。

Shougo

unread,
Aug 17, 2011, 10:00:02 AM8/17/11
to vim_jp
返事ありがとうございます。
では、これからは積極的にポストするようにしますね。

tsutsui kaito

unread,
Sep 30, 2012, 10:40:42 AM9/30/12
to vim...@googlegroups.com
こんばんは.初めまして.tsutsumiと申します.
vimshell+自作の補完関数を使いシェルコマンドを補完しています.補完の際に'info'を含めて構文をプレビューウインドウに表示させながら打ち込んでいるのですが,候補を切り替える度ポップアップメニューが一瞬消えてしまい,画面がチカチカします.
あの挙動はカイゼンの余地はないのでしょうか.プレビューウィンドウが更新される度に目がチカチカしてしまってもうだめです.

Yasuhiro MATSUMOTO

unread,
Sep 30, 2012, 9:02:21 PM9/30/12
to vim...@googlegroups.com
* vimのバージョン
* 使っているプラグイン
* 補完に関連した設定の内容

を教えて下さい。


On Sunday, September 30, 2012 11:40:43 PM UTC+9, tsutsui kaito wrote:
こんばんは.初めまして.tsutsumiと申します.
vimshell+自作の補完関数を使いシェルコマンドを補完しています.補完の際に'info'を含めて構文をプレビューウインドウに表示させながら打ち込んでいるのですが,候補を切り替える度ポップアップメニューが一瞬消えてしまい,画面がチカチカします.
あの挙動はカイゼンの余地はないのでしょうか.プレビューウィンドウが更新される度に目がチカチカしてしまってもうだめです.

matsushita shougo

unread,
Oct 1, 2012, 8:31:06 AM10/1/12
to vim...@googlegroups.com
Shougoです。

ソースコードをチェックしていないので憶測ですが、Vimの内部動作的に一度ポップアップを閉じないとプレビューウインドウの(別ウインドウの)画面を更新できないのだと思います。
この動作は改善したほうが良いと思いますが、修正はあまり簡単でなさそうです。

uj

unread,
Oct 1, 2012, 11:28:17 AM10/1/12
to vim...@googlegroups.com
https://github.com/Shougo/echodoc
かわりにこれを使っています

tsutsui kaito

unread,
Oct 1, 2012, 4:42:57 PM10/1/12
to vim...@googlegroups.com
おはようございます.MATSUMOTOさん初めまして.
* vimのバージョン
    VIM - Vi IMproved 7.3 (2010 Aug 15, compiled Jul  2 2012 08:34:20)
    適用済パッチ: 1-584
* 使っているプラグイン
  ['Shougo/neocomplcache','Shougo/neocomplcache-snippets-complete',
   'Shougo/vimshell','Shougo/unite.vim','Shougo/vimproc','thinca/vim-quickrun','godlygeek/tabular']
* 補完に関連した設定の内容
    set completeopt=menuone,preview
    set pumheight=20
    set previewheight=10
hi Pmenu guibg=#000000 guifg=#dddddd ctermbg=BLACK ctermfg=LightGray
hi PmenuSel guibg=#0000ff guifg=#dddddd ctermbg=BLACK ctermfg=LightGray
hi PmenuSbar guibg=#aaaaaa ctermbg=Gray
hi PmenuThumb guifg=#00ff00 ctermfg=Blue
補完関数の返す値
    { 'word':"-hoge", 'abbr': "-hoge piyo", 'info': "-hoge piyo fugafuga", 'menu' : "fugafuga", 'dup': 0 }



2012年9月30日日曜日 23時40分43秒 UTC+9 tsutsui kaito:

tsutsui kaito

unread,
Oct 1, 2012, 4:59:13 PM10/1/12
to vim...@googlegroups.com
おはようございます.Shougoさん.
Shougoさんいつもお世話になっています.vimshellでlifechangeした一人です.vimshell+補完かなり快適ですが,この問題でeyepoint削られてます.

2012年10月1日月曜日 21時31分08秒 UTC+9 Shougo:

tsutsui kaito

unread,
Oct 1, 2012, 5:01:26 PM10/1/12
to vim...@googlegroups.com

おはようございます.ujさん.
こうゆう方法もあるのですね.

2012年10月2日火曜日 0時28分17秒 UTC+9 uj:

matsushita shougo

unread,
Oct 2, 2012, 7:31:44 PM10/2/12
to vim...@googlegroups.com
Shougoです。

2012年10月2日 6:01 tsutsui kaito <koto...@gmail.com>:


>
> おはようございます.ujさん.
> こうゆう方法もあるのですね.
>
> 2012年10月2日火曜日 0時28分17秒 UTC+9 uj:
>>
>> https://github.com/Shougo/echodoc
>> かわりにこれを使っています
>>

echodocを作成した目的はVimのプレビューウインドウ機能が自分に合わなかったからなので、こちらで十分ならそういう手もあります。ただし、echodocは候補の選択時にドキュメントを出すことができません。ドキュメントを表示できるのは、候補を決定した時のみです。プレビューウインドウとは若干違った動作となります。

> tsutsui kaitoさん

補完関数を自作したのなら、その自作した補完関数の定義を示したほうが良いと思います。
現象を確認するにしても、修正するにしても、その現象が再現できる環境を用意することが必要になります。

tsutsui kaito

unread,
Oct 3, 2012, 10:56:59 AM10/3/12
to vim...@googlegroups.com




Shougoさん.こんばんは.
現在実装もまだ甘く、忙しくて環境も用意できないから、用意できたらまた投げます。↑とりあえずイメージです。
2012年10月3日水曜日 8時31分45秒 UTC+9 Shougo:

matsushita shougo

unread,
Oct 3, 2012, 7:49:18 PM10/3/12
to vim...@googlegroups.com
Shougoです。

> Shougoさん.こんばんは.
> 現在実装もまだ甘く、忙しくて環境も用意できないから、用意できたらまた投げます。↑とりあえずイメージです。

イメージを見て見ました。なかなか良い感じだと思います。
個人的には、echodocに対応してもらえると良いですね。公開されるのを楽しみにしています。

説明文が日本語なのは日本人に対する分かりやすさを優先したんでしょうが、このプラグイン自体は外国の方にも使って欲しいので、英文の説明があると個人的には嬉しいです。
Reply all
Reply to author
Forward
0 new messages