Vim - nie tylko do programowania...

Forumowy magiel: pogaduchy o wszystkim i o niczym.
kicior99
Piegowaty Guziec
Piegowaty Guziec
Posty: 6
Rejestracja: 15 wrz 2014, 21:08
Płeć: Mężczyzna
Wersja Ubuntu: 14.04
Środowisko graficzne: Xfce
Architektura: x86_64

Vim - nie tylko do programowania...

Post autor: kicior99 »

Na samym początku chcę zaznaczyć, że nie jestem informatykiem ani programistą a dziennikarzem i tłumaczem. Całe moje komputerowe życie, od pierwszej maszyny, PC XT z dwiema dyskietkami 5.25', edytor czy też później procesor tekstu był podstawowym programem w pracy dziennikarskiej, translatorskiej, wreszcie do zwykłego pisania. Przerabiałem masę edytorów: zacząłem od Word Perfect z dyskietki, później był chi writer, DOS-edit, TAG, Poltype (dla tych, którzy nie wiedzą - polski edytor do archaicznego, dosowskiego DTP o nazwie POLSET, wymagający specjalnej klawiatury), AmiPRO, Write (Windows 3.11), później większość wersji MS Word (pierwsza nagroda za wrażenia artystycznie - najbardziej malowniczo zawieszały się w najważniejszym momencie), windowsowy notatnik wraz z kilkoma zamiennikami, Gedit, Kate, Open Office... Na tych zatrzymałem się na dłużej, tych, które przetrwały tydzień testowania nawet nie wspomnę.

Charakter mojej pracy zawsze wymagał koncentrowania się bardziej na zawartości tekstu niż na tym, jak on wygląda. Dlatego nie przypadały mi do gustu rozdmuchane, bombastyczne procesory typu MS Word, zajmujące się głównie konsumowaniem masy pamięci w moich zawsze za słabych komputerach i laptopach a dające niewiele w zamian. Żaden też nie wspierał odpowiednio pracy w trybie wielu okien i z wieloma plikami w czystym ASCII, będącymi najczęściej naprędce wyedytowanymi notatkami lub zapiskami z prób redagowania tekstu. Z reguły edytowanie było bardziej skupione na marnowaniu energii na logistyce: ruchach klawiaturą - mysz, sprawdzaniu zawartości plików itp., niż na pracy merytorycznej i budowaniu docelowego tekstu. Jako że dużą część pracy wykonywałem na laptopie, nierzadko w warunkach polowych, używanie myszy czy trackpada dodatkowo wydłużało proces powstawania tekstu. Ile przy tym posypało się słów powszechnie uważanych za nieprzyzwoite, nawet nie wspomnę.

Przymiarek do vim-a zaliczyłem sporo. Pierwsza, jeszcze jako vi, zakończyła się ciężką nerwicą, możliwą do zaleczenia tylko kilkoma piwami. Później, już w mojej epoce linuksowej, podchodziłem do niego kilka razy, za każdym razem ucząc się nowych rzeczy, nigdy jednak nie będąc do końca przekonanym. Dopiero powrót do mojego wyuczonego zawodu - tłumaczenia - spowodował, że musiałem przeprosić się z Vim-em.

Przede wszystkim zadecydowały ograniczenia sprzętowe. Mój laptop nie jest demonem szybkości, a na nowy nie mam szans, mam pilniejsze wydatki. Drugim powodem jest praca w wielu oknach na jednym ekranie. Oknach, które nie znikają, gdy chcę się przemieścić w inny region tekstu, którymi mogę świadomie manipulować, które nie buntują się, gdy wywołam im słownik w innym języku a i nawigacja między nimi nie będzie nauką o budowie statków kosmicznych. Kolejna zaleta vim-a to kolorowanie wybranych partii tekstu (w innym języku, przypisów, tłumaczeń roboczych, definicji słownikowych). Jakiś czas korzystałem ze skryptu do redagowania tekstów w składni wiki, od niedawna dysponuję innym, napisanym przez kolegę informatyka, radzącym sobie dodatkowo z przypisami. Ostatnim istotnym argumentem na rzecz vim-a była doskonała nawigacja w tekście i szybkość korekty. Nie spotkałem dotąd edytora, który tak dobrze radziłby sobie z "czeskimi błędami" i zamianą szyku wyrazów.

Oczywiście vim ma kilka wad, będących uciążliwymi zwłaszcza w pracy ze zwykłym tekstem. Jeśli jest intuicyjny, jak to podkreślają jego zwolennicy, poruszanie się w prawo przy pomocy klawisza "L" nie jest na to najlepszym przykładem. Wiele rzeczy jest do opanowania pamięciowego a następnie do wydrylowania (behawioryści pewnie mają w tej chwili używanie...). Nie da się po prostu usiąść i od razu wydajnie pracować w vim-ie bez kilkudniowego treningu. Warto jednak poświęcić ten czas. Inną wadą jest "statyczność" tekstu, niemożliwość choćby powiększenia liter. Jedyna rada - kiedy już naprawdę trzeba, przesiąść się na chwilę do gvima lub emulatora terminala i pracować w trybie okien, co dla mnie osobiście ma sporą wadę - żre baterię, jeśli pracuję w terenie.

Dlaczego zdecydowałem się na edytor przeznaczony w zasadzie do innych zastosowań? Wybór edytora powinien wynikać przede wszystkim z rzeczywistych potrzeb, ergonomii i innych uwarunkowań, na przykład sprzętowych, a nie być efektem mody, ślepego trafu czy ładnego i przekonującego wyglądu (im więcej przycisków w menu tym lepszy edytor...). Praca dziennikarza, a jeszcze bardziej tłumacza ma - przynajmniej na etapie redagowania produktu końcowego - wiele wspólnego. Najczęściej nie polega ona na pisaniu liniowego tekstu typu: "Moje przygody erotyczne na PKP" a kompilowaniu tekstu z wielu składowych, będących często odrębnymi plikami. Sporo w tym wertowania, wyszukiwania, zmiany pozycji, prób i błędów, przenoszenia. Edytory pracujące w trybie graficznym - przynajmniej dla mnie - nie są w takiej pracy wydajne. Że vim czy Kate nie formatują tekstu? A co to za problem poświęcić na to pięć minut na zakończenie pracy w Libre Office? Zresztą po co? Każda redakcja przyjmie tekst w formacie .txt, odbiorcy tłumaczenia może to się nie podobać - dlatego finałowa obróbka będzie w którymś z procesorów. Ale stracę na to pięć minut a nie pół godziny.

Ponieważ nie jestem informatykiem, dość długo musiałem dać się namawiać na stworzenie sprzyjającego mojej pracy pliku .vimrc. Skoro jednak zdecydowałem się na używanie narzędzia informatyków, nie mogłem liczyć na taryfę ulgową i, w atmosferze churchillowskich potu, krwi i łez, vim.rc powstał i wygląda następująco:

Kod: Zaznacz cały

set showcmd		
set showmatch	
set ignorecase
set smartcase
set incsearch
set autowrite
set hidden
set wrapmargin=10
set mouse=a
set linebreak
set hlsearch
set number
set ruler
set spell spelllang=en_GB
"set spelliang=pl
"set spelllang=de
"set spelllang=sv
"set spelllang=fr

syntax enable
set tabstop=8
"%s/sie/się/gc 

map <F10> dwwhp "zamień słowo z następnym
map <F9> xp
map <f8> dapjp "przesuń akapit o jedną pozycję w dół
Może nie jest to szczytowe osiągnięcie informatyki w hrabstwie Somerset, ale działa i usprawnia mi pracę.

Rzecz jasna nie zaklinam się, że to jest ostatni edytor, ten jedyny i najwspanialszy. Oczywiście może być ostatni, jeśli jutro szlag mnie trafi z powodów około- lub pozainformatycznych, ale, nie kracząc, dalej będę miał oczy i uszy szeroko otwarte, gdyż lubię mieć dobre narzędzia do pracy. Chciałem tym tekstem tylko zwrócić uwagę na to, że często szukamy czegoś odpowiedniego, mając gotowe rozwiązania pod ręką - bo któż z nas nie ma vim w swym Linuksie? Osobiście jestem zdania, że to, co najlepsze, zostało już wymyślone, zwróćcie uwagę, że w dziedzinie programów użytkowych dawno już nie powstało nic co zrewolucjonizowałoby pracę na komputerze. Warto więc sięgnąć głębiej, do tego, co już mamy.
Ostatnio zmieniony 16 wrz 2014, 10:41 przez kicior99, łącznie zmieniany 1 raz.
bear7
Przyjaciel
Przyjaciel
Posty: 6686
Rejestracja: 20 sty 2009, 23:12
Płeć: Mężczyzna
Wersja Ubuntu: inny OS
Środowisko graficzne: Inne
Architektura: x86_64
Lokalizacja: pwd

Re: Vim - nie tylko do programowania...

Post autor: bear7 »

Przeniosłem do działu "Pogaduchy", choć wydaje mi się, że dużo bardziej pasowałby do Naszej Czytelni Ubuntu.

Taki mały szczegół, masz jeden akapit napisany dwa razy:
kicior99 pisze:Oczywiście vim ma kilka wad, uciążliwych zwłaszcza w pracy ze zwykłym tekstem. Jeśli jest intuicyjny, jak to podkreślają jego zwolennicy, poruszanie się w prawo przy pomocy klawisza "L" nie jest na to najlepszym przykładem. Wiele rzeczy jest do opanowania pamięciowego a następnie do wydrylowania (behawioryści pewnie mają w tej chwili używanie...). Nie da się po prostu usiąść i od razu wydajnie pracować w vim-ie bez kilkudniowego treningu. Warto jednak poświęcić ten czas. Inną wadą jest "statyczność" tekstu, niemożliwość choćby powiększenia liter. Jedyna rada - kiedy już naprawdę trzeba, przesiąść się na chwilę do gvima i pracować w trybie okien, co dla mnie osobiście ma sporą wadę - żre baterię, jeśli pracuję w terenie.
Gratuluję wyboru i oby ten wybór przetrwał jak najdłużej. ;-)
O pomoc pytaj a forum, a nie przez PW.
Ubek308
Zakręcona Traszka
Zakręcona Traszka
Posty: 574
Rejestracja: 25 maja 2011, 10:17
Płeć: Mężczyzna
Wersja Ubuntu: 11.04
Środowisko graficzne: GNOME
Architektura: x86_64

Re: Vim - nie tylko do programowania...

Post autor: Ubek308 »

Juz dawno u mnie w firmie jest zasada ze pliki konfiguracyjne to tylko w vi.
vi jest WSZEDZIE, jest prosty,nawet vim ma juz sporo wstepnych modyfikacji a nie wszystkie z nich mi leżą.

Wciaz jeszcze mam nauke przed sobą, makra, znaki specjalne itp ale malo kiedy uzywam czegos innego.
Jest tez troche zabawy jesli chce sie uzywac polskich liter, nie wglebialem sie w to za bardzo bo rzadko potrzebuje.

Mozna jeszcze wspomniec ze z vi mozna pracowac w trybie wsadowym, wyskakując do ex-a.
Rzadko uzywana opcja.

Drugim potężnym narzedziem jest emacs, czego nie umiem zrobic w vi - robie w emacsie.
norvoles
Przebojowy Jelonek
Przebojowy Jelonek
Posty: 1113
Rejestracja: 04 sty 2008, 20:58
Płeć: Mężczyzna
Wersja Ubuntu: inny OS
Środowisko graficzne: Inne
Architektura: x86_64

Re: Vim - nie tylko do programowania...

Post autor: norvoles »

Oczywiście vim ma kilka wad, będących uciążliwymi zwłaszcza w pracy ze zwykłym tekstem. Jeśli jest intuicyjny, jak to podkreślają jego zwolennicy, poruszanie się w prawo przy pomocy klawisza "L" nie jest na to najlepszym przykładem.
Robisz to źle. Klawisz L nie służy do "horyzontalnego ruchu w prawo".
Do ruchu w prawo służą m.in.:
w - na początek następnego słowa
e - na koniec słowa
) - na początek następnego zdania
} - do następnego paragrafu
fx - skok do pierwszego wystąpienia znaku x w linii
tx - skok przed wystąpienie pierwszego znaku x w linii
; - powtórz f lub t

W powiązaniu powyższych "ruchów" z "akcjami" np. poleceniami kopiowania (y), wycinania (d), zmiany (c) możesz formułować polecenia np.
dw - usunie słowo (od kursora do końca)
diw - usunie całe słowo
2di) - usunie aktualne i następne zdanie
. - powtarza ostatnie polecenie

A to dopiero początek.

Do pracy z czystym tekstem nie ma lepszego narzędzia, niż vim i odkryć możesz to dopiero wtedy, gdy zaczniesz traktować polecenia jak język: https://stackoverflow.com/questions/121 ... 18#1220118
ODPOWIEDZ

Wróć do „Pogaduchy”

Kto jest online

Użytkownicy przeglądający to forum: Obecnie na forum nie ma żadnego zarejestrowanego użytkownika i 1 gość