Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

nvALTの様な検索 #1007

Closed
baronTommy opened this issue Jan 8, 2017 · 4 comments
Closed

nvALTの様な検索 #1007

baronTommy opened this issue Jan 8, 2017 · 4 comments

Comments

@baronTommy
Copy link

nvALTの様な検索

vim又は、nvimでnvALTの様な検索を行いたいです。

  • 入力しながら全文検索
  • Denite file_recの様なファイル名に対しての検索では無く、全文検索
  • Denite -auto_preview grepだとながらanythingの様にならない
    • 文字を入力 -> enter -> 結果の流れになる為
  • 対象は特定のディレクトリを事前に設定しておき、そこが全文検索対象
    • ~/data/配下の*.mdを対象の様な使い方

参考にしたサイト
参考 qiita

@mattn
Copy link
Member

mattn commented Jan 8, 2017

denite についても nvALT についても知らないので間違ってる事を言ってるかもしれませんが。

見たところ nvALT は markdown エディタで、左側のペインから全文検索ができる物の様です。ただ markdown で書く様なテキストファイルであれば、ある程度ファイルも小さな物で場合によっては sqlite3 の様なデータベースにコンテンツをまるごと収める事も可能と推測します。

ただし markdown に限らないとした場合、ファイルのコンテンツはデータベースに収めるには大きすぎる物もあるため、1文字入力するごとに全文検索するのは非効率(プログラム的に)な動作になります。単語単位などであれば、インデックスを先に作ってしまうという方法もあるかと思います。つまり

  • ファイルがどれだけあるか分からない
  • ファイルの大きさがどれだけ大きいか分からない

のであれば、画面がブロックしてしまう様な物しか作れないと思います。また非同期だったとしても検索結果がなかなか現れない不便な物になりかねません。

@Shougo
Copy link
Member

Shougo commented Jan 9, 2017

anything.el, helm.el だと、Input 部分に入力しながら入力結果にもとづいて
毎回 grep を行うという source があるというのを聞いたことがあり、実際に要望も貰っています。
非同期機能が入ったことでプラグインで実装することは不可能ではないですし、本体がやるにはかなり複雑な機能です。
プラグイン側に機能を要望するほうがよいと思います。

@baronTommy
Copy link
Author

@mattn
意見ありがとうございます。
検索対象が多いと処理が重いかもしれません。(特に全文検索なので)
ですが技術メモを検索、修正とする場合nvALTの挙動が使いやすいです。
vim(nvim)で類似動作方法が考えていました。

@baronTommy
Copy link
Author

@Shougo
意見ありがとうございます。

プラグイン側に機能を要望するほうがよいと思います。

おっしゃる通りです。

denite.nvimのプレビューは希望の動作です。
検索結果に対しての絞り込みは、動作が非常に近いです。

Input 部分に入力しながら入力結果にもとづいて毎回 grep

これが希望の機能です。
何点かnvaltにインスパイアされたプラグインがありましたが、再現度が希望と違いました。
denite.nvimに要望を出させていただきますのでご検討よろしくお願いします。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants