Editor vi/vim: Porovnání verzí

Z Znalosti
m
m
Řádek 14: Řádek 14:
 
# 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

Verze z 1. 7. 2016, 12:20

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

  1. příkazový - znaky jsou interpretovány jako příkazy
  2. 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
  3. 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.