Editor vi/vim
From Znalosti
Contents
Příkazy editoru vi/vim
Souhrnný přehled vim - skutečný editor textů
Nebo také (přehlednější, stručný) Editor vi
How to use vi - učební text
Důležitý článek: Why, oh WHY, do those #?@! nutheads use vi?
Shrnutí
tři módy činnosti
- příkazový - znaky jsou interpretovány jako příkazy
- vkládací - vkládání textu - na poslední řádce INSERT
- do něho pomocí příkazů i,a,c,o,s,A,C,I,O,R,S
- z něho zpět do příkazového Esc
- rozšířený příkazový (ex mód)
- do něho příkazem :, dvojtečka se vypíše na posledním řádku, pak se vloží rozšířený příkaz ukončený Enter a návrat do příkazového módu
spuštění
vi pokus
ukončení
- ZZ s uložením opravovaného souboru
- :q bez uložení souboru
- :q! bez uložení u změněného souboru
- :w pokus2 uložení souboru pod jiným jménem
pohyb kurzoru
šipkami - většinou fungují
pokud nefungují tak
h j k l
$\leftarrow$ $\downarrow$ $\uparrow$ $\rightarrow$
w (word) na začátek následujícího slova
b (back) na začátek předchozího slova
0 na začátek řádky
$ na konec řádky
H (Home) za začátek první řádky obrazovky
M (Middle) na začátek prostřední řádky obrazovky
L (Low) na začátek poslední řádky obrazovky
pohyb v delším souboru
Ctrl-f (forward) o obrazovku dolu - jako Page Down
Ctrl-b (backward) o obrazovku nahoru - jako Page Up
28G (goto) skok na 28. řádku
G skok na poslední řádku souboru
vkládání a změny v souboru - přepnutí do vkládacího módu
i (insert) následný text se vkládá před kurzor
a (append) následný text se vkládá za kurzor
I (Insert) následný text se vkládá před první znak řádky
A (Append) následný text se vkládá za poslední znak řádky
R (Replace) následný text přepisuje od pozice kurzoru
r (replace) přepíše jeden znak
s (substitute) přepíše jeden znak a přepne se do vkládacího módu
u (undo) zruší poslední změnu
Enter ve vkládacím módu přejde na novou řádku
Esc ukončí vkládání textu a přejde do příkazového módu
dělení s pojování řádek
i Enter Esc rozdělí rádek v místě kurzoru
J (Join) připojí další řádek k aktuální řádce
5J spojí 5 řádek
mazání textu
x maže znak pod kurzorem
X maže znak před kurzorem
dd maže aktuální řádek
5dd maže 5 řádek
D maže vše od kurzoru do konce řádky
p (paste) vloží naposled smazaný text
vyhledávání řetězců
/jana hledá následující výskyt řetězce ´´jana
?josef hledá předcházející výskyt řetězce ´´josef
n (next) opakuje poslední hledání
N (Next) opokuje poslední hledání v opačném směru
záměna řetězců
:/josef/pepa/ (substitute) nahradí první výskyt na aktuální řádce
:/josef/pepa/g (global) nahradí všechny výskyty na aktuální řádce
:/josef/pepa/gc (confirm) nahradí všechny výskyty na aktuální řádce s potvrzením y Enter nahradí a Enter přeskočí
:%s/josef/pepa/g nahradí všechny výskyty v celém souboru
:5,18s/josef/pepa/g nahradí všechny výskyty na řádcích 5-18
kopírování a přesouvání
přes nepojmenovanou paměť (jen v rámci jednoho souboru)
yy nebo Y (yank) uloží aktuální řádek do paměti
5yy uloží 5 řádek
dd uloží aktuální řádku a vymaže ji
5dd uloží 5 řádek a vymaže je
p (put) vloží text z paměti za aktuální řádku
P (Put) vloží text z paměti před aktuální řádku
přes pojmenované paměti a-z
"ayy uloží aktuální řádku do paměti a
"b7yy uloží 7 řádek do paměti b
"c5dd uloží 5 řádek do paměti c a vymaže je
"bp vloží text z paměti b
práce s více soubory
:e pokus3 opravujeme další soubor
:e# návrat na předcházející soubor
:r pokus4 vložení souboru za aktuální řádek
:w pokus5 uložení pod jiným jménem
příkazy unixu
:cd work změna adresáře
:sh spuštění shellu - ukončení Ctrl-d
makra
načtení souboru příkazů source
odsazováni a zalamování textu
nastavení prostředí
:set all vypíše nastavení všech voleb
:set vypíše změněné volby
:set number před řádky jsou jejich čísla
:set nonumber zrušení volby - prefix no
atd.