Komputery, oprogramowanie, internet i okolice
Blog > Komentarze do wpisu

VIM plugin dnia - Conque Shell - terminal w VIMie

Podczas prac programistycznych często trzeba na szybko wykonać jakiś fragment kodu, lub sprawdzić coś w konsoli. Zdawałoby się, że najprostszym rozwiązaniem jest wykonanie komedy :sh by uruchomić shell, zrobić co się ma do zrobienia i wrócić do VIMa. Ewentualnie zastosować bashowe Ctrl-Z i wrócić za pomocą fg. Niby tak, ale wtedy tracimy z oczu pisany kod, a włączanie za każdym razem, dajmy na to, interpretera Pythona wygodne na pewno nie jest.

Conque Shell - conque_term.vim

Conque Shell - bash w okienku VIMa

Jeśli ktoś nie ma ochoty na taką gimnastykę z pomocą przychodzi Conque Shell pozwalający na uruchomienie terminala w buforze VIMa. Z tego co widzę od wersji 2.0 wspierany jest również system Windows.

Instalacja

By zainstalować plugin najprościej ściągnąć Conque Shell spakowany jako vimball (plik z rozszerzeniem .vba), następnie otworzyć go w VIMie i wykonać :so % - wszystkie pliki zostaną skopiowane do właściwych katalogów, a tagi dla pliku pomocy zostaną wygenerowane. Zawsze też można pobrać zwykłe archiwum i ręcznie skopiować pliki do katalogu ~/.vim/.

Konfiguracja i użytkowanie

Obsługa pluginu Conque Shell jest dziecinnie prosta. Wystarczy wykonać :ConqueTerm [polecenie] by uruchomić dany program w bieżącym oknie. Można też użyć :ConqueTermSplit lub :ConqueTermVSplit by wykonać polecenie w nowym oknie dzieląc je odpowiednio w poziomie lub pionie. Jednak ze względu na brak możliwości ustawienia domyślnego umiejscowienia okna Conque Shell (prawa/lewa strona, góra/dół) ja osobiście wolę ręcznie podzielić okno za pomocą :sp lub :vsp, ustawić pożądany rozmiar i dopiero wtedy otworzyć Conque Shell.

W trybie INSERT sterowanie klawiatury przekazane jest do konsoli, by powrócić do VIMa wystarczy nacisnąć ESC. Jeśli chcemy użyć klawisza ESC w uruchomionym programie należy nacisnąć ten klawisz dwa razy. Ewentualnie można ustawić własny klawisz, za pomocą którego będziemy przełączać sterowanie z Conque Shell spowrotem do VIMa za pomocą:

let g:ConqueTerm_EscKey = '<C-q>'

Jeśli chcemy wysyłać do programu uruchomionego w Conque Shell naciścnięcia klawiszy funkcyjnych musimy ustawić:

let g:ConqueTerm_SendFunctionKeys = 1

Jeśli chcemy przełączać się pomiędzy oknami VIMa bez opuszczania trybu INSERT w Conque należy użyć:

let g:ConqueTerm_CWInsert = 1

By poprawić szybkość działania można w ustawieniach wyłączyć obsługę kolorów, czy też przejść do trybu Fast Mode wyłączającego wszelkie opcje, które mogą spowalniać:

let g:ConqueTerm_Color = 0

let g:ConqueTerm_FastMode = 1

Przydatna może być jeszcze możliwość wykonania aktualnie edytowanego pliku po naciśnięciu F11, wysłanie zawartości aktywnego pliku do ostatnio otwartego okna Conque za pomocą F10, czy też wysłanie zaznaczonego tekstu (w trybie VISUAL!) za pomocą F9.

Werdykt

Jest to rozwiązanie niezwykle ciekawe. Mimo kilku niedoskonałości (na przykład problemy z prawidłowym wyświetlaniem kolorów) radzi sobie bardzo dobrze i bywa niesamowicie przydatne.

Na koniec taki mały żarcik z użyciem Conque Shell...

VIM - Incepcja!

...VIMowa Incepcja jak się patrzy! :)

niedziela, 10 kwietnia 2011, kosciak1

Polecane wpisy

TrackBack
TrackBack w tym blogu jest moderowany. TrackBack URL do wpisu:
Spis Treści
Kanały RSS
Add to Google
Add to Netvibes