Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
作ってわかる現代のVimのAutoComplete ~そしてVimConf2019へ~
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
Toshikazu Ohashi
October 24, 2019
Programming
1.8k
3
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
作ってわかる現代のVimのAutoComplete ~そしてVimConf2019へ~
ゴリラ.vim #9
https://gorillavim.connpass.com/event/149797/
Toshikazu Ohashi
October 24, 2019
More Decks by Toshikazu Ohashi
See All by Toshikazu Ohashi
無自覚にメンバーの心理的安全性を奪っていた経験から得た学び
lighttiger2505
163
220k
黒画面が最高のしごと道具である3つの理由
lighttiger2505
0
2.3k
Golangで作るSQL Language Server(sqls)
lighttiger2505
1
1k
Connect with many developers from the small plugin
lighttiger2505
0
480
自社サービスのDjangoを 1.3から1.11(LTS)に アップグレードするまでの道のり
lighttiger2505
6
3.8k
LSPがもたらしたVimプラグインの変化に思いを馳せる
lighttiger2505
2
1.6k
ターミナルアプリケーションとしてのVim
lighttiger2505
0
650
Go Language Server 使うべし
lighttiger2505
5
2.2k
Goで作るインタラクティブなCLIコマンドとそのデザイン
lighttiger2505
0
1k
Other Decks in Programming
See All in Programming
巨大モノリシックアプリ モダン化大作戦
ktcryomm
1
1k
JPUG勉強会 OSSデータベースの内部構造を理解しよう(第2回)
oga5
0
240
AI Agent時代のリアーキテクチャ戦略と実践
hokaccha
9
4.6k
C#の現在地 進化の歴史と、AI時代の.NET Everywhere
neuecc
2
1.8k
AGENTS.md Is Not Enough:Build Skills, Don't Download Them
lx_t
0
120
モバイル交通系ICへのチャージ実例から考える、クロスプラットフォーム開発におけるiOS実機テスト設計とCI運用
yusuga
1
480
新卒PdEのリアル
ryu1013
1
500
すこし踏み込む CancellationToken
htkym
0
220
XHTMLが残したもの
yosuke_furukawa
PRO
2
810
Omarchy Tokyo やると聞いて UMPC 買ってセットアップしてきた
mtsmfm
0
140
SONY CISC-NEWS NWS-1750 + NWB-225 フレームバッファの NetBSD/news68k ドライバ実装 / OSC2026Hiroshima
tsutsui
0
110
20260914 AIエージェント時代のPlatform Engineering LLM基盤とプロダクトの責務境界線
kanfab1
7
2k
Featured
See All Featured
How GitHub (no longer) Works
holman
316
150k
Accessibility Awareness
sabderemane
1
210
Lessons Learnt from Crawling 1000+ Websites
charlesmeaden
PRO
1
1.6k
Navigating the Design Leadership Dip - Product Design Week Design Leaders+ Conference 2024
apolaine
2
430
HDC tutorial
michielstock
2
870
Max Prin - Stacking Signals: How International SEO Comes Together (And Falls Apart)
techseoconnect
PRO
0
460
How to build an LLM SEO readiness audit: a practical framework
nmsamuel
1
910
Visual Storytelling: How to be a Superhuman Communicator
reverentgeek
2
660
Claude Code のすすめ
schroneko
67
230k
The untapped power of vector embeddings
frankvandijk
2
1.9k
WCS-LA-2024
lcolladotor
0
830
From π to Pie charts
rasagy
1
370
Transcript
࡞ͬͯΘ͔Δ ݱͷVimͷAutoComplete ~ͦͯ͠VimConf2019~ gorilla.vim #9 @lighttiger2505
ࣗݾհ • lighttiger2505(Toshikazu Ohashi) • αʔόαΠυΤϯδχΞ@iRidge • Vimྺ3͘Β͍ • झຯ
• CLIίϚϯυͱVim͍͡Γ
AutoCompleteͯ͠·͔͢ʁ
AutoComplete͕ Ͳ͏ಈ͘ͷ͔ؾʹͳͬͯ Ε·ͤΜ͔ʁ
ΞδΣϯμ • [ΠϯτϩμΫγϣϯ] Auto Completeͱʁ • Auto CompleteΛ࡞ͬͯΈΑ͏ • ݱͷVimͷAuto
Completeͱ • એ
AutoCompleteͱʁ
AutoCompleteͱ • Ϣʔβ͕ΤσΟλʹೖྗͨ͠༰ʹԠͯ͡ Ϛον͢ΔީิΛҰཡදࣔ͠ɺೖྗΛิॿ͢ Δػೳ
ͳ͓Vimʹ(खಈ)ิ͕͋Δ • `:help ins-completion` • `CTRL-X`Λىʹ༷ʑͳछྨͷิ͕͋Δ • ϑΝΠϧͷΩʔϫʔυิ • ΦϜχิ
VimConf2018Ͱൃද͞Εͨ ࢀߟʹͳΔεϥΠυ • https://speakerdeck.com/daisuzu/migrating- plugins-to-standard-features
VimͷAutoComplete ϓϥάΠϯʹΑ࣮ͬͯݱ • ϓϥάΠϯͰ࣮ݱͰ͖Δͱ͍͏͜ͱ • ΠίʔϧࣗͰ࡞ΕΔ • ࡞ͬͯΈΑ͏
AutoCompleteΛ ࡞ͬͯΈΑ͏
ຊεςοϓͷΰʔϧ • lookcomplete.nvim
શ̒εςοϓͰ࡞ 1. ࠷খͷิ 2. ิͷڍಈΛௐ 3. ࣗಈͰิ 4. ӳ୯ޠΛิ 5.
ඇಉظͰิީิΛऔಘ 6. ίʔϧόοΫͷνΣοΫ
ຊσϞͰར༻͢Δίʔυ • GitHubͰެ։͞Ε͍ͯ·͢ • https://github.com/lighttiger2505/ lookcomplete.nvim
1. ࠷খͷิ • `:help complete` • ࠐΈؔͰิީิΛදࣔ
2. ิͷڍಈΛௐ • F5Λ͓ͨ͠ॠؒʹิީิ͕Πϯαʔτ • `:help completeopt`Λมߋ • ೖྗࡁΈ༰ʹॏෳͯ͠ૠೖ •
`complete`ͷ`startcol`Λࢦఆ
3. ࣗಈͰิ • `TextChangedI`͝ͱʹpumΛߋ৽ • `InsertEnter/Leave`ͰΧʔιϧߦΛอ࣋ • ΠϯαʔτϞʔυʹͳͬͨॠؒʹදࣔ͞ΕΔ • ೖྗ͕ͳ͍߹ʹީิදࣔΛແޮԽ
4. ӳ୯ޠΛิ • lookίϚϯυ
5. ඇಉظͰิީิΛऔಘ • lookίϚϯυ࣮ߦதVim͕ϒϩοΫ • `:help jobstart(in NeoVim)`
6. ίʔϧόοΫͷνΣοΫ • lookίϚϯυ͕͔ͬͨ߹͓͔͠ͳڍಈ • lookίϚϯυͷίʔϧͨ͠ঢ়گ(Context)ͱ ิදࣔͷঢ়گͱҰகͨ͠ͱ͖͚ͩදࣔ
࡞ͬͯΘ͔ͬͨAutoComplete • ΤσΟλͷ֩Ͱ͋ΔςΩετมߋΛϑοΫ͢ ΔͷͰɺͷ͘͢͝ؾΛ͔ͭ͏ • Ϣʔβ͕৺ྑ͍λΠϛϯάͰิΛग़͢ • ࡉ͔͍ௐ/νΣοΫॲཧ͕ෆՄܽ
࡞ͬͯΘ͔ͬͨAutoComplete • ςΩετฤूΛϒϩοΫͯ͠ͳΒͳ͍ • ߴॲཧɺඇಉظॲཧ͕ඞਢ
ݱͷVimͷ AutoCompleteͱ
Αࣗ͠AutoComplete ϓϥΪϯΛ࡞Ζ͏ʂ • ͪΐͬͱ·ͬͯ • ଞͷAutoCompleteͱׯব • ϓϥάΠϯ͝ͱʹॏෳͨ͠ॲཧ • VimͷΠϕϯτϑοΫ/ίϯςΩετऔಘ/֤छνΣοΫ
• ඇಉظιʔεऔಘͷࠔ͞ • VimͱNeoVimͷ྆ରԠͭΒͦ͏...
Completion Manager • ΠϕϯττϥοΩϯά͔Βิιʔεऔಘɺ ϙοϓΞοϓ੍ޚͳͲΛߦ͏ิϑϨʔϜϫʔ Ϋ
Completion Manager • ίΞͷิػೳͱิιʔεΛΠϯλϑΣʔ εܦ༝Ͱૄ݁߹ʹ • ิιʔεΛϓϥάΠϯՄೳ͔ͭݸผ։ൃ͕ Մೳ • ิιʔε։ൃऀΠϯλϑΣʔεʹै͑
ൺֱత؆୯ʹߴͳิͷԸܙΛड͚Δ
Completion Managerͷߏ $PNQMFUJPO.BOBHFS 4PVSDF ΠϕϯττϥοΩϯά ิιʔεґཔ ิީิදࣔ ิιʔεऔಘ ิιʔε ίʔϧόοΫ
BTZOD DUY
۩ମྫ • deoplete.nvim • https://github.com/Shougo/deoplete.nvim/wiki/Completion- Sources • asyncomplete.vim • https://github.com/prabirshrestha/
asyncomplete.vim#sources • coc.nvim • https://github.com/neoclide/coc.nvim#completion-sources
Completion ManagerͰ շదͳੜ׆Λ
એ
2019/11/03
None
Keynote speaker • Prabir Shrestha • asyncomplete.vim • lookcomplete.nvim΄΅͜Εͷ؆қ൛ •
async.vim • vim-lsp
Speaker • Shougo(҉ࠇඒແԦ) • deoplete.nvim • Completion Manager࠷ڧͷ֦ுੑ • ϦϞʔτϓϥάΠϯͷද֨
Keynote speaker • Justin M. Keyes • NeoVim • Ϧʔυϝϯςφʔ
Lightning Talk • lighttiger2505 • deoplete-vim-lsp • deoplete.vimͱvim-lspʹ͓ΜͿʹͩͬ͜
Let's enjoy VimConf2019