Editor vim - konfigurace
Do konfiguračního souboru ~/.vimrc (nebo ~/.exrc)
se zapisují příkazy editoru ex. Na rozdíl od práce v editoru VIM,
v konfiguračním souboru se nezapisuje před příkazy dvojtečka.
Všechny zde uvedené příkazy lze vyzkoušet i interaktivně ve VIMu (v ex módu).
| syn on | barevny rezim (pro psani C++, HTML atd.) |
| syn off | vypne barevny rezim |
| :syn sync fromstart | Zadejte tento příkaz (v ex módu), pokud se barevné zývrazňování nějakým způsobem rozsype |
Atributy
Nastavování proměnných pomocí set
(Pouzie-li se prikaz :se misto :set, pak zmena plati pouze do vypnuti aktualniho
souboru).
SYNTAX
- :set jmeno_atributu
- Zapne atribut
- :set nojmeno_atributu
- Vypne atribut
- :set jmeno_atributu=hodnota
- pro nastaveni hodnoty
- :set jmeno_atributu?
- pro zjisteni hodnoty atributu
- :set
- pro zjisteni hodnot atributu lisicich se od implicitnich hodnot
- :set all
- zjisti hodnoty vsech atributu
- :set autowrite redraw nomagic shiftwidth=4
- změní několik atributů naráz
Uložení atributů
Jednou z moznosti je prikazem set (bez dvojtecky) umistit do souboru .vimrc,
ktery je ulozen v domovskem adresari.
Druhou moznosti je atributy ulozit do promenne EXINIT v souboru
~/.profile.
(Např. export EXINIT="set autowrite nomagic shiftwidth=4")
Nejdůležitější atributy
atributy (implicitni hodnoty) {zkratka}
- autoindent (no...) {aw}
- (odsazovani) po stisku
Enterse kursor presune na dalsi radek se stejnym odstazenim. (Ctrl-d ve vkladacim rezimu nas nasledne vraci o tolik mezer, kolik je nastaveno v atributuswiftwidth) - autowrite (no...)
- prikaz
:n jmenozpusobi automaticke ulozeni aktualniho souboru, stejne tak pri prikazu:! prikaz. - list (no...)
-
Tabulatory zobrazuje jako
^Ia konec radku jako$. - magic (magic)
- symboly ., *, [, \ se chapou jako metaznaky
- number (no...) {nu}
- zobrazuji se poradova cisla radku
- report=hodnota (2)
- limit, jehoz prekroceni se uzivateli oznami (napr. smazu vice jak 2 radky, vypise se, kolik jsem smazal)
- shiftwidth=hodn (8)
- o kolik mezer se posune text pri pouziti
<a>. - wrapscan (wrapscan){ws}
- pri hledani retezce se po dosazeni konce (respektive zacatku) pokracuje dal od zacatku (respektive konce)
- wrapmargin=hodn (0){wp}
- je-li hodnota kladne cislo
na zbyva-li k pravemu okrajinmezer, automaticky se prejde na novy radek. Nedopsane slovo presune cele. - ignorecase (no..) {ic}
- pri hledani retezcu nerozlisuje mala a velka pismena
- hlsearch (no..) {hls}
- Zapne zvyrazneni nalezenych retezcu. Zvyrazneni se vypne prikazem
:noh[lsearch] - showmode (showmode)
- v poslednim radku zobrazi, do jakeho vkladaciho rezimu jsme se prave prepnuli (INSERT, REPLACE)
- tabstop=hodnota (8)
- nastavi tabulatory na obrazovce. Nove nastaveni se vsak netyka pripadneho tisku souboru.
- writeany (no..) {wa}
- dovoluje libovolny typ prikazu
write(pokud je napriklad soubor jen pro cteni, neni nutne psat:w!, ale staci zadat:w) - wrap (no..)
- dlouhe radky budou zobrazeny na obrazovce cele (pokud je radek delsi nez obrazovka, zalomi se)
- showmatch (no..)
- pri presunu na zacatek (konec) zavorky zablika cela zavorka. Vhodne pro programatory.
- smartindent (no..)
- Chytre odsazovani (odsazuje bloky dle zavorek atp. Vhodne pri programovani).
Kódování
fileencoding=utf-8 fileencodings=utf-8,latin2 termencoding=utf-8
Definice maker
Makra muzeme predem definovat v souboru .vimrc, nebo az pri behu editoru
prikazem :map znaky poslopnost_prikazu, kde znakyo je posloupnost
znaků, která spustí makro.
Makra se spuštějí v příkazovém režimu.
Pro definici maker lze pouzit libovolne znaky krome znaku ENTER a ESC. Makra nesmi zacinat cislici (cislice se pouzivaji pro pocet opakovani prikazu).
- :map
- vypise vsechna jmena maker a jejich posloupnosti prikazu
- :unmap znaky
- obnovi puvodni vyznam znaku
- :map x dd
- klavesa
xma novy vyznam (maze aktualni radek) - :map <F5> dd
- klavesa F5 smaze radek
- :map K 03ly5l$pj
- Presune kursor na zacatek radku (0), pak se kurzor presune o tri znaky doprava (3l), pak do nepojmenovaneho bufru zkopiruje 5 nasledujicich znaku (y5l). Pak se kursor presune na konec radku ($), vypise se obsah nepojmenovaneho bufru (p) a prejde se na dalse radek (j).
Zkratky
Zratky fungují ve vkládacím režimu, ale třeba i v ex módu.
- :map! zkratka dlouhy_retezec
- zkratka je automaticky nahrazena dlouhym retezcem (ihned)
- :ab zkratka dlouhy_retezec
- zkratka je automaticky nahrazenda dlouhym retezcem, pokud za skratkou nasleduje mezera nebo Escape
- :map! (:ab)
- zobrazi seznam zkratek
- :unmap! zkratka
- zrusi zkratku
- :unab zkratka
- zrusi zkratku
Protože píšu často HTML a nechce se mi kvůli HTML značkám přpínat z češtiny na angličtinu, mám definovanou spoustu podobných značek:
map! §; ~
map! §? <
map! §: >
map! §§ '
map! §§§ §
map! §/ {
map! §( }
map! §ú [
map! §) ]
map! §2 @
map! §3 #
map! §4 $
map! §5 %
map! §6 ^
map! §7 &
map! §8 *
map! §h+ <h1>
map! §H+ </h1>
map! §hě <h2>
map! §Hě </h2>
map! §hš <h3>
map! §Hš </h3>
map! §hč <h4>
map! §Hč </h4>
map! §a <a href="">
map! §A </a>
map! §br <br />
map! §code <code>
map! §Code </code>
…