Mówi się, że obraz wart jest tysiąc słów. Nic tak nie pomaga jak mapka w e-mailu, lub tabelka do uszeregowania danych. Robienie tego ręcznie jest jednak bardzo męczące. Może tutaj pomóc DrawIt.

Skrypt tygodnia: DrawIt

Nazwa: DrawIt

Autor: Charles E. Campbell, Jr. , Sylvain VIART

Opisywana wersja: xxx

Wstęp

Mówi się, że obraz wart jest tysiąc słów. Nic tak nie pomaga jak mapka w e-mailu, lub tabelka do uszeregowania danych. Robienie tego ręcznie jest jednak bardzo męczące. Może tutaj pomóc DrawIt.

Wymagania

Vim 6.0

Instalacja

Pobierz archiwum tar.gz i rozpakuj je w katalogu .vim. Powstaną dwa pliki:

plugin/DrawIt.vim
Właściwa wtyczka.
doc/DrawIt.txt
Dokumentacja. Zainstaluj ją uruchomieniem Vima i wydaniem polecenia :helptags doc

Konfiguracja

(omawiam tutaj tylko najważniejsze opcje, pełna lista w dokumentacji skryptu, wspomniane tutaj opcje mogą być istotne dla polskiego użytkownika, lub wymagane do poprawnego działania skryptu)

Można zmieniać znaki rysujące wywołując funkcję
SetDrawIt('pionowy', 'poziomy', 'krzyż', '', '/', 'X')
gdzie

  • ‚pionowy’ to znak przy ruchu góra/dół,
  • ‚poziomy’ to znak przy ruchu lewo/prawo,
  • ‚krzyż’ to znak przy skrzyżowaniu tych dwóch,
  • ” to znak przy ruchu NW-SE,
  • ‚/’ to znak przy ruchu NE-SW, a
  • ‚X’ to znak przy skrzyżowaniu tych dwóch ostatnich.

Klawiszologia

( oznacza <Leader>, więcej w :help mapleader.)

Skróty klawiszowe DrawIt redefiniują wiele powszechnie używanych klawiszy, więc został stworzony dodatkowy pseudo-tryb, który się obsługuje tak:

di
Wejście do DrawIt.
ds
Opuszczenie DrawIt.

Informacja o zmianie trybu będzie widoczna w linii poleceń: [DrawIt], [DrawIt off].

Klawisze (najważniejsze) i czynności z nimi związane w trybie DrawIt:

<Left>
Przejdź w lewo i rysuj linię.
<Right>
Przejdź w prawo i rysuj linię.
<Up>
Przejdź do góry i rysuj linię.
<Down>
Przejdź w dół i rysuj linię.
<Home>
Przejdź w kierunku N-W i rysuj .
<PageUp>
Przejdź w kierunku N-E i rysuj /.
<End>
Przejdź w kierunku S-W i rysuj /.
<PageDown>
Przejdź w kierunku S-E i rysuj .
>
Przejdź w prawo i rysuj >.
<
Przejdź w prawo i rysuj <.
v
Przejdź w dół i rysuj v.
^
Przejdź do góry i rysuj ^.

Możliwe są także między innymi takie funkcje na obszarze zaznaczonym w trybie Visual Block:

a
Rysuj strzałkę z jednego rogu do drugiego.
b
Rysuj pudełko wokół wybranego obszaru.
b
Rysuj pudełko wokół wybranego obszaru.
e
Rysuj elipsę w wybranym obszarze (bardzo koślawa).

Używanie

Wystarczy poruszać się przy pomocy strzałek by rysować, jeśli chcesz przenieść się z jednego miejsca do drugiego bez rysowania, użyj hjkl.

To co narysowane można wyczyścić strzałkami po przełączeniu się w tryb Erase za pomocą <Space>.

Po narysowaniu jakiejś figury możesz ją wypełnić przy pomocy <Leader>f.

Po narysowaniu tabelki można ją wypełnić przy pomocy gR, tak by nie przemieszczać linii.
Tabelkę można też wykonać przy pomocy skryptu Align (przy wypisywaniu treści użyć znaków pomocniczych, następnie wyrównać, usunąć znaki pomocnicze) i dopiero potem narysować linie tabeli przy pomocy DrawIt.

Podsumowanie

Pochwalić należy sam pomysł. Rysowanie w Vimie (i każdym innym edytorze) nie jest proste, ale przydaje się częściej niż się wydaje. Na pierwszy rzut oka skrypt wydaje się zabawką, ale kiedy trzeba uporządkować dane, lub „narysować” mapkę jest to nieocenione narzędzie.

Jak zwykle pochwała się należy za dokumentację w formacie vim-help.

A na koniec:

               |      |     ---    +----   +---        /               |      |    /       |      |    |      /               |      |   /      |  |    |  |    |     /               |      |   |      |  |    |  |    /     X               +------+   +------+  +---/   +----      |               |      |   |      |  |       |          |               |      |   |      |  |       |          |               |      |   |      |  |       |          |               |      |   |      |  |       |          |                  / |       |      |  |       |      |   /--               /  |  |   /| |   /|  |  |   /| |    |  |                 /   |  |  / | |  / |  |  |  / | |    |  |   |             /    |  |  X  | |  X  |  |  |  X  | |    |  |            /     |  |     | |     |  |  |     | |    |  | +-+           /      |  |     | |     |  |  |     | |    |     |           X       |  |     | |     |  |  |     | |     |   --/                                 *************                                                  ****             ****                                            **                     **                                        **      *           *      **                                     *              |              *                                    *              |              *                                    *              |              *                                     **                /       **                                        **     ----------      **                                            ****             ****                                                  *************                           

I do tego można używać skryptu ;)

Archiwalny news dodany przez użytkownika: mikmach.
Kliknij tutaj by zobaczyć archiwalne komentarze.

Oznaczone jako → 
Share →