Editor vi/vim: Porovnání verzí
Z Znalosti
m |
m |
||
| Řádek 27: | Řádek 27: | ||
* :w pokus2 uložení souboru pod jiným jménem | * :w pokus2 uložení souboru pod jiným jménem | ||
=== pohyb kurzoru === | === pohyb kurzoru === | ||
| − | + | * šipkami - většinou fungují | |
| − | + | * pokud nefungují tak | |
| − | + | ** h j k l | |
| − | + | *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/ (substitute) nahradí první výskyt na aktuální řádce | ||
:/josef/pepa/g (global) nahradí všechny výskyty na aktuální řádce | :/josef/pepa/g (global) nahradí všechny výskyty na aktuální řádce | ||
Verze z 1. 7. 2016, 12:37
Obsah
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
- 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.