Vim

De whats Wiki

Dreceres ràpides: navegació, cerca

Contingut

Afegir caracters respecte un block

per exemple afegir o reemplaçar un text en mig d'un altre.

Amb això podem fer coses aixi:

rootroot
rootroot
rootroot
rootroot
rootroot

Resultat:

root:0:0:root
root:0:0:root
root:0:0:root
root:0:0:root
root:0:0:root


Comandes:

Ctrl v     (Selecciones el block)
I          (si volem reemplaçar c)
:0:0:      (Text)
Esc

Guardar marcadors a un fitxer

Per guardar diferents marcadors en un fitxer

1) cal posar-se a la posisicó que volem marcar
2) :ma a   (on a és el nom de la marca, i pot ser una lletra de a-z)

Per anar a una marca

Per anar a la línia on hi ha una marca

:'a (on a és el nom de la marca)

Per anar exactament al caracter de la marca

:`a

Per llistar tots els buffers

:buffers!


Exuberant ctags

Parsejar els fitxers

ctags -R

Per anar a la definició

Ctrl + ]

Per anar enrere

C-T

Indentat automàtic

Tipic que enganxes un codi a la consola i queda aixi:


if (a != b)
   {  
         printf("a");
            printf("b");
               printf("c");
                  }

Comandes:

Ctrl V
=

Resultat:

if (a != b)
{  
   printf("a");
   printf("b");
   printf("c");
}

Autocompletat

La tecla Ctrl n autocompleta un text que troba en tot el fitxer o en qualsevol del fitxers incluits.

if (a != b)
{  
   printfDebugingClassMethodByInteger("a");
   printf("b");
   prin[Fem un Ctrl n]
}

proveu apretant varios cops. Interessant mapejarse en la tecla TAB.


Mapejarse combinacions de tecles, en el vimrc

imap ;vm void main(void) {<CR>}<Esc>ko
imap ;im int main(int argc, char *argv[]) {<CR>}<Esc>ko
imap ;if if () {<CR>}<Esc>kf(a


ara si en mode inserció escrius ;im Voilà! :)

Incrementar i decrementar numeros

Amb això podem fer coses aixi:

root:0:0:root
root:0:0:root
root:0:0:root
root:0:0:root
root:0:0:root

Resultat:

root:17:0:root
root:0:0:root
root:-17:0:root
root:0:0:root
root:0:0:root

Comandes:

17 Ctrl a   (o Ctrl x)

Grabar Macros

hola que tal com estem
hola que tal com estem
hola que tal com estem
hola que tal com estem
hola que tal com estem
...

Resultat:

com hola que tal estem
com hola que tal estem
com hola que tal estem
com hola que tal estem
com hola que tal estem
...

Comandes:

q1 $ bb dw 0 P j q    (Macro grabada)
400@1   (Executem la macro 400 cops)

ALTRES

Borrar caracter de sota el cursor

x

Borra desde el cursor fins al final de la paraula incloent els espais de darrere

dw 

Borra desde el cursor fins al final de la paraula sense els espais de darrere

de

Borra desde el cursor fins al final de la línia

d$

Per desfer tots els canvis d'una linia

U

Per fer un reundo

ctrl +r

Per reemplaçar

a
r

Per arreglar el tros de paraula del cursor fins al final

cw

Per arreglar tot el que queda de frase

c$

Per veure les propietats de l'arxiu k estem editant

ctrl +g

Per anar al final de l'arxiu

shift +G

Buscar cap avall

/

Buscar cap amunt

?

Per anar d'un parentesis a un altre

%

Per reemplaçar la primera ocurrencia de thee per the de la linia

:s/thee/the

Per reemplaçar totes les ocurrencies de thee per the de la linia

:s/thee/the/g

Per reemplaçar totes les ocurrencies de thee per the de la linia 4 a la linia 9

:4,9s/old/new/g

Per reemplaçar totes les ocurrencies de thee per the del fitxer

:%s/thee/the/g

Per reemplaçar totes les ocurrencies de SEND per DONE de la línia .s/SEND/DONE/g

Per executar una comanda a la shell

:!comanda

Insertar el contingut d'arxius

:r arxiu

Anar al final de linia

$

Per no diferenciar entre majuscules i minuscules

:set ic

Per fer q les linies continuin sota

:set wrap

Per fer q no continuin

:set nowrap

Per a que nombri totes les linies

:set number

Per canviar els colors depenent del teu color de fons

:set bg=dark
:set bg=light

Per a que et proposi la paraula q vols escriure

ctrl +n
ctrl +p

i si vols ampliar els arxius on buscarles (per mirar a tots el ph?)

:ctags *.ph?

Per tallar la pantalla horitzontalment

:split

Per tallar-la verticalment

:vs

Per canviar el cursor entre els tall

ctrl+w  w

Per augmentar o disminuir la mida d'un tall

ctrl+w +
ctrl+w - 

Per tancar tots els talls menys al que s'esta en el moment

:only

Per obrir noves finestres

:new

Per fer un diff entre arxius

vimdiff main.pl main2.pl"

Per obrir dos arxius alhora

vim arxiu1 arxiu2

Per passar d'un a l'altre

:next
:previous

Per obrir un arxiu

:e main2.pl

Per canviar a 4 el tamany del tabulador

:retab 4

Posar colors

:syntax on 

Per editar remotament

vim scp://nom_usuari@servidor/fitxer_del_home.txt
vim scp://nom_usuari@servidor//fitxer_del_root





    Note: vim users can setup the .vimrc file with the following. Now when you type 
      CTL-X CTL-T in insert mode, you'll get a thesaurus lookup.
          set dictionary+=/usr/share/dict/words
          set thesaurus+=/usr/share/dict/words
    Or, you can call aspell with the F6 command after putting the folling entry in your
    .vimrc file
          :nmap <F6> :w<CR>:!aspell -e -c %<CR>:e<CR>
    Now, hit F6 when you're in vim, and you'll get a spell checker.



LINKS

http://vimdoc.sourceforge.net/