Posts tagged ‘vim’

Eksperyment vim

2007-09-19 15:01

Ci, którzy oprócz (albo zamiast) popularnych Okienek pracują w innych systemach operacyjnych, zapewne znają pewien edytor tekstu o nazwie vim. To jeden z tych kultowych programów ery początków Uniksa, które nadal mają swoich zagorzałych zwolenników. Wśród dzisiejszych programistów nie jest on może bardzo popularny, ale przez to jego używanie czasami wydaje się być jakimś wyższym stopniem wtajemniczenia. Sam aczkolwiek znam kilku koderów, którzy się nim posługują. Parę tygodni temu postanowiłem więc sprawdzić, co w trawie piszczy i zobaczyć, czy w praktyce legendarny interfejs vima faktycznie sprawuje się tak dobrze.

Dla mniej zorientowanych wyjaśniam, że vim (podobnie jak jego poprzednik vi) to edytor tekstu oryginalnie przeznaczony do pracy w konsoli. Jego interfejs jest tak naprawdę wybitnie ascetyczny, bo oprócz treści dokumentu składa się na niego tylko jednolinijkowy wiersz statusu i poleceń, umieszczony na dole.
Cechą charakterystyczną tego edytora jest między innymi to, że wszystkie polecenia można w nim wykonać przy pomocy alfanumerycznej części klawiatury. Nawet poruszanie się po tekście jest możliwe nie tylko strzałkami, ale też klawiszami H, J, K i L! Tak działają one aczkolwiek tylko w tzw. trybie Normalnym. vim ma oprócz tego też tryb Wstawiania (bardzo podobny do zwykłych edytorów tekstu) oraz Wizualny (do zaznaczania). Przełączanie się między nimi odbywa się oczywiście za pomocą odpowiednich skrótów klawiaturowych.

gVim w trybie normalnym gVim w trybie wstawiania gVim w trybie wizualnym

Dla nowicjusza wyglądają one cokolwiek dziwnie, podobnie jak sam sposób obsługi edytora polegający właśnie na przełączaniu między trybami. Jak mówi anegdota, najprostszy sposób na wygenerowanie losowego ciągu znaków to: posadzić początkującego przed vimem i kazać mu wyjść :)
Na początek warto więc wiedzieć, że służy do tego komenda :q (lub :q!) :P Nauka reszty podstaw potrzebnych do obsługi edytora nie zajmuje zresztą wiele czasu, jeżeli zrobimy to z tutorialem dołączonym do windowsowej wersji edytora – gVim.

Jakie można z tego odnieść korzyści? Zaprzysięgli fani vima utrzymują, że używanie go znacząco zwiększa szybkość i wygodę pisania, także kodu. Rzeczywiście posiada on kilka funkcji użytecznych dla programistów – jak na przykład wyszukiwanie par nawiasów. Poza tym koderzy cały czas stukają w klawiaturę, zatem możliwość obsługi edytora kilkunastoma klawiszami umieszczonymi blisko siebie powinna teoretycznie usprawniać pracę.
W praktyce obserwowałem kilka razy programistów pracujących w vimie i nie mogłem oprzeć się wrażeniu, iż strasznie się oni męczą. Sam próbując używać tego programu do codziennej pracy zauważyłem, że zmusza on do myślenia o strukturze tekstu – słowach, linijkach – o wiele bardziej niż ‘zwyczajne’ edytory. Ostatecznie to, że vim rzeczywiście poprawia wygodę programowania nie wydało mi się wcale oczywiste.
Jest natomiast wcale niewykluczone, że ten edytor jest bardzo dobry do pisania zwyczajnych tekstów dla osób, które biegle opanowały sztukę stukania w klawisze wszystkimi palcami obu dłoni. Wówczas fakt, że nie muszą one zdejmować dłoni z klawiatury aby np. coś poprawić, jest na pewno korzystny. Kod jest natomiast znacznie mniej regularnym tekstem, a szybkość jego wpisywania ma drugorzędne znaczenie. Większość czasu poświęconego na programowanie zajmuje przecież myślenie o kodzie, a nie jego wstukiwanie.

Stąd wniosek, że znajomość vima powinna być sporym atutem każdej sekretarki. Czemu wobec tego wszyscy do pisania zwykłych tekstów używają tylko (Open)Office? ;]]

Tags: ,
Author: Xion, posted under Applications » 13 comments

Traktat o wyższości klawiatury

2007-07-26 19:11

Używanie edytora vim zawsze uważałem za rodzaj białej magii. Sam program to przykład bodaj najbardziej oszczędnego interfejsu użytkownika, jaki można sobie wyobrazić – zaledwie jedna linijka tekstu na polecenia. I mimo tego, że prawie nic tam nie widać, można w edytorze zrobić prawie wszystko.
W nieco bardziej współrzędnych aplikacjach mamy na szczęście nieco bardziej rozwinięte sposoby sterowania. Paski menu, paski narzędzi (a ostatnio wzorowane na Office 2007 jakieś dziwne hybrydy tychże), dokowalne okienka opcji, gesty myszy, i tak dalej. Wszystkie opcje są więc widoczne i “doskonale dostępne”, jak zwykle twierdzą twórcy.

Mimo tych wszystkich wynalazków cały czas każdy dobrze skonstruowany program można obsługiwać najszybciej przy pomocy klawiatury. Wprawdzie polecenia tekstowe wyszły już z mody (i zbytnio mi to nie przeszkadza), ale inne narzędzia ciągle istnieją i mają się świetnie. Mówię tu o często niedocenianych przez nowicjuszy skrótach klawiaturowych.
Przyznam szczerze, że dopiero niedawno zbliżyłem się do punktu, który można nazwać w miarę sensownym wykorzystaniem potencjału tych udogodnień. Nie mówię tu rzecz jasna o takich oczywistościach jak Alt+F4 :) Chodzi mi raczej o bardziej przydatne skróty czy nawet same klawisze – jak choćby:

  • Win+D, Win+R – w samym systemie operacyjnym
  • Home, End, Page Up, Page Down – do poruszania się w tekście
  • Shift + ew. Ctrl + strzałki – do zaznaczania
  • Ctrl+(+), Ctrl +(-) – do przeskakiwania między miejscami w kodzie w Visual Studio
  • F7, Ctrl+F7, F5, Ctrl+F5 – do kompilacji i uruchamiania programów w VS
  • F9, F10, F11 – do debugowania w VS

Korzystanie z nich – a także z wielu innych użytecznych kombinacji – jest naprawdę bardzo wygodne. Kto wie, może jeśli sterowanie głosem stanie się doskonalsze, to przy jego wykorzystaniu w połączeniu ze skrótami (szybkość!) będziemy mogli ostatecznie pozbyć się gryzoni :) No, pomijając oczywiście gry!

Tags: ,
Author: Xion, posted under Computer Science & IT » 1 comment
 


© 2018 Karol Kuczmarski "Xion". Layout by Urszulka. Powered by WordPress with QuickLaTeX.com.