Upgrade to Pro — share decks privately, control downloads, hide ads and more …

[PL] Jak napisać prosty plugin do VIMa w Pythonie

[PL] Jak napisać prosty plugin do VIMa w Pythonie

E9713ac84ec5002229dc81eba8cd5c37?s=128

Łukasz Balcerzak

November 12, 2012
Tweet

Transcript

  1. Jak napisać prosty plugin do VIMa w Pythonie Łukasz Balcerzak

    Tuesday, November 13, 12
  2. O mnie • Łukasz Balcerzak • lukaszbalcerzak@gmail.com • github.com/lukaszb •

    bitbucket.org/lukaszb • @lbalcerzak Tuesday, November 13, 12
  3. Plan • Struktura plugin’ów VIM’a • Podstawowy skrypt .vim (klej)

    • Testowanie • Problemy Tuesday, November 13, 12
  4. Struktura • myplugin/ • myplugin/plugin/ • myplugin/plugin/myplugin/ <= pliki *.py

    • myplugin/plugin/myplugin.vim <= klej • myplugin/doc/myplugin.txt Tuesday, November 13, 12
  5. Struktura 2 • Taka struktura ułatwia innym użytkownikom używanie plugin’u

    • zazwyczaj wystarczy wrzucić do ~/.vim/ bundle/ Tuesday, November 13, 12
  6. Klej • Nawet najprostszy plugin musimy zacząć od pisania w

    ... vim scripting language Tuesday, November 13, 12
  7. Klej 2 Tuesday, November 13, 12

  8. Klej 3 Tuesday, November 13, 12

  9. Python - nareszcie Tuesday, November 13, 12

  10. Python - i tyle? • Oczywiście, że nie ... Tuesday,

    November 13, 12
  11. Python - i tyle? Tuesday, November 13, 12

  12. + testy • Testowanie to tak naprawdę najciekawsza część tworzenie

    plugin’a Tuesday, November 13, 12
  13. + testy • Standardowo: - uruchamiamy vim’a - wpisujemy tekst/otwieramy

    bufor z przygotowanym tekstem - ustawiamy kursor w odpowiednim miejscu - odpalamy :MyPluginFunction() Tuesday, November 13, 12
  14. + testy Tuesday, November 13, 12

  15. + testy • Ups... no ale to Python! Przecież testowanie

    jest łatwe i przyjemne! Tuesday, November 13, 12
  16. + testy Tuesday, November 13, 12

  17. + testy Tuesday, November 13, 12

  18. + testy • Problem? Tuesday, November 13, 12

  19. + testy • Work in progress: • https://github.com/lukaszb/vimmock Tuesday, November

    13, 12
  20. + testy Tuesday, November 13, 12

  21. Demo Tuesday, November 13, 12

  22. Problem? • Python3 • Większość pluginów jest już napisana ...

    • http://www.vim.org/scripts/index.php • http://vim-scripts.org/ Tuesday, November 13, 12
  23. Linki / inne • github.com/lukaszb/vimmock • github.com/lukaszb/vimper • @lbalcerzak •

    lukaszbalcerzak@gmail.com Tuesday, November 13, 12
  24. Pytania? • github.com/lukaszb/vimmock • github.com/lukaszb/vimper • github.com/lukaszb/superpy Tuesday, November 13,

    12