Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
[PL] Jak napisać prosty plugin do VIMa w Pythonie
Search
Łukasz Balcerzak
November 12, 2012
Programming
0
240
[PL] Jak napisać prosty plugin do VIMa w Pythonie
Łukasz Balcerzak
November 12, 2012
Tweet
Share
More Decks by Łukasz Balcerzak
See All by Łukasz Balcerzak
Python 3 w 2013 i trochę o przyszłości
lukaszb
0
200
[PL] Porunga - narzędzie do testowania algorytmów
lukaszb
0
50
[PL] Automatyzacja Testów
lukaszb
2
130
Other Decks in Programming
See All in Programming
XSLTで作るBrainfuck処理系
makki_d
0
200
Java on Azure で LangGraph!
kohei3110
0
130
try-catchを使わないエラーハンドリング!? PHPでResult型の考え方を取り入れてみよう
kajitack
3
510
Beyond Portability: Live Migration for Evolving WebAssembly Workloads
chikuwait
0
370
Cline指示通りに動かない? AI小説エージェントで学ぶ指示書の書き方と自動アップデートの仕組み
kamomeashizawa
1
500
Julia という言語について (FP in Julia « SIDE: F ») for 関数型まつり2025
antimon2
3
950
ktr0731/go-mcpでMCPサーバー作ってみた
takak2166
0
170
The Evolution of Enterprise Java with Jakarta EE 11 and Beyond
ivargrimstad
1
710
GraphRAGの仕組みまるわかり
tosuri13
6
330
アンドパッドの Go 勉強会「 gopher 会」とその内容の紹介
andpad
0
210
つよそうにふるまい、つよい成果を出すのなら、つよいのかもしれない
irof
1
290
TypeScript LSP の今までとこれから
quramy
1
500
Featured
See All Featured
Speed Design
sergeychernyshev
31
990
Writing Fast Ruby
sferik
628
61k
Building Applications with DynamoDB
mza
95
6.4k
Gamification - CAS2011
davidbonilla
81
5.3k
Navigating Team Friction
lara
186
15k
Building a Modern Day E-commerce SEO Strategy
aleyda
41
7.3k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
16k
Embracing the Ebb and Flow
colly
86
4.7k
Rails Girls Zürich Keynote
gr2m
94
14k
Balancing Empowerment & Direction
lara
1
310
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
29
2.7k
Build your cross-platform service in a week with App Engine
jlugia
231
18k
Transcript
Jak napisać prosty plugin do VIMa w Pythonie Łukasz Balcerzak
Tuesday, November 13, 12
O mnie • Łukasz Balcerzak •
[email protected]
• github.com/lukaszb •
bitbucket.org/lukaszb • @lbalcerzak Tuesday, November 13, 12
Plan • Struktura plugin’ów VIM’a • Podstawowy skrypt .vim (klej)
• Testowanie • Problemy Tuesday, November 13, 12
Struktura • myplugin/ • myplugin/plugin/ • myplugin/plugin/myplugin/ <= pliki *.py
• myplugin/plugin/myplugin.vim <= klej • myplugin/doc/myplugin.txt Tuesday, November 13, 12
Struktura 2 • Taka struktura ułatwia innym użytkownikom używanie plugin’u
• zazwyczaj wystarczy wrzucić do ~/.vim/ bundle/ Tuesday, November 13, 12
Klej • Nawet najprostszy plugin musimy zacząć od pisania w
... vim scripting language Tuesday, November 13, 12
Klej 2 Tuesday, November 13, 12
Klej 3 Tuesday, November 13, 12
Python - nareszcie Tuesday, November 13, 12
Python - i tyle? • Oczywiście, że nie ... Tuesday,
November 13, 12
Python - i tyle? Tuesday, November 13, 12
+ testy • Testowanie to tak naprawdę najciekawsza część tworzenie
plugin’a Tuesday, November 13, 12
+ testy • Standardowo: - uruchamiamy vim’a - wpisujemy tekst/otwieramy
bufor z przygotowanym tekstem - ustawiamy kursor w odpowiednim miejscu - odpalamy :MyPluginFunction() Tuesday, November 13, 12
+ testy Tuesday, November 13, 12
+ testy • Ups... no ale to Python! Przecież testowanie
jest łatwe i przyjemne! Tuesday, November 13, 12
+ testy Tuesday, November 13, 12
+ testy Tuesday, November 13, 12
+ testy • Problem? Tuesday, November 13, 12
+ testy • Work in progress: • https://github.com/lukaszb/vimmock Tuesday, November
13, 12
+ testy Tuesday, November 13, 12
Demo Tuesday, November 13, 12
Problem? • Python3 • Większość pluginów jest już napisana ...
• http://www.vim.org/scripts/index.php • http://vim-scripts.org/ Tuesday, November 13, 12
Linki / inne • github.com/lukaszb/vimmock • github.com/lukaszb/vimper • @lbalcerzak •
[email protected]
Tuesday, November 13, 12
Pytania? • github.com/lukaszb/vimmock • github.com/lukaszb/vimper • github.com/lukaszb/superpy Tuesday, November 13,
12