-
Notifications
You must be signed in to change notification settings - Fork 1
/
usr_02.plx
executable file
·498 lines (351 loc) · 16.7 KB
/
usr_02.plx
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
*usr_02.txt* For Vim version 6.3. Last change: wt maj 19 20:00 2004 C ł
VIM PODRĘCZNIK UŻYTKOWNIKA - Bram Moolenaar
tłum. Mikołaj Machowski
Pierwsze kroki w Vimie
Rozdział ten przedstawia wystarczająco wiele informacji by móc zacząć edytować
plik w Vimie. Niezbyt sprawnie bądź szybko, ale jest to możliwe. Należy
spędzić trochę czasu na treningu tych poleceń, stanowią one podstawę do
wszystkiego co przyjdzie potem.
|02.1| Pierwsze uruchomienie Vima
|02.2| Wprowadzanie tekstu
|02.3| Poruszanie się
|02.4| Usuwanie znaków
|02.5| Undo i Redo
|02.6| Inne polecenia edycji
|02.7| Wychodzenie
|02.8| System pomocy
Następny rozdział: |usr_03.txt| Poruszanie się
Poprzedni rozdział: |usr_01.txt| O podręcznikach
Spis treści: |usr_toc.txt|
==============================================================================
*02.1* Pierwsze uruchomienie Vima
Vima uruchamia się poleceniem: >
gvim plik.txt
W Uniksie można tę komendę wprowadzić przy każdym znaku zachęty. W MS-Windows
należy otworzyć okno MS-DOS i tam wpisać polecenie.
W każdym wypadku Vim otwiera plik nazwany plik.txt. Ponieważ jest to nowy
plik otwiera się puste okno. Ekran będzie wyglądał tak:
+---------------------------------------+
|# |
|~ |
|~ |
|~ |
|~ |
|"plik.txt" [New file] |
+---------------------------------------+
("#" pozycja kursora.)
Linie zaczynające się tyldą (~) nie należą do pliku. Innymi słowy, jeśli
Vimowi brakuje pliku do pokazania na ekranie pokazuje linie zaczynające się
tyldą. Na dole ekranu linia komunikatów informuje, że plik nazywa się plik.txt
i jest on plikiem. Komunikat jest chwilowy i inne informacje szybko go
nadpiszą.
POLECENIE VIM
Polecenie gvim każe edytorowi stworzyć nowe okno do edycji. Jeśli użyjesz
polecenia: >
vim plik.txt
Edycja odbędzie się w oknie poleceń. Oznacza to, że jeśli polecenie było
wydane wewnątrz xterma edytor będzie używał okna xterma. Jeśli polecenie
zostało wydane w oknie poleceń MS-DOS w systemie Microsoft Windows edycja
będzie odbywać się wewnątrz tego okna. Tekst w obu oknach będzie wyglądał tak
samo, ale gvim ma parę dodatkowych możliwości, na przykład pasek menu. Więcej
o tym później.
==============================================================================
*02.2* Wprowadzanie tekstu
Vim jest edytorem modalnym. Oznacza to, że zachowuje się różnie w zależności
od trybu w jakim się znajdujesz. Dwa podstawowe tryby to Normal i Insert.
W trybie Normal znaki jakie wpisujesz są poleceniami. W trybie Insert znaki są
wprowadzane jako tekst.
W chwili kiedy zaczynasz Vima będzie on w trybie Normal. By zapoczątkować
tryb Insert wydaj polecenie "i" (i jak Insert). Teraz możesz wprowadzać tekst,
będzie on zapisany do pliku. Nie martw się jeśli zrobisz błąd, możesz go
poprawić później. Żeby napisać limeryk programistyczny wpisz: >
iA very intelligent turtle
Found programming UNIX a hurdle
Po wyrazie "turtle" wciśnij <Enter> aby zacząć nową linię. Na końcu wciśnij
<Esc> kończąc tryb Insert i powracając do trybu Normal. Teraz masz dwie linie
w oknie Vima:
+---------------------------------------+
|A very intelligent turtle |
|Found programming UNIX a hurdle |
|~ |
|~ |
| |
+---------------------------------------+
CZYM JEST TRYB?
Tryb w którym jesteś można sprawdzić poleceniem: >
:set showmode
Zauważ, że kiedy wpisujesz dwukropek, Vim przenosi kursor do ostatniej linii
okna. Tam wpisujesz polecenia dwukropka (zaczynające się dwukropkiem).
Zakończ polecenie wciskając <Enter> (wszystkie polecenia, które zaczynają się
dwukropkiem kończysz w ten sposób).
Teraz jeśli wciśniesz "i" Vim pokaże --INSERT-- na dole okna. Oznacza to,
że jesteś w trybie Insert.
+---------------------------------------+
|A very intelligent turtle |
|Found programming UNIX a hurdle |
|~ |
|~ |
|-- INSERT -- |
+---------------------------------------+
Po wciśnięciu <Esc> i powrocie do trybu Normal ostatnia linia będzie pusta.
WYDOSTAWANIE SIĘ Z PROBLEMÓW
Jednym z problemów dla nowicjuszy w Vimie, jest mylenie trybów w jakich się
znajdują lub przypadkowe wciśnięcie klawisza, który powoduje zmianę trybu. Do
trybu Normal, nieważne w jakim trybie się znajdujesz, wciśnij <Esc>. Czasami
musisz go wcisnąć dwa razy. Jeśli Vim piszczy jesteś już w trybie Normal.
==============================================================================
*02.3* Poruszanie się
Po powrocie do trybu Normal możesz poruszać się używając klawiszy:
h lewo *hjkl*
j dół
k góra
l prawo
Z początku może się wydawać, że polecenia te zostały wybrane przypadkowo.
Przede wszystkim kto słyszał o używaniu l jako "prawo"? Istnieje bardzo dobra
przyczyna takiego wyboru: poruszanie się jest najczęstszą czynnością jaką się
wykonujesz w edytorze, a te klawisze znajdują się w "rzędzie domowym" (home
row) prawej ręki. Innymi słowy, polecenia te znajdują się tam gdzie możesz je
najszybciej wydać (zwłaszcza jeśli piszesz dziesięcioma palcami).
Note:
Do poruszania się możesz też używać klawiszy strzałek. Jednak jeśli to
robisz zwalnia to twoje działanie: by użyć strzałek musisz przenieść
rękę z części tekstowej klawiatury do strzałek. W sumie, jeśli robisz
to setki razy w ciągu godziny może to zająć spory kawał czasu.
Zdarzają się też klawiatury, które nie mają strzałek, lub które
umieszczają je w niezwykłych miejscach. Wiedza o hjkl może pomóc
w takich sytuacjach.
Jednym ze sposobów by zapamiętać te komendy jest fakt, że h jest po lewej,
l po prawej, a j wskazuje w dół. Na obrazku: >
k
h l
j
Najlepszą metodą by nauczyć się tego jest używanie ich. Wciśnij "i" i wprowadź
kilka linii tekstu. Potem użyj hjkl do poruszania się i wprowadzenia kilku
słów w różnych miejscach. Nie zapominaj o <Esc> by wrócić do trybu Normal.
|vimtutor| jest również dobrą metodą nauki przez pracę.
Dla Japończyków Hiroshi Iwatani wymyślił wskazówkę:
Komsomolsk
^
|
Huang Ho <--- ---> Los Angeles
(Żółta Rzeka) |
v
Java
(wyspa, nie język programowania)
==============================================================================
*02.4* Usuwanie znaków
Najprostszą metodą usunięcia znaku jest przejście kursorem nad znak
i wciśnięcie "x". (Jest to odniesienie do starych czasów kiedy na maszynach do
pisania usuwało się znaki nadpisujęc je xxxx.) Przejdź kursorem do początku
pierwszej linii i wciśnij xxxxxxx (siedem razy x) by usunąć "A very ".
Rezultatem będzie:
+---------------------------------------+
|intelligent turtle |
|Found programming UNIX a hurdle |
|~ |
|~ |
| |
+---------------------------------------+
Teraz można wpisać nowy tekst, na przykład: >
iA young <Esc>
Fraza ta zaczyna wprowadzanie ("i"), wypisuje wyrazy "A young", a w końcu
opuszcza tryb Insert (<Esc> na końcu). Wynik:
+---------------------------------------+
|A young intelligent turtle |
|Found programming UNIX a hurdle |
|~ |
|~ |
| |
+---------------------------------------+
USUWANIE LINII
Do usunięcia całej linii służy komenda "dd". Następne linie zostaną
przesunięte w górę by wypełnić lukę:
+---------------------------------------+
|Found programming UNIX a hurdle |
|~ |
|~ |
|~ |
| |
+---------------------------------------+
USUWANIE ZNAKU NOWEJ LINII
W Vimie można połączyć dwie linie, co oznacza, że znak nowej linii pomiędzy
nimi zostanie usunięty. Robi się to komendą "J".
Na początku są dwie linie:
A young intelligent ~
turtle ~
Przenieś kursor do pierwszej linii i wciśnij "J":
A young intelligent turtle ~
==============================================================================
*02.5* Undo i Redo
Przypuśćmy, że usunąłeś za dużo. W porządku, możesz to wpisać znowu, ale
istnieją łatwiejsze sposoby. Komenda "u" cofa ostatnią zmianę.
W rzeczywistości wygląda to tak: "dd" usuwa pierwszą linię, "u" ją przywraca.
Inny przykład: przenieś kursor do A w pierwszej linii:
A young intelligent turtle ~
Teraz wstukaj xxxxxxx by usunąć "A young". Wynikiem jest:
intelligent turtle ~
Wciśnij "u" by cofnąć ostatnie usunięcie. Wycięło ono g, tak więc undo
przywraca znak.
g intelligent turtle ~
następne polecenie u przywraca kolejny usunięty znak:
ng intelligent turtle ~
Następne polecenie u zwraca u itd.:
ung intelligent turtle ~
oung intelligent turtle ~
young intelligent turtle ~
young intelligent turtle ~
A young intelligent turtle ~
Note:
Jeśli wcisnąłeś "u" dwukrotnie, a w rezultacie otrzymałeś ten sam
tekst z powrotem oznacza to, że masz Vima skonfigurowanego jako
kompatybilnego z Vi. Sprawdź jak to naprawić: |not-compatible|.
Ten tekst przyjmuje, że pracujesz na sposób Vima. Możesz działać
jak w starym, dobrym Vi, ale musisz wtedy zwracać uwagę na małe
różnice w tekście.
REDO
Jeśli cofnąłeś zmiany zbyt wiele razy możesz wcisnąć CTRL-R (redo) by cofnąć
poprzednie polecenie. Innymi słowy, CTRL-R cofa cofnięcie. Można to zobaczyć
w akcji wciskając CTRL-R dwukrotnie. Znak A i spacja po nim zniknie:
young intelligent turtle ~
Istnieje specjalna wersja polecenia undo, komenda "U" (cofnij wszystkie zmiany
w linii). Cofnięcie wszystkich zmian w wierszu unieważnia wszystkie zmiany,
które były wprowadzone w linii podczas ostatniej edycji. Wydanie tej komendy
dwukrotnie odwołuje poprzednie "U".
A very intelligent turtle ~
xxxx Usuwa very
A intelligent turtle ~
xxxxxx Usuwa turtle
A intelligent ~
Przywróć wiersz z "U"
A very intelligent turtle ~
Cofnij "U" przez "u"
A intelligent ~
Sama komenda "U" jest zmianą samą w sobie, którą polecenie "u" cofa i CTRL-R
przywraca. Może być to odrobinę mylące. Nie martw się, dzięki "u" i CTRL-R
możesz wrócić do każdej sytuacji jaką miałeś.
==============================================================================
*02.6* Inne polecenia edycji
Vim posiada dużą liczbę poleceń służących do zmiany tekstu. Zobacz |Q_in|
i poniżej. Jest tu przegląd najczęściej używanych komend.
APPENDING (dodawanie)
Komenda "i" wprowadza znak przed znakiem pod kursorem. W porządku, ale co
jeśli chcesz dodać znaki na końcu linii? Dlatego potrzebujesz czegoś co
wprowadziłoby tekst za kursorem. Robi się to komendą "a" (append - dodaj).
Na przykład by zmienić wiersz
and that's not saying much for the turtle. ~
na
and that's not saying much for the turtle!!! ~
przenieś kursor na kropkę na końcu linii. Wciśnij "x" by usunąć kropkę. Kursor
znajduje się teraz na końcu linii na e w turtle. Teraz wpisz >
a!!!<Esc>
by dodać trzy wykrzykniki za e w turtle:
and that's not saying much for the turtle!!! ~
OTWIERANIE NOWEJ LINII
Komenda "o" tworzy nową, pustą linię poniżej kursora i przenosi Vima do trybu
Insert. Możesz teraz wpisywać tekst w nowej linii.
Przypuśćmy, że kursor jest gdzieś w pierwszej z dwóch linii:
A very intelligent turtle ~
Found programming UNIX a hurdle ~
Jeśli teraz użyjesz komendy "o" i wpiszesz nowy tekst: >
oThat liked using Vim<Esc>
Rezultatem będzie:
A very intelligent turtle ~
That liked using Vim ~
Found programming UNIX a hurdle ~
Komenda "O" (wielka litera) otwiera linię powyżej kursora.
UŻYWANIE LICZNIKA
Przypuśćmy, że chcesz przenieść się w górę o dziewięć wierszy. Możesz wstukać
"kkkkkkkkk", ale możesz też użyć polecenia "9k". W rzeczywistości jest możliwe
poprzedzenie większości komend liczbą. Wcześniej w tym rozdziale dodałeś trzy
wykrzykniki wpisując "a!!!<Esc>". Innym sposobem jest użycie polecenia
"3a!<Esc>". Liczba 3 każe komendzie potroić jej efekt. Podobnie, by usunąć
trzy znaki użyj polecenia "3x". Liczba zawsze poprzedza komendę do której się
odnosi.
==============================================================================
*02.7* Wychodzenie
Z Vima wychodzi się komendą "ZZ". Zapisuje ona plik i zamyka Vima.
Note:
W odróżnieniu od innych edytorów Vim nie zapisuje automatycznie pliku
backup. Jeśli wpiszesz "ZZ" twoje zmiany są wprowadzone i nie ma
odwrotu. Możesz skonfigurować Vima by tworzył pliki backup, zobacz
|07.4|.
ODRZUCANIE ZMIAN
Czasami powstaje sekwencja zmian i nagle uświadamiasz sobie, że zanim zacząłeś
było lepiej. Nie martw się: Vim ma polecenie wyjdź-i-odrzuć-zmiany. Jest to: >
:q!
Nie zapomnij wcisnąć <Enter> by zakończyć polecenie.
Dla zainteresowanych szczegółami. Polecenie składa się z trzech części:
dwukropka (:), który przenosi nas do trybu poleceń; komendy q, która nakazuje
wyjście z edytora; modyfikatora wymuszenia (!).
Modyfikator wymuszenia jest konieczny ponieważ Vim niechętnie odrzuca
zmiany. Jeśli wpiszesz jedynie ":q", Vim wyświetli komunikat błędu i odmówi
wyjścia:
E37: No write since last change (use ! to override) ~
Wymuszając wykonanie polecenia mówisz Vimowi: "Wiem, że to co robię wygląda
głupio, ale jestem dużym chłopcem i naprawdę chcę to zrobić".
Jeśli chcesz kontynuować edycję z Vimem: polecenie ":e!" ładuje z powrotem
oryginalną wersję pliku.
==============================================================================
*02.8* System pomocy
Wszystko co zawsze chciałeś wiedzieć możesz znaleźć w plikach pomocy Vima. Nie
bój się zapytać!
Ogólną pomoc dostaniesz dzięki komendzie: >
:help
Można także użyć pierwszego klawisza funkcyjnego <F1>. Jeśli twoja klawiatura
ma klawisz <Help> także będzie działał.
Jeśli nie podasz tematu, ":help" przedstawi ogólne okno pomocy. Twórcy Vima
zrobili coś bardzo sprytnego (albo bardzo leniwego) z systemem pomocy: okno
pomocy jest zwykłym oknem edycji. Możesz użyć wszystkich normalnych poleceń
Vima by się w nim poruszać. Stąd h, j, k i l to lewo, dół, góra i prawo.
Aby wydostać się z okna pomocy możesz użyć komendy, której używasz do
wyjścia z Vima: "ZZ". Zamknie ona tylko okno pomocy, nie całego Vima.
W czasie czytania plików pomocy zobaczysz tekst zamknięty wewnątrz pionowych
kresek (na przykład |help|). Jest to hiperłącze. Jeśli umieścisz kursor
pomiędzy kreskami i wciśniesz CTRL-] (skok do znacznika), system pomocy
przeniesie cię do żądanego tematu. (Dla przyczyn tutaj nie dyskutowanych,
określeniem Vima na hiperłącze jest znacznik - tag. Tak więc CTRL-] skacze do
miejsca znacznika określonego przez słowo pod kursorem.)
Po kilku skokach, być może zechcesz wrócić. CTRL-T zabierze cię do
poprzedniej pozycji. CTRL-O także dobrze działa w takiej sytuacji.
Na samym szczycie ekranu pomocy jest notacja *help.txt*. Nazwa pomiędzy "*"
użyta jest przez system pomocy do zdefiniowania znacznika (miejsce
przeznaczenia hiperłącza).
Zobacz |29.1| dla szczegółowego wyjaśnienia sprawy znaczników.
Pomocy na konkretny temat dostarcza: >
:help {temat}
Pomoc na temat komendy x otrzymasz tak: >
:help x
Pomoc na temat usuwania tekstu uzyskasz dzięki poleceniu: >
:help deleting
Kompletny indeks wszystkich komend Vima to: >
:help index
Jeśli szukasz pomocy na temat komendy używającej klawisza Ctrl (np.: CTRL-A)
robisz to tak: >
:help CTRL-A
Edytor Vim ma wiele trybów. Domyślnie system pomocy wyświetla komendy trybu
Normal. Na przykład następujące polecenie przedstawia pomoc na temat komendy
CTRL-H w trybie Normal: >
:help CTRL-H
By zidentyfikować inne tryby musisz użyć prefiksu. Jeśli szukasz pomocy na
temat wersji komendy dla trybu Insert użyj "i_". Dla CTRL-H daje to
następujące polecenie: >
:help i_CTRL-H
Kiedy zaczynasz Vima możesz użyć kilku argumentów linii poleceń. Wszystkie
zaczynają się myślnikiem (-). By znaleźć pomoc na temat argumentu -t użyj: >
:help -t
Vim posiada wiele opcji, które pozwalają na szeroko posuniętą konfigurację
i adaptację edytora. Jeśli szukasz pomocy dla opcji musisz zamknąć jej nazwę
wewnątrz pojedynczych cudzysłowów. Dla opcji 'number' polecenie będzie
wyglądało tak: >
:help 'number'
Tabela z prefiksami dla wszystkich trybów jest tu: |help-context|.
Znaki specjalne są zamknięte w nawiasach trójkątnych. Pomoc na temat strzałki
w górę w trybie Insert uzyskasz: >
:help i_<Up>
Jeśli widzisz komunikat błędu, którego nie rozumiesz, na przykład:
E37: No write since last change (use ! to override) ~
Możesz wpisać ID błędu by na początek znaleźć pomoc na ten temat: >
:help E37
==============================================================================
Następny rozdział: |usr_03.txt| Poruszanie się
Copyright: see |manual-copyright| vim:tw=78:ts=8:ft=help:norl: