Download free for 30 days
Sign in
Upload
Language (EN)
Support
Business
Mobile
Social Media
Marketing
Technology
Art & Photos
Career
Design
Education
Presentations & Public Speaking
Government & Nonprofit
Healthcare
Internet
Law
Leadership & Management
Automotive
Engineering
Software
Recruiting & HR
Retail
Sales
Services
Science
Small Business & Entrepreneurship
Food
Environment
Economy & Finance
Data & Analytics
Investor Relations
Sports
Spiritual
News & Politics
Travel
Self Improvement
Real Estate
Entertainment & Humor
Health & Medicine
Devices & Hardware
Lifestyle
Change Language
Language
English
Español
Português
Français
Deutsche
Cancel
Save
Submit search
EN
Uploaded by
Shougo
PDF, PPTX
16,630 views
An introduction to neocomplete
An introduction to neocomplete by DarkVim Master(暗黒美夢王)
Technology
◦
Read more
26
Save
Share
Embed
Embed presentation
Download
Download as PDF, PPTX
1
/ 27
2
/ 27
3
/ 27
4
/ 27
Most read
5
/ 27
Most read
6
/ 27
Most read
7
/ 27
8
/ 27
9
/ 27
10
/ 27
11
/ 27
12
/ 27
13
/ 27
14
/ 27
15
/ 27
16
/ 27
17
/ 27
18
/ 27
19
/ 27
20
/ 27
21
/ 27
22
/ 27
23
/ 27
24
/ 27
25
/ 27
26
/ 27
27
/ 27
More Related Content
PPTX
タボ先生による風来のシレン5泥棒講座
by
siren5
PDF
我が evil-mode を嫌いな理由 〜evil-mode の闇〜
by
Shougo
PDF
暗黒美夢王とEmacs
by
Shougo
PPTX
【MCKids】ドラムって何だろう?
by
nobianchi
PDF
neovim = VM
by
Shougo
ODP
Neosnippet.vim + Deoppet.nvim in Vim conf 2017
by
Shougo
PDF
neobundle.vimについて+おまけ
by
Shougo
ODP
Introduction to Vim 8.0
by
k-takata
タボ先生による風来のシレン5泥棒講座
by
siren5
我が evil-mode を嫌いな理由 〜evil-mode の闇〜
by
Shougo
暗黒美夢王とEmacs
by
Shougo
【MCKids】ドラムって何だろう?
by
nobianchi
neovim = VM
by
Shougo
Neosnippet.vim + Deoppet.nvim in Vim conf 2017
by
Shougo
neobundle.vimについて+おまけ
by
Shougo
Introduction to Vim 8.0
by
k-takata
Similar to An introduction to neocomplete
PPTX
秋のVim祭り Rubyを添えて
by
Yuta Ogura
PDF
Shougoの開発環境
by
Shougo
PDF
速習Vim
by
Yu Takabatake
PDF
Vim入門 20130210
by
marony
PDF
rucs_vim LT
by
Naoya Inada
PPTX
kyoto vim#1
by
Yoshihiro Ura
ODP
Ultimate completion environment with neocomplcache in vim
by
Shougo
PDF
Unite vim
by
Shougo
PDF
Vim の話
by
cohama
PDF
(初心者向け) Vim の機能紹介@nagoya.vim #1
by
cohama
PDF
「Vim初心者によるVim入門@haman29」
by
Kyohei Hamada
PDF
Tdd vim
by
Tak Nishikori
PPT
080720 Vim M
by
Takuya Hashimoto
PDF
Vimはこわくない
by
Yuichi Watanabe
秋のVim祭り Rubyを添えて
by
Yuta Ogura
Shougoの開発環境
by
Shougo
速習Vim
by
Yu Takabatake
Vim入門 20130210
by
marony
rucs_vim LT
by
Naoya Inada
kyoto vim#1
by
Yoshihiro Ura
Ultimate completion environment with neocomplcache in vim
by
Shougo
Unite vim
by
Shougo
Vim の話
by
cohama
(初心者向け) Vim の機能紹介@nagoya.vim #1
by
cohama
「Vim初心者によるVim入門@haman29」
by
Kyohei Hamada
Tdd vim
by
Tak Nishikori
080720 Vim M
by
Takuya Hashimoto
Vimはこわくない
by
Yuichi Watanabe
More from Shougo
PDF
Vimから見たemacs
by
Shougo
ODP
カードゲームで学ぶテキストエディタ
by
Shougo
PDF
deoplete: The dark powered auto completion plugin for neovim
by
Shougo
PDF
Vim conf2019
by
Shougo
PDF
Let's talk about neovim
by
Shougo
PDF
Vim = VM
by
Shougo
ODP
modern X86 environment
by
Shougo
Vimから見たemacs
by
Shougo
カードゲームで学ぶテキストエディタ
by
Shougo
deoplete: The dark powered auto completion plugin for neovim
by
Shougo
Vim conf2019
by
Shougo
Let's talk about neovim
by
Shougo
Vim = VM
by
Shougo
modern X86 environment
by
Shougo
An introduction to neocomplete
1.
neocomplete.vim さぁ、補完の時間だ! Let's completion time! 暗黒美夢王(Shougo)
2.
注意事項 ● ● ● このスライドには暗黒美夢王成分が大量に含まれ ます。ネタをネタと分かる人だけが聞きましょう ネタがわからない人はいますぐ避難するんだ! 「はやくしろっ!! 間にあわなくなってもしらん ぞーーっ!!」
3.
我の名は…… ● あるときは、「Vimサポーターズ」 ● またあるときは「Vimネタ職人」 ● ● またあるときは「Vimプラグイン作者」「Vimキチ○イ」 「修正しました」「鋼のメンタルを持つ男」 しかしてその実態は……
4.
「きさま!? まさか!!」 「そう、そのまさかだ!!フハ ハハハ…」
5.
自己紹介(暗黒美夢王) ● ● ● クックック……我の名は暗黒美夢王(ダークビムマス ター) とあるVimmerが前回の勉強会を経て闇の力に覚醒 した存在である 特技:闇の力でVimを拡張する => 「闇のVim」、「Vimのカオス化」 ● 対義語:「光のVim」 プラグインに頼らないVimの構築術
6.
neo-completeとは? ● neo-completeとはバトルエディターズに登場するVim専 用のプラグインのことである ● 暗黒美夢王が愛用するneoシリーズのプラグインの一つ ● 機能『ネオ・コンプリート・フラッシュ』 メモリ上のコマンドを一つトラッシュに送る。このターン終了まで、 このプラグインをインストールしたテキストエディタの戦闘力は1.5 倍となる。この機能は1 ターンに一度のみ適用可能である ● バトルエディターズ第二話でSublime Text3を粉砕した 超強力なプラグインだ(暗黒美夢王調べ)
7.
neocompleteとは? ● neocompleteとはneocomplcacheの後継として 開発された自動補完プラグインのことである ● neocomplcacheは現在メンテナンスのみ ● 基本的な使用方法はneocomplcacheと同一 ● ただし、オプション名が異なっている ● 一部の機能が廃止されている ● neocomplcacheよりも高速化を実現 ● 残念ながら、neocomplcacheとのsource互換性 はない(重要)
8.
なぜneocompleteを作ったの か? ● autocomplpopの開発が止まり、neocomplcache は長らくライバル不在 ● しかし YouCompleteMeが登場、センセーショナル なキャッチフレーズによりneocomplcacheの立場を 脅かすことでやる気になる ※:YouCompleteMe公式サイトより抜粋
9.
neocompleteを使用するには ● neocompleteはif_luaを利用しているので、if_luaが 有効になったvimが必要(7.3.885以上) ● Windows: Kaoriya版のVimを使う ● Linux: 自分でコンパイルする ● Mac:
brew を使う $ brew install macvim --with-cscope --with-lua --HEAD ● 詳しくはneocompleteのドキュメントを参照 – :help neocomplete-install
10.
既存のプラグインに対する 利点 ● 高い拡張性 ● YouCompleteMeほどではないが高速 ● neocomplcacheの機能をほぼすべて持つ ● 標準で曖昧マッチ ● キャッシュ機能の改良 ● filter機能 ● Unite.vimとのインタフェース親和性 etc...
11.
neocomplete の 簡単な使用方法 NeoBundle “Shougo/neocomplete.vim” let
g:neocomplete#enable_at_startup = 1 neobundle.vim経由で インストールする ● neobundle.vimについては 前回の発表を参照
12.
neoocmplcacheとの違い わたし、気になります! ● ● ベースはneocomplcacheなので、大きく使用方法が 違うわけではない 一番違うのはオプションの指定方法 g:neocomplcache_enable_at_startup→ g:neocomplete#enable_at_startup ● 詳しくはこちらを参照: https://github.com/Shougo/neocomplete.vim/wiki/neocom plete-migration-guide
13.
neocompleteのsourceにつ いて ● sourceとはneocompleteが補完する候補の種類で ある ● sourceはユーザーが任意に追加できる ● Unite.vimのsourceとほとんど同じ意味 ● neocomplcacheとは異なり、*_complete ではない
14.
代表的なneocompleteの source ● buffer バッファ補完 ● dictionary ディクショナリ補完 ● syntax
シンタックス補完 ● include インクルード補完 ● tag タグ補完 ● vim Vim script補完 ● file ファイル名補完 ● omni オムニ補完
15.
曖昧マッチ機能 ● 補完テキストの途中が抜けていても補完ができる ● 標準で有効 ● ● ● ● 例: foobar を補完する時にfbのみ入力すれば候補に出 てくる 無効にすることもできる。無効化方法はneocompleteの FAQを参照 neocomplcacheにも似た機能はあったがオプション 曖昧マッチで代用できるため、camel
case completion, underbar completion機能は廃止(重要)
16.
改良されたキャッシュ ● ● ● キャッシュの読み込みが高速化している さらに、neocomplcacheの時のようにスペルミスを いつまでたっても覚えていることが(ほぼ)ない! 動的にキャッシュした文字列がバッファに存在するか どうかチェックすることにより実現
17.
omni sourceとforce omni ● g:neocomplete#omni#input_patternsで指定するomni sourceはneocompleteの一部 – – filters,
選択候補の学習 – ● neocompleteの機能が全て使用可能 Vimのオムに補完のエミュレーションなので、一部の補完関数との 相性が悪い(ruby_complete, clang_complete等) g:neocomplete#force_omni_input_patternsで指定する と、neocomplete経由ではなく、直接オムニ補完を呼び出す – 全てのオムニ補完が利用可能 – neocompleteの機能は全て無効になる
18.
neocomplete-filters ● unite.vimと同様にfilterという機能を用いて拡張をす ることができる ● matcher 候補のマッチに使用する ● sorter 候補をソートする ● converter
候補を変換する ● 通常はmatcher,sorter,converterの順番 ● neocomplete#custom#source({source名}, {filters})でカスタマイズ可能
19.
代表的な filters ● matcher_fuzzy 曖昧マッチ(デフォルト) ● matcher_head
先頭マッチ ● sorter_rank 選択頻度によるソート(デフォルト) ● sorter_word アルファベット順ソート ● sorter_length 候補の長さによるソート ● converter_case 候補の大文字小文字自動変換(デフォルト) ● converter_abbr 長い候補の省略(デフォルト) ● converter_delimiter デリミタの省略(デフォルト) ● converter_remove_next_keyword 補完文字列の後ろを見た 候補変換(デフォルト)
20.
他のプラグインと neocompleteの連携 ● ぶっちゃけFAQを読むべきである ● clang_completeの設定例、jedi.vimの設定例等み んな載っている ● g:neocomplete#force_omni_input_patternsを 設定しなければならないことが多い
21.
neocompleteのsource作成 ● 何、neocompleteのsourceを作りたい……だと? ● sourceの作り方はドキュメントを参照(英語) :help neocomplete-create-source ● sourceはneocomplcacheの時よりもunite.vimっ ぽくなっている ● 例:gather_candidates(), filterの存在,
hookの指 定方法
22.
まったく、if_luaは最高だぜ! ● if_luaはif_pythonと比較するとマイナー ● neocomplete, unite.vim等のプラグインがif_luaを優遇するこ とで、少しずつ知られてきた(クックック……計画通り) ● if_luaはif_pythonよりも高速、消費メモリ量も少ない、実行時 オーバーヘッドもほぼ無い ● Vim scriptと連携することで機能の少なさをカバー – Vim
scriptの知識は無駄にならない、Vim scriptたんは可愛い(真理) ● if_pythonの場合、全てをPythonで書くことになりがち ● Vim scriptを愛する暗黒美夢王はif_luaを応援しています
23.
YouCompleteMeとの違い わたし、気になります! ● YouCompleteMeはif_pythonに依存 ● if_pythonだけではなく、速度が必要な部分をC++モジュールで行 うために圧倒的な速度 ● 非同期補完機能 ● C/C++/ObjCの補完に特化 ● jedi.vimやUltisnipsとの連携機能 ● C++モジュールがあるので拡張するのが難しい ● ビルドが必須なのでインストールが難しい(特にWindows環境)
24.
今後のneocomplete ● 機能の実装はほぼ終わり ● 現在はたまに出てくる問題の解決がメイン ● 良いアイディアがあれば採用されるかも知れない ● そろそろ vim.org に公開? – しかし最近忙しいからな……
25.
まとめ ● ● ● ● neocompleteはneocomplcacheがランクアップ したVim plugin あのバトルエディターズでもneocompleteは活躍 している if_lua 可愛いよ
if_lua もっとみんな使おう そういえば、auto-complete.elはどうしたのだろう か……(遠い目)
26.
終わり? ● ● ● 何、「今回の歌はどうしたのか」だと? クックック……用意はしているが時間の都合上、懇 親会での披露を考えている 暗黒美夢王についてもっと知りたければ、下記ブロ グで連載中の「バトルエディターズ」をチェックする ことだ(現在第三話まで公開済み) http://vinarian.blogspot.jp/
27.
質問 ● さて、我の発表に対する質問があるだろうか?
Download