Archiwum kategorii: programowanie

vim snippetsemu i liquibase

W ostatnim wpisie pisałem o snippetsEmu dla vim‘a, a dziś załączam zestaw snippetów, których używam przy pracy z liquibase.

Liquibase to całkiem miłe narzędzie napisane w Javie do śledzenia, zarządzania i wprowadzania zmian w bazach danych. Zmiany opisuje się w pliku (plikach) xml i wpisywanie oraz pamiętanie tej składni można sobie uprościć przy pomocy vim’a i snippetów.

Snippet umieszczamy razem z pozostałymi, najczęściej w .vim/after/ftplugin/.
Najprościej zacząć otwierając np. migration.xml, wpisując lhelp i wcisnąć TAB. Otrzymamy małą pomoc i możemy zaczynać wpisywać kolejną migrację :)

 » xml_snippets.vim.

best vim plugins

Dziś robiłem porządki w ~/.vim/ . Aktualizacje do nowych wersji pluginów, wyrzucanie nieużywanych, porządki w ~/.vimrc. W trakcie tej pracy powstała lista pluginów, dzięki którym miło mi się pracuje

vimball

Plugin zajmujący się pluginami dostarczanymi w paczkach .vba i pozwalający też takie paczki tworzyć, w praktyce potrzeby mi by instalować paczki .vba

 » vimball

snippetsEmu

Emuluje zachowanie snippetów z TextMate. Na przykład w pliku sometest.py wpisujesz ‘for<tab>’, uzupełniasz brakujące miejsca poruszając się klawiszem <tab> i otrzymujesz pełną pętle. Inne użyteczne snippety dla pythona to: prop – property, get – def get_.., set – def set_.., def – def .., cm – classmethod, cl – class .. oraz ifn, ifmain, sb, sbu, sbl1, trye, tryf, tryef, unittest.

Domyślnie dostarczone są 32 zestawy snippetów dla wielu języków programowania, opisu oraz frameworków (django, rails, symfony).

 » snippetsEmu

neocomplcache

System tzw ‘dopełniania’ (podpowiadania) i to właśnie robi. Dopełnia nazwy metod, funkcji, atrybuty html, nazwy plików, itp. Trzeba po prostu zobaczyć i używać.

 » neocomplcache

project

Bardzo prosty i skuteczny system pozwalający w bocznym oknie przeglądać wybrane lub wszystkie pliki z jednego lub wielu projektów. Każdy projekt ma zdefiniowany katalog, dzięki czemu otwarcie pliku z projektu (wciskamy ‘enter’ bedąc ‘nad’ plikiem) nastąpi równocześnie z przejściem do katalogu projektu. W ten sposób pliki projektu jak np ‘tags’ (ctags) zostaną poprawnie wczytane.

 » project

simple pairs

Proste dopełnianie dla „, ‘, {, (, [ . Wpisanie znaku otwierającego powoduje automatyczne dopisanie znaku zamykającego. W przypadku {, (, [ gdy sami wpiszemy znak zamykający, nie zostanie on zdublowany. Kursor po prostu przesunie się dalej. Dla „, ‘ zostanie jednak stworzona kolejna para. Krótkie i skuteczne.

 » simple pairs

vcscommand

Plugin pozwalający wykonywać komendy dla CVS, SVN, SVK, git, bzr, and hg przy pomocy vim’a. Jeden zestaw komend bez względy na system kontroli wersji.

 » vcscommand

Niewiele tego, ale te pluginy, git (post/pre hooki), bash + zestaw skryptów wystarcza mi do pracy :)

lint dla php

Za dnia piszę najczęściej w php i zazdroszczę pythonowi pylinta.

Z ciekawości zagooglałem i znalazłem rozwiązanie dla PHP sprawdzające Coding Standard:

pear install PHP_CodeSniffer
phpcs --standard=Zend SomeTest.class.php

phpcs -i podaje dostępne standardy:

  • PEAR
  • MySource
  • PHPCS
  • Squiz
  • Zend

Mi najbardzie odpowiada Zend co widać po wynikach lintowania, najczęściej 0 ostrzeżeń i błędów ;) .

phpcs pozwala także tworzyć swoje własne standardy kodowanie oraz – co bardzo mnie cieszy – podpiąć go jako precommit hook do svn’a.