Editor vi/vim: Porovnání verzí
Z Znalosti
m |
m |
||
| (Nejsou zobrazeny 4 mezilehlé verze od stejného uživatele.) | |||
| Řádek 2: | Řádek 2: | ||
== Příkazy editoru vi/vim == | == Příkazy editoru vi/vim == | ||
| − | Souhrnný přehled vim - skutečný editor textů | + | * Souhrnný přehled [http://www.nti.tul.cz/~satrapa/docs/vim/ vim - skutečný editor textů] |
| − | + | * Nebo také (přehlednější, stručný) [http://www.ucsimply.cz/elnx/editor-vi/ Editor vi] | |
| − | Nebo také (přehlednější, stručný) Editor vi | + | * [http://www.linfo.org/vi/index.html How to use vi] - učební text |
| − | + | * Důležitý článek: [http://www.viemu.com/a-why-vi-vim.html Why, oh WHY, do those #?@! nutheads use vi?] | |
| − | How to use vi - učební text | ||
| − | |||
| − | Důležitý článek: Why, oh WHY, do those #?@! nutheads use vi? | ||
== Shrnutí == | == Shrnutí == | ||
| Řádek 14: | Řádek 11: | ||
# příkazový - znaky jsou interpretovány jako příkazy | # příkazový - znaky jsou interpretovány jako příkazy | ||
# vkládací - vkládání textu - na poslední řádce INSERT | # 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 | + | #* 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 | + | #* z něho zpět do příkazového Esc |
# rozšířený příkazový (ex mód) | # 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 | * 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í === | === spuštění === | ||
| − | vi | + | Editor <tt>vi</tt> spustíme příkazem |
| − | + | vi NázevSouboru | |
=== ukončení === | === ukončení === | ||
* ZZ s uložením opravovaného souboru | * ZZ s uložením opravovaného souboru | ||
| Řádek 27: | Řádek 24: | ||
* :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/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 | |
| − | + | === 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. | |
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
Aktuální verze z 1. 7. 2016, 13:07
Obsah
- 1 Příkazy editoru vi/vim
- 2 Shrnutí
- 2.1 tři módy činnosti
- 2.2 spuštění
- 2.3 ukončení
- 2.4 pohyb kurzoru
- 2.5 pohyb v delším souboru
- 2.6 vkládání a změny v souboru - přepnutí do vkládacího módu
- 2.7 dělení s pojování řádek
- 2.8 mazání textu
- 2.9 vyhledávání řetězců
- 2.10 záměna řetězců
- 2.11 kopírování a přesouvání
- 2.12 práce s více soubory
- 2.13 příkazy unixu
- 2.14 načtení souboru příkazů source
- 2.15 odsazováni a zalamování textu
- 2.16 nastavení prostředí
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í
Editor vi spustíme příkazem
vi NázevSouboru
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
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.