Posts

Vim tagbar

Image
Tagbar pomaga wtedy gdy w module masz dużo kodu i jest ci trudno ogarnąć, co gdzie jest (np. po wcześniejszej osobie, która pisała kod). Jeżeli korzystasz z pathogen to instalacja jak się domyślasz jest banalna: cd ~/.vim/bundle git clone https://github.com/majutsushi/tagbar.git Dodatkowo musisz mieć w systemie Exuberant Ctags . Szybka instalacja pod Ubuntu: sudo apt-get install ctags W pliku .vimrc możesz jeszcze dodać: nmap <F8> :TagbarToggle<CR> Umożliwi ci to na szybki dostęp do Tagbar wciskając F8 . Tak to wygląda dla kodu pythona: Tagbar vim  Kilka przydatnych skrótów klawiszowych: enter/double click - przenosi Cię do taga, na który wskazałeś kursorem (na screenie widać, że przeniosło mnie do metody route ) s - sortowanie tagów według kolejności występowania lub według nazwy (domyślnie jest według kolejności występowania) p - przenosi do danego tagu, lecz kursor pozostaje w tagbarze -/+ - zwija/rozwija tagi, np. importy czy klasy =/* - zwij

Vim i gitgutter

Image
Kilka dni temu trafiłem na plugin vim-gitgutter i postanowiłem go wypróbować. W wielkim skrócie plugin odpowiada za pokazywanie w którym miejscu w pliku dokonałeś zmian, coś jak git diff . Korzystam z pathogen , więc aby zainstalować plugin wklepałem: cd ~/.vim/bundle git clone git://github.com/airblade/vim-gitgutter.git I już można się bawić. Posiedziałem nad nim chwilę i naprawdę mi się spodobał, lecz musiałem wprowadzić kilka swoich poprawek :) Po pierwsze, wyłączyłem domyślne pokazywanie różnic, a zbindowałem sobie komendę GitGutterToggle pod <leader>gr . Dzięki temu jak chcę zobaczyć różnicę to wciskam ,gr (klawisz <leader> mam zbindowany pod ","), a jak chcę wyłączyć to wciskam znów to samo. Dodatkowo zbindowałem sobie komendy GitGutterNextHunk i GitGutterPrevHunk odpowiednio pod <leader>d oraz <leader>s . Mogę przez to w łatwy i szybki sposób poruszać się po pliku skacząc z jednej zmiany na drugą. Tak to wygląda w pliku .vimrc :

Anki i volume

Ostatnio nie wiadomo z jakich przyczyn (najprawdopodobniej jakiś program nadpisał mi configa .mplayer/config ) anki nagle zaczęło odtwarzać wszystkie pliki audio bardzo cicho. Anki do odtwarzania audio korzysta z mplayera , więc od razu było wiadomo gdzie muszę szukać przyczyny. Pierwsze co znalazłem na ten temat w man mplayer to informacja o tym, aby pobawić się głośnością. Dodałem więc do configa linijkę: af=volume=10:0 Dzięki temu, każdy plik otwierany przez mplayer był wzmocniony o 10dB. Warto pamiętać, że jest to skala logarytmiczna, jak podasz 100 to wcale nie będzie głośniejsze sto razy, tylko dziesięć miliardów. Zadziałało, ale gdy podaje się zbyt dużą głośność to filtr ją przycina, aby do karty muzycznej nie przesyłać danych spoza akceptowalnego zakresu, co dla nas objawia się tym, że dźwięk jest zniekształcony. Zmniejszyłem więc do 5dB (i do mniejszych wartości), ale dalej to samo. Dźwięk w niektórych momentach zostaje zniekształcony i po jednym odtworzeniu pliku, d

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