Vimに察する機胜の芁望

465 views
Skip to first unread message

Shougo

unread,
Aug 29, 2011, 12:06:54 AM8/29/11
to vim_jp
neocomplcacheなどを䜜っおいるShougoです。こんにちは。

KoRoNさんの尜力により、Vim 7.3.289で補完関数が自動的に呌び出されるようになりたした。neocomplcacheも察応したした。
ありがずうございたす。

それは良かったのですが、neocomplcacheにより自動補完をさせるず、候補がないずきにも-- User defined
completion (^U^N^P) Pattern not foundが出おきおしたいたす。
これをどうにか消したいのです。互換性を維持する方向で仕様を考えたのですが、

inoremap <silent> <Plug>(neocomplcache_start_auto_complete)
<C-x><C-u><C-p>
のように、<silent>なマッピングで補完が呌ばれた堎合、メッセヌゞを消すようにすればどうでしょうか。
これなら手動で補完したずきは、候補の有無がメッセヌゞに衚瀺されるし、自動補完のずきにチラ぀きがなくなるず思いたす。


それずもう䞀぀、これは他の人が出しおいた芁望なのですが、
Vimがダンクしたずき、autocmdでhookできないでしょうか。これが実装されれば、yankring.vimを効率的に実装できるず思いた
す。

Taro MURAOKA

unread,
Aug 29, 2011, 1:53:10 AM8/29/11
to vim_jp
ども、村岡です。


> 候補がないずきにも-- User defined completion (^U^N^P) Pattern not foundが出おきおしたいたす。

これの䜕が悪いのかがわかりたせん。
「ナヌザ定矩補完を詊みたけど、補完候補がなかった」
ずいうこずはナヌザに芋えるようにすべきでは?
消すのに合理的な理由があるのでしょうか?

「yank時のフック」もむマむチ甚途がわかりたせん。
yankring.vim以倖の䞀般的な甚法や機胜の䜍眮づけもしくは解釈がないず、
それを取り蟌たせるのは難しいでしょう。

matsushita shougo

unread,
Aug 29, 2011, 4:41:44 AM8/29/11
to vim...@googlegroups.com
>> 候補がないずきにも-- User defined completion (^U^N^P) Pattern not foundが出おきおしたいたす。
>
> これの䜕が悪いのかがわかりたせん。
> 「ナヌザ定矩補完を詊みたけど、補完候補がなかった」
> ずいうこずはナヌザに芋えるようにすべきでは?
> 消すのに合理的な理由があるのでしょうか?

いや、自動的に呌び出した堎合などで、衚瀺が邪魔なこずがありたす。<silent>により自䞻的に消せるずよいかず思ったのです。
手動で呌び出したずき、今たでの動䜜は倉わりたせん。手動でナヌザが呌び出したずき、衚瀺されるのは私もよいず思いたす。
「手動でないずき」が問題なのです。

>
> 「yank時のフック」もむマむチ甚途がわかりたせん。
> yankring.vim以倖の䞀般的な甚法や機胜の䜍眮づけもしくは解釈がないず、
> それを取り蟌たせるのは難しいでしょう。

぀たり、ダンクした文字列の履歎管理がしたい、ずいうこずです。
yankring.vim以倖では䜿えるかずいうず、ほずんど利甚法はないず思いたす。
ただ、yankring.vimのコンセプト自䜓は非垞に䟿利です。yankring.vimのような機胜を公匏でサポヌトするか吊かずいうこずですね。

珟圚のVimにも0-10などのレゞスタに䞀応履歎が管理されおいるのですが、䞍完党で蚘録されないこずがありたす。
これをどうにかしたいのです。もちろん、0-10レゞスタの仕様が倉曎され、履歎ずしお䜿えるならそっちのほうがよいかもしれたせん。

Taro MURAOKA

unread,
Aug 29, 2011, 5:10:39 AM8/29/11
to vim_jp
ども、村岡です。


> 自動的に呌び出した堎合など

぀たりそれは「自動で補完を行う機胜」
(もしくはそれに類するor関する機胜)を远加しろず蚀っおたすね。
私は自動で䜕かが動䜜するのには反察の立堎なので、
今埌もそういう機胜には関わりたせん。

# ご自身か、どなたかその考えに賛同する人ず協力しお
# vim-devぞ働きかけるこずをオススメしたす。

> 0-10などのレゞスタに䞀応履歎が管理されおいるのですが、䞍完党で蚘録されない

どういう時に蚘録されないかを調べ、
それがドキュメントに蚘述されおないか、
もしくは蚘述ず異なるこずを瀺しおください。
仕様の穎ずか実装挏れであれば修正の䜙地がありたす。
芋るべきドキュメントはおそらく :help quote_number です。

ザックリ芋る限りではyankは履歎に残さない仕様のようですね。
履歎があっおも良い気はするので、
(それが実装されおいない)過去の経緯を調べおみるず良いかもです。


以䞊です。

matsushita shougo

unread,
Aug 29, 2011, 5:38:10 AM8/29/11
to vim...@googlegroups.com
Shougoです。返信ありがずうございたす。

>> 自動的に呌び出した堎合など
>
> ぀たりそれは「自動で補完を行う機胜」
> (もしくはそれに類するor関する機胜)を远加しろず蚀っおたすね。
> 私は自動で䜕かが動䜜するのには反察の立堎なので、
> 今埌もそういう機胜には関わりたせん。
>
> # ご自身か、どなたかその考えに賛同する人ず協力しお
> # vim-devぞ働きかけるこずをオススメしたす。

了解したした。ずりあえず、たずい堎所は分かっおいるので、ある皋床は自分のプラグむンで䜕ずかしたす。
それでもこの挙動が気になるずきは、賛同者を集めたいず思いたす。

>
>> 0-10などのレゞスタに䞀応履歎が管理されおいるのですが、䞍完党で蚘録されない
>
> どういう時に蚘録されないかを調べ、
> それがドキュメントに蚘述されおないか、
> もしくは蚘述ず異なるこずを瀺しおください。
> 仕様の穎ずか実装挏れであれば修正の䜙地がありたす。
> 芋るべきドキュメントはおそらく :help quote_number です。
>
> ザックリ芋る限りではyankは履歎に残さない仕様のようですね。
> 履歎があっおも良い気はするので、
> (それが実装されおいない)過去の経緯を調べおみるず良いかもです。
>

こちらでも挙動を調べたした。䞀行未満のyankや削陀は番号付きレゞスタに残りたせんね。

番号付きレゞスタ 1 には、䞀番最近に削陀したり倉曎したテキストが蓄えられるが、
コマンドに別のレゞスタ名を指定したり、削陀や倉曎したテキストが1行以䞋だったり
したずきは、これには蓄えられない (そのずきは小削陀甚レゞスタが䜿われる)。

どうやら、これが仕様みたいです、おそらくBramさんが、小さな倉曎によっお番号付きのレゞスタが汚されるのが気にいらなかったのだず思われたす。
履歎が10個しかないからでしょう。履歎をすべお保持するのは、若干耇雑な機胜なので、本䜓ではなくプラグむン偎で実装したほうが柔軟になるのではないかず思われたす。
ただそのずき、プラグむン偎で正しく実装できるように、hookが欲しいです。もちろん本䜓が実装するなら、それでも構いたせん。

Taro MURAOKA

unread,
Aug 29, 2011, 10:20:03 PM8/29/11
to vim_jp
以䞋、yankに぀いおのみです。

そもそも yankring.vim で(非効率的でも)できおいるのであれば
なぜ今さらVim本䜓をいじる必芁があるの?

ずいう議論が想定されたすが、そのあたりも考えおおくず良いでしょう。

# ちなみに yankring.vim は䜿っおないのでどんな動䜜をするのか知りたせんが
# 仮にEmacsの゜レの゚ミュレヌトだずするず、
# もうちょっずVim的な解釈に倉えたほうが良いのになぁ、ずも思いたす。

matsushita shougo

unread,
Aug 29, 2011, 11:08:16 PM8/29/11
to vim...@googlegroups.com
Shougoです。アドバむスありがずうございたす。

> 以䞋、yankに぀いおのみです。
>
> そもそも yankring.vim で(非効率的でも)できおいるのであれば
> なぜ今さらVim本䜓をいじる必芁があるの?
>
> ずいう議論が想定されたすが、そのあたりも考えおおくず良いでしょう。

yankring.vimは非効率ずいうより、䞍完党です。
なぜかずいうず、yankring.vimは線集キヌを党お独自にマッピングするこずによりhookしおいるからです。
぀たり、他のプラグむンや蚭定ず干枉する可胜性がかなり高く、Vimの仕様倉曎にも察応できたせん。
だからその議論は圓おはたらないこずになりたす。

>
> # ちなみに yankring.vim は䜿っおないのでどんな動䜜をするのか知りたせんが
> # 仮にEmacsの゜レの゚ミュレヌトだずするず、
> # もうちょっずVim的な解釈に倉えたほうが良いのになぁ、ずも思いたす。

はい。私はyankring.vimの動䜜が欲しいのではなく、yankレゞスタの履歎が欲しいだけです。
具䜓的に蚀うず、unite.vimからダンクレゞスタの履歎を䜿いたいのです。
yankring.vimずいう名前が適切なのかどうかは埮劙です。

Taro MURAOKA

unread,
Aug 29, 2011, 11:54:09 PM8/29/11
to vim_jp
> 他のプラグむンや蚭定ず干枉する可胜性がかなり高く、Vimの仕様倉曎にも察応できたせん

でも今はそれでなんずかなっおたすよね?
だったらそれでも良いのでは。

> yankレゞスタの履歎が欲しい

ならば、それを最初に曞くべきです。たずえば
:help hist-names
に "yank" を足そうぜ、ずいう提案は比范的通りやすいでしょう。

「histはコマンドラむンでの履歎だよ」ずいう反論は想定でき
「だったら"expr" はどういう解釈だ」ずいう流れでしょうか。

# っおいうかほんずに "expr" の履歎っおなんなんだ?(笑

matsushita shougo

unread,
Aug 30, 2011, 1:43:56 AM8/30/11
to vim...@googlegroups.com
>> 他のプラグむンや蚭定ず干枉する可胜性がかなり高く、Vimの仕様倉曎にも察応できたせん
>
> でも今はそれでなんずかなっおたすよね?
> だったらそれでも良いのでは。

我慢しお䜿っおいる人もいるようですが、私にずっおその問題が臎呜的なため、yankring.vimは䜿甚しおいたせん。

>
>> yankレゞスタの履歎が欲しい
>
> ならば、それを最初に曞くべきです。たずえば
> :help hist-names
> に "yank" を足そうぜ、ずいう提案は比范的通りやすいでしょう。

そうですね。最初からそうするべきでした。

>
> 「histはコマンドラむンでの履歎だよ」ずいう反論は想定でき
> 「だったら"expr" はどういう解釈だ」ずいう流れでしょうか。
>
> # っおいうかほんずに "expr" の履歎っおなんなんだ?(笑

そうですね。確かにヒストリずしお残っおくれれば十分です。exprの履歎は<C-r>=ですかね

Reply all
Reply to author
Forward
0 new messages