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 fromstartZadejte 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 Enter se kursor presune na dalsi radek se stejnym odstazenim. (Ctrl-d ve vkladacim rezimu nas nasledne vraci o tolik mezer, kolik je nastaveno v atributu swiftwidth)
autowrite (no...)
prikaz :n jmeno zpusobi automaticke ulozeni aktualniho souboru, stejne tak pri prikazu :! prikaz.
list (no...)
Tabulatory zobrazuje jako ^I a 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 n a zbyva-li k pravemu okraji n mezer, 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 x ma 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>
…
Komentář Hlášení chyby
Created: 13.7.2013
Last updated: 13.7.2013
Tato stánka používá ke svému běhu cookies, díky kterým je možné monitorovat, co tu provádíte (ne že bych to bez cookies nezvládl). Také vás tu bude špehovat google analytics. Jestli si myslíte, že je to problém, vypněte si cookies ve vašem prohlížeči, nebo odejděte a už se nevracejte :-). Prohlížením tohoto webu souhlasíte s používáním cookies. Dozvědět se více..