Posts

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

Powerline-bash, vim-powerline - zmiany

Image
Powerline-shell W listopadzie napisałem posta na temat powerline-bash . Warto wiedzieć, że repo zmieniło nazwę i jest teraz dostępne pod adresem powerline-shell . Całą dyskusję na temat zmiany nazwy można zobaczyć tutaj . Powerline Drugą dość ciekawą informacją jest to, iż prace na rozwojem vim-powerline zostały porzucone. Ale nie bój się! Plugin jest nadal dostępny, nie mniej jednak polecam przesiadkę na powerline . Oferuje to samo co vim-powerline, dodatkowo ma możliwość podpięcia również pod konsolę oraz co jest oczywiste będzie dalej rozwijany. Poniżej zamieszczam dwa screeny z obu skryptów. Najlepiej samemu przetestować i wybrać ten który najbardziej się spodoba. Osobiście korzystam z powerline-shell w konsoli, a z powerline w vimie. Jakoś powerline-shell jest dla mnie bardziej przejrzysty ;) powerline powerline-shell

Vim cheat sheet

Image
Jakiś czas temu natknąłem się w necie na dwie dość ciekawe ściągawki do vima. Warto by się z nimi zapoznać lub mieć niedaleko siebie podczas pracy. Kilka razy już mi się przydały. Tak się zastanawiam czy sobie jakiegoś własnego cheat sheet nie zrobić w formie plakatu i walnąć za monitorem ;). Klik w obrazek po więcej.

Submoduły na github.com

Image
Submoduły Submoduły, czyli co zrobić, żeby np. na githubie w jednym repo umieścić inne repozytoria, aby wyglądało to tak jak poniżej, a nie tak jak na przykład tutaj . Do czego się w ogóle przydają submoduły i dlaczego powinieneś je stosować? Wyobraź sobie, że tworzysz swoje repozytorium, które do poprawnej pracy wymaga innych, konkretnych repozytoriów gita. I tutaj z pomocą przychodzą submoduły. Dzięki nim twoje repozytorium będzie posiadało informacje o tym, gdzie dany submoduł się znajduje (jego adres) oraz jego ostatnie commit ID. Dzięki takiemu zabiegowi, inni developerzy, którzy sklonują twoje repo (które wykorzystuje inne repozytoria), nie będą musieli się martwić, czy wszystko będzie działało tak jak powinno. Unikniesz przez to czasami dziwnych błędów. Np. ktoś dociągnie zbyt stare repozytorium lub zbyt nowe, albo całkowicie inną gałąź, niż tą które wykorzystuje twoje repo ;) Osobiście póki co, użyłem submodułów w moim repo dotfiles . Dodawanie submodułów Załóż