Posts

VimFx - skróty z vima w ff

Image
VimFx oferuje możliwość używania skrótów z vima w przeglądarce firefox. Co mnie skusiło, aby go wypróbować? Mnogość opcji na którą składają się: szybkie wyłączenie dodatku na danej stronie ;) łatwe dodawanie stron za pomocą wyrażeń regularnych do blacklisty włączenie/wyłączenie każdego skrótu szybki help (wciskasz ? ) szukanie via Vim skakanie po tabach nawigacja po stronie Repo projektu na githubie: VimFx - znajdziesz tu od razu skróty klawiszowe.

Vim Commands dla Anki

Znalazłem ciekawy deck (flashcard?) dla Anki . Ukrywa się pod nazwą  Vim Commands . Codziennie po 5 nowych komend nikomu nie zaszkodzi. Gość ma jeszcze repo na githubie, więc zawsze można dodawać coś od siebie i dzielić się ze światem. Na start jest 239 komend. Jeżeli ustawisz sobie po 5 nowych komend dziennie, to po dwóch miesiącach powinieneś już sprawnie nimi operować.

Update wszystkich submodułów w GIT

Image
Jeżeli w swoim repozytorium gita korzystasz z kilku/kilkunastu repozytoriów to po dłuższej chwili zacznie cię mocno irytować taka rutyna: wchodzę w submoduł sprawdzam gałąź, czy jest na master odpalam git pull wychodzę z submodułu Jest na to łatwy sposób. Wystraczy wklepać w konsoli: git submodule foreach git pull Ale uwaga, tutaj niespodzianka ;) Jeżeli dopiero co zassałeś swoje repozytorium w którym masz submoduły, to aby działały musisz najpierw odpalić: git submodule init git submodule update --recursive wszystko się oczywiście wykona, ale submoduły zostaną zaktualizowane do konkretnego commita , którego ustawiłeś wykonując wcześniej git push . Co implikuje to, że nie będziesz miał ustawionej gałęzi w żadnym z submodułów. Submoduł będzie wskazywał na konkretnego commita, a nie na gałąź. git submodule update --recursive Jest to oczywiście normalne i tak powinno to działać! Taka jest idea submodułów. Odwołują się do commita, którego im przypisałeś, a nie do konkre

Vim-snipmate i python

Image
Trafiłem ostatnio na dość ciekawy plugin do vima, a mianowicie na vim-snipmate . Jest to fork z repo snipmate.vim , które autor przestał rozwijać jakieś 3-4 lata temu. vim-snipmate Czym jest snipmate? Jest to plugin, który pomaga dopełniać  pisany przez ciebie kod. Przykładowo, wpisujesz def  lub cl , wciskasz <tab>  i plugin sam dalej tworzy funkcję czy klasę. Postanowiłem, że stworzę video i pokażę jak plugin się sprawdza przy pisaniu w pythonie. Bardzo mocno go polecam. Tym bardziej, że wspiera praktycznie każdy popularniejszy  format . Video Instalacja Zakładam, że używasz pathogen . Jeżeli nie, zajrzyj tutaj . Przy okazji polecam ten post , w którym opisuję praktycznie krok po kroku jak zrobić sobie Python IDE. cd ~/.vim/bundle git clone git://github.com/garbas/vim-snipmate.git git clone https://github.com/tomtom/tlib_vim.git git clone https://github.com/MarcWeber/vim-addon-mw-utils.git git clone https://github.com/honza/snipmate-snippets.git I tyle, jeżeli

Cron i zc.lockfile

Musiałem dzisiaj napisać skrypt, który odpalał się co minutę poprzez crona i mogło się zdarzyć, że będzie wykonywał się trochę dłużej niż jedna minuta. Dlatego też, trzeba było wymyślić jakiś mechanizm, który by mnie uchronił przed odpaleniem skryptu kolejny raz, gdy ten jeszcze się nie wykonał. Z pomocą przyszedł mi moduł zc.lockfile . Instalujesz go normalnie poprzez pipa: pip install zc.lockfile Jak działa zc.lockfile? Krótki opis: The zc.lockfile package provides a basic portable implementation of interprocess locks using lock files. The purpose if not specifically to lock files, but to simply provide locks with an implementation based on file-locking primitives. Of course, these locks could be used to mediate access to  other  files. For example, the ZODB file storage implementation uses file locks to mediate access to file-storage database files. The database files and lock file files are separate files. Ja go użyłem w następujący sposób, w skrypcie zdefiniowałem odpo