Posts Tagged vim

Vim: sortowanie wierszy w kolejności losowej

Do wykonania miałem bojowe zadanie: przygotowanie testu. Nic wielce skomplikowanego, ot pytanie wraz z kilkoma odpowiedziami. Pojawił się mały problem: trzeba odpowiedzi ustawić w jakiejś losowej kolejności w pliku tekstowym. Niby nic wielce trudnego, można od samodzielnie to zrobić, jednak łatwiej będzie to trochę automatyzować :).

Na szczęście zadanie to jest trywialne w przypadku użycia Vima. Posiada on odpowiednie polecenie: :sort (więcej można przeczytać wydając komendę :help sort), która pozwala na automatyczne posortowanie wybranych wierszy. Niestety, nie obsługuje ustawienia ich w kolejności losowej. Z pomocą natomiast może tutaj przyjść polecenie systemowe sort wywoływane z parametrem -R (przynajmniej w wersji 8.5 aplikacji, starsze wersje mogą tego przełącznika nie obsługiwać).

W moim przypadku procedura była następująca:

  • zaznaczenie wybranych linii
  • wydanie polecenia :!sort -R
  • Sortowanie wierszy

    Sortowanie wierszy

    Wiersze ułożone w kolejności losowej

    Wiersze ułożone w kolejności losowej

Źródła

Tags: , ,

Vim – nawigacja po długich liniach

Jeżeli pracujemy w Vimie z plikiem tekstowym zawierającym długie linie tekstu, możemy spotkać następująca niedogodność: jeżeli przemieszczamy kursor (w dowolnym trybie pracy) pomiędzy liniami, to zawsze przeskakuje tak naprawdę nie tyle pomiędzy liniami tak jak je widzimy na ekranie, ale między poszczególnymi akapitami (czy naciśnięcie strzałki w dół przeniesie nas do linii występującej po znaku nowej linii).

Takie zachowanie jest przynajmniej dla mnie jest lekko irytujące. Na szczęście istnieje możliwość przeniesienia się do następnej linii, wystarczy w normalnym trybie zamiast klawisza j (przeniesienie kursora w dół) wybrać kombinację gj. Jak dla mnie jest to jednak rozwiązanie dosyć niewygodne. Problem można jednak łatwo rozwiązać, zmieniając odpowiednio mapowania standardowych klawiszy nawigacyjnych i umieścić w pliku konfiguracyjnym (np. ~/.vimrc) następujące definicje:

23
24
25
26
27
28
29
30
31
32
33
" Nawigacja pomiędzy długimi liniami
nnoremap j gj
nnoremap k gk
nnoremap  gj
nnoremap  gk
vnoremap j gj
vnoremap k gk
vnoremap  gj
vnoremap  gk
inoremap  gj
inoremap  gk

Rozwiązuje to problem poruszania się po łamanych liniach.

Źródła

Tags: , ,

Sprawdzanie pisowni w edytorze tekstu Vim

W edytorze tekstu Vim istnieje możliwość sprawdzania pisowni w języku polskim.

Włączenie tej funkcji nie jest trudne, w trybie command należy wydać następujące polecenie:

:setlocal spell spelllang=pl

Spowoduje ono włączenie polskiego słownika i automatyczne kolorowanie błędnych znaków.

Jeżeli jest to pierwsze uruchomienie tego polecenia, to należy jeszcze odpowiedzieć na kilka pytań dotyczących pobrania odpowiedniego słownika. Poniższe przykłady pochodzą z wersji edytora okienkowego (czyli z gVima), w przypadku Vima pytania są takie same, ale podawane są odpowiednio w linii poleceń. Podczas testu używałem Vima w wersji 7.2.330.

Pierwsze pytanie dotyczy prośby o wyrażenie zgody na utworzenie katalogu ~/.vim/spell. W katalogu tym będę trzymane odpowiednie słowniki dla używanych języków.

gVim: Utworzenie katalogu dla słownika

gVim: Utworzenie katalogu dla słownika

Oczywiście, podczas pierwszego uruchomienie słownik dla języka polskiego nie jest dostępny. Vim oferuje, że pobierze odpowiedni plik słownika.

gVim: Pobranie pliku ze słownikiem

gVim: Pobranie pliku ze słownikiem

Jeżeli słownik zostanie pomyślnie pobrany, to należy umieścić go w odpowiednim katalogu:

gVim: Zapisanie pliku ze słownikiem

gVim: Zapisanie pliku ze słownikiem

Po tych krokach sprawdzanie pisowni powinno działać. Istniej jeszcze możliwość pobrania pliku o rozszerzeniu sug. Vim także oferuje, że pobierze go samodzielnie. Niestety, przynajmniej w moim przypadku to nie zadziałało (ale sprawdzenie pisowni działa)

gVim: Pobranie pliku z rozszerzeniem sug

gVim: Pobranie pliku z rozszerzeniem sug

Użycie polecenia setlocal w powyższy sposób ma wpływ tylko na aktualnie otwarty dokument. Aby sprawdzenia pisowni działało w każdym otwieranym dokumencie, należy poniższą linię do pliku konfiguracyjnego Vima ~/.vimrc:

setlocal spell spelllang=pl

ja jednak chcę, aby sprawdzanie pisowni (i to w języku polskim) dotyczyło tylko i wyłącznie pików z rozszerzeniem tex. Można to zrobić, definiując odpowiednią komendę, wykonywaną podczas otwierania pliku o odpowiednim typie. Poniższy wpis należy umieścić w pliku ~/.vimrc:

au BufReadPost *.tex setlocal spell spelllang=pl

Teraz pozostaje jeszcze do opanowania odpowiednia klawiszologia (polecenia powinny być wydawane w trybie normalnym):

  • ]s – przeniesienie kursora na następne błędne słowo
  • [s – przeniesienie kursora na poprzednie błędne słowo
  • zg – zdefiniowanie słowa pod kursorem jako poprawne, zostanie ono zapisane w specjalnym pliku
  • zG – zdefiniowanie słowa pod kursorem jako poprawne, ale informacja o tym będzie przechowywana tylko w pamięci RAM
  • zw – zdefiniowanie słowa jako błędnego, zapisanie go w odpowiednim pliku słownika
  • zW – jak wyżej, ale informacje o tym będzie przechowywana tylko w pamięci RAM komputera
  • z= – wyświetlenie ponumerowaną listy podpowiedzi, jeżeli jakieś słowo pasuje, to należy podać jego numer

Więcej informacji można uzyskać w pomocy dołączonej do Vima:

:help spell.txt

Źródła

Tags: , ,

Mapa myśli z poleceń VIMa

Mapa myśli przedstawiająca polecenia z VIMa. Całości pochodzi ze strony: Learning Vim The Pragmatic Way.

Mapa myśli poleceń VIMa

PDF z mapą myśli poleceń VIMa

Źródła

Tags: , , , , ,