neděle 4. března 2007

Vychytavky pri psani C kodu ve Vim

Proletla jsem dokument C editing with VIM HOWTO a jeste par dalsich a zde je par vychytavek, ktere mohou hodne usnadnit praci:


Skakani mezi funkcemi


Pomoci znaku { a } lze skakat mezi odstavci. Odstavce jsou shluky textu oddelene od sebe prazdnym radkem. Tedy ti znas, kteri, nepisi praseci kody a oddeluji funkce alespon jednim praznym radkem, mohou takto preskakovat mezi funkcemi. Pokud mate funkce delsi a mate i v ramci jedne funkce prazdne radky, muzete vyuzit [[ a ]]. Takto se presunujete po zavorkach znacich zacatek funkce. Muzete si take vyzkouset [] a ][. Samozrejme lze napsat treba 2[[ pro posun o dve funkce a podobne.


Preskakovani mezi zavorkami


Pro preskoceni z jedne zavorky na druhou, ji odpovidajici, lze pouzit %.


Rychle prohlizeni funkci a skakani


Predstavte si, ze ctete nejakou svou funkci a(), ve ktere mate volani na dalsi svoji funkci b(). Co dela b() nevite, tak se chcete podivat. Jak to udelat rychle, abyste v celem souboru nebloudili? Umistete kurzor do jmena funkce b() a stisknete ctrl+], az si ji doprohlednete, staci pak jen ctrl+t a jste zpet v a(). Aby vam toto fungovalo, musite si nejdrive vytvorit soubor obsahujici tyto zalozky: v shellu napiste ctags soubor.c nebo treba ctags -R *.c.

Muzete si take vytvorit vlastni zalozky dle libosti. Stisknutim mX, kde X je a-z, A-Z nebo 0-9 si vytvorite zalozku. Kdyz se pak chcete na toto misto vratit, stiskete 'X. Mala pismenka jsou lokalni zalozky pro jeden soubor. Pokud chcete mit zalozky napric vice souboru, pouzivejte pro ne velka pismena.


Pripomenuti typu


Pokud jste kurzorem na promenne a nepamatujete si jeji typ, stisknete gd (gD vas odnese na globalni deklaraci).


Doplnovani slov


Pokud mate napsany zacatek slova (treba dlouhe jmeno funkce) a nechce se vam to cele psat znova, staci ctrl+p a vybrat si, ktere z nabizenych slov chci. Nabizet se mi budou slova, ktera jsem jsem jednou nekde napsala. Nabizena slova lze prochazet pomoci ctrl+p smerem dopredu a crtl+n smerem dozadu.


Vzhled


Tyto prikazy muzete pouzivat primo, nebo si je dat do .vimrc:

  • set textwidth=80 - maximalni pocet znaku na radce

  • set cindent - automaticke odsazovani


Prace se soubory



  • Pokud si editujete nejaky soubor a date :n (otevreni noveho souboru), do toho puvodniho se dostanete zpet pomoci :e#

  • Rozpulit vim, aby bylo videt vice souboru najednou, lze pomoci :split. Pro prepinani mezi temito okenky pouzivejte crtl+w crtl+w.

4 komentářů:

Anonymní řekl(a)...

Díky za uužitečný tipy, už to začnu používat (a snad si na to rychle zvyknu ;-)

Anonymní řekl(a)...

Ještě k tomu rozdělení na okénka: lze půlit aktuální okénko horiznotálně, jak jsi psala, ale i vertikálně (mě se líbí víc, pokud člověk rozumně dodržuje hranici 80 znaků na řádek, lze mít krásně dva soubory vedle sebe). Vertikálně - na to je CTRL+V, velikost se upravuje CTRL+>, resp. < (menšítko značí směr posunu hranice). Horizontalně se dá půlit i CTRL+N, a posouvat hranice jde CTRL++, resp. CTRL+-. A bez zadání počtu opakování posunutí hranice (o kolik znaků) se to snad ani nedá používat - typicky 20CTRL++.

Martina řekl(a)...

Wow, diky, to se bude hodit :)

Unknown řekl(a)...

Zrovna se snažím na vim tak nějak přecházet, takže tohle je docela užitečný článek pro mně :-)