Od redakcji: Już kilka lat temu planowaliśmy przygotować cykl tekstów poświęconych edytorowi Vim. Ten pomysł nie został jednak realizowany – być może do dziś. Mamy nadzieję, że teraz się to zmieni dzięki Mikołajowi Machowskiemu, autorowi strony poświęconej temu edytorowi. Zapraszam do lektury pierwszego odcinka cyklu „skrypt tygodnia” – poświęconemu skryptowi sprawdzającemu pisownię w czasie pisania.
Skrypt tygodnia: Vimspell
Wstęp
Sprawdzanie pisowni jest jednym z zadań jakiego oczekuje się od  współczesnego edytora. Vim nie posiada tej funkcjonalności wbudowanej,  ale można ją uzyskać przez różne skrypty podchodzące do sprawy  w odmienny sposób.
Jednym z popularniejszych jest engspchk.vim autorstwa  dr „Chipa” Campbella. Zapewnia on prawdziwe sprawdzanie pisowni w locie  jednak opiera się na wygenerowanej liście akceptowalnych słów. O ile  taki zbiór dla języka angielskiego da się zamknąć w 2M to z powodu  fleksji polski słownik sprawdza się dopiero od 18M załadowanych do  pamięci komputera co wystarczy by dało się to odczuć na większości maszyn.
Dla polskiego użytkownika wymagana jest prawdziwa interakcja z programem  do sprawdzania ortografii. Najbardziej dopracowanym skryptem jest  vimspell utrzymywany obecnie przez Matthieu Clabaut ( matthieu DOT  	clabaut AT free DOT fr ).
Vimspell zapewnia następujące funkcje:   
- sprawdzanie pisowni na żądanie oraz w locie
 - przejście do następnego/poprzedniego błędu
 - propozycja alternatywy (zarówno tekstowo jak i przez menu kontekstowe)
 - dodawanie słów do słownika tymczasowego i trwałego
 - pełna obsługa zarówno z klawiatury jak i myszką (menu)
 - potrafi wykorzystać zarówno ispella jak i aspella
 - sprawdzanie pisowni w zależności od typu pliku
 - heurystyczne odgadywanie języka w jakim napisano tekst
 
Instalacja
Wystarczy skopiować vimspell.vim do jednego z katalogów plugin (np. ~/.vim/plugin), pomoc do skryptu zainstaluje się samoczynnie przy pierwszym uruchomieniu Vima i jest dostępna poprzez :help vimspell.
Konfiguracja
(omawiam tutaj tylko najważniejsze opcje, pełna lista w dokumentacji skryptu, wspomniane tutaj opcje mogą być istotne dla polskiego użytkownika)
-   	Domyślnie vimspell używa ispella, można to jednak zmienić dodając   	w .vimrc:
let spell_executable = "aspell" -   	Polski użytkownik powinien poprawić też język:
let spell_language_list = "polish,english" -   	Jedną z ciekawszych możliwości vimspella jest odgadywanie słownika jakiego  	słownika powinno się użyć. Odgadywanie można ustawić w zależności od  	typu pliku:
let spell_guess_language_ft = "tex,mail,html" -   	Ta opcja włącza od razu sprawdzanie pisowni dla podanych typów  	plików:
let spell_auto_type = "tex,mail,text,html,sgml,otl,cvs,none" -   	Należy się zdecydować czy vispell powinien sprawdzać pisownię w locie  	czy nie:
let spell_insert_mode = 1
Uwaga: O ile sprawdzanie języka angielskiego nie stanowi żadnego problemu, przy polskim komputer trochę „rwie” na słabszych maszynach, zwłaszcza jeśli gdzieś w tle odbywa się coś pożerającego zasoby. Główną zaletą w porównaniu do engspchk jest nieobciążanie na stałe całego systemu ogromnym słownikiem. 
Jest jeszcze wiele opcji, które pozwalają bardzo dokładnie określić np. opcje programu sprawdzającego pisownię w zależności od typu pliku.
Klawiszologia
O <Leader> należy poczytać w :help mapleader. Domyślna wartość to
- <Leader>ss
 - zapisz do pliku tymczasowego, sprawdź pisownię i podświetl błędy
 - <Leader>sA
 - włącz sprawdzanie pisowni w locie
 - <Leader>sq
 - powróć do normalnego podświetlania składni i przestań sprawdzać błędy
 - <Leader>sl
 - przełącz się między językami
 - <Leader>sn
 - idź do następnego błędu
 - <Leader>sp
 - idź do poprzedniego błędu
 - <Leader>si
 - wstaw słowo pod kursorem do słownika użytkownika
 - <Leader>su
 - wstaw słowo pod kursorem do słownika użytkownika w wersji małych liter
 - <Leader>sa
 - zaakceptuj wyraz tylko na bieżącą sesję
 - <Leader>s?
 - szukaj alternatyw
 - <RightMouse>
 - otwórz menu kontekstowe z alternatywami (może wymagać zmian w opcji 'mousemodel'
 
Wtyczka zapewnia też do każdej czynności polecenia trybu :ex co ułatwia oskryptowanie skryptu.
Używanie
Po wejściu do pliku html lub mail (zgodnie z ustawieniami domyślnymi), vimspell od razu  zacznie pracę. Nieznane słowa zostaną podświetlone, a kiedy zaczniesz pisać to co piszesz  będą od razu sprawdzane. Kiedy popełnisz błąd zazwyczaj wystarczy cofnąć się do wyrazu  z błędem i go poprawić. Podświetlenie zniknie. Vimspell omija słowa kluczowe dla danego  typu pliku – nie będziesz obwiniany o błędne wyrazy z cytowanych wiadomości, nie mające  sensu w normalnym języku znaczniki i nazwy atrybutów.
Przy sprawdzaniu już napisanego tekstu przyda się polecenie <Leader>sn  albo odpowiednie ustawienie opcji spell_auto_jump. Włączona sprawi, że po  poprawieniu błędu vimspell skoczy natychmiast do następnego. Jak poprawić błąd? Albo  standardowymi poleceniami Vima: r, ciw, etc. lub poprosić o podanie  możliwych alternatyw: <Leader>s?.
Co zrobią właściciele słabszych komputerów, których denerwuje „krztuszenie się” Vima  przy sprawdzaniu pisowni w locie i ją wyłączyli? Wystarczy wyjść z trybu Wstawiania i na  chwilę się zatrzymać. Autokomenda CursorHold sprawdzi pisownię.
Wersja vimspella z drobnymi poprawkami, które jeszcze nie zostały dołączone do głównego drzewa, znajduje się na   naszym serwerze.
Archiwalny news dodany przez użytkownika: mikmach.
Kliknij tutaj by zobaczyć archiwalne komentarze.




