Vim

De Viquipèdia

Vim (de l'anglès Vi IMproved) és una versió millorada de l'editor de text vi, present en tots els sistemes UNIX. Braam Moolenaar va presentar la primera versió el 1991, i des d'aleshores ha experimentat moltes millores. La principal característica de Vim i Vi consisteix en que tenen diferents modes entre els que s'alterna per realitzar certes operacions, el que els diferència de la majoria d'editors que només tenen un mode en el que s'introdueixen les comandes mitjançant convinacions de tecles o interfícies gràfiques.

Taula de continguts

[edita] Vi IMproved

Vim, com el seu antecessor vi, s'usa des d'una terminal en mode text. Es controla per complet mitjançant el tecat. Això és en part a causa que el Vi va ser desenvolupat a mitjans de la dècada del 1970, quan els terminals es comunicaven amb un ordinador principal (hsot) mitjançant una connexió sèrie, que no era molt ràpida. Les limitacions dels terminals de l'època van donar lloc al concepte de varis modes, idea que ha resultat molt útil des d'aleshores. Vim és gairebe 100 % compatible amb vi, tot i que té moltes millorer i fins i tot compte amb versions amb interfícies gràfiques i menús que es poden usar mitjançant el ratolí (gvim o kvim]), així com una versió simplificada, evim que es comporta com un editor sense diversos modes.

Hi ha versions de Vim per molts sistemes operatius i es pot trobar a gairebé tots els sistemes GNU/Linux, on en moltes ocasions es pot executar a través de la comanda vi, que crida el Vim a través d'un enllaç simbòlic o un alies. Quan s'inicia Vim, ho fa en mode comanda, i mostra la ':version' per pantalla.

[edita] Evolució de Vim

Quan Bram Moolenar va comprar un computar Amiga a finals e la dècada del 1980, volia seguir usant l'editor de Unix al que ja s'havia acostumat, però els clons de vi disponibles per Amiga no li agradaven. Així que el 1988 va partir del clon de vi Stevie 1.0 com a base per començar a desenvolupar Vim. En un principi el va anomenar vi IMitation (imitació de vi), perquè en un principi la seva idea era emular les funcionalitats que vi tenia a Unix al seu nou sistema. El 1991 va aparèixer la versió 1.14 a "Fred Fish disk #591", una col·lecció de programari lliure per Amiga. La versió 1.22 va ser la primera que va aparèixer amb versions per Unix i MS-DOS. Per aquells temps l'acrònim que li donava nom ja havia canviat a Vi IMproved.

Els dos anys següents Vim va tenir grans millores. Va donar un pas importants al incorporar finestres a la versió 3.0 (1994). amb vi es poden tenir varis fitxers oberts en la mateixa sessió, però només se'n pot veure un a la vegada; les finestres de Vim permeten veure'ls simultàniament. Des de la versió 4.0 (1996) hi ha una interfície gràfica disponible que va començar a desenvolupar Robert Webb. Des de la versió 5.0 (1998) Vim té ressaltat de sintaxis.

[edita] Funcionalitats

  • Corrector ortogràfic integrat
  • Autocompletat de text
  • Agrupació de fitxer en pestanyes
  • Finestres múltiples, que divideixen l'àrea d'edició horitzonal o verticalment
  • Resaltat de sintaxis independentment del llenguatge de programaicó o del les etiquetes usades
  • Comandes de desfer i refer
  • Comprensió de més de 200 sintaxis diferents
  • Llenguatge de scripting per programar extensions
  • Completat de comandes, paraules i noms de fitxers
  • Compresió i descompressió de fitxers, que possibilita editar fitxers comprimits
  • Reconeixament de formats de fitxer i conversió entre els mateixos
  • Historial de comandes executades
  • Grabació i reproducció de macros
  • Guardat de configuració entre sessions
  • Plegat automàtic i manual de codi
  • Interfície gràfica opcional
  • Altament configurable i personalitzable
  • Gairebé 100% compatible amb vi, però sense els seus defectes

[edita] Ajuda de Vim

Vim disposa d'una excel·lent documentació, d'acord amb l'eslògan Una característica no documentada és una característica inútil. La documentació, en mode text, és molt amplia i llegible. L'usuari hi accedeix mitjançant una cerca a la descripcció de varies funcionalitats que poden solucionar el seu problema. A través del ressaltat de la sintaxis propia de l'ajuda de Vim es ressalten les paraules clau. Mitjançant convinacions de tecles executades quan el cursor està sobre una paraula es pot navegar per l'ajuda, tornant endarrera en cas de necessitat. En la versió gràfica també es pot usar el ratolí per fer això. La comanda :helpgrep és important, ja que permet a l'usuari cercar una paraula als texts d'ajuda, sense que sigui necessari que sigui una paraula clau. Completen l'ajuda en unaversió HTML disponible a Internet i una llarga llista de preguntes freqüents (FAQ).

[edita] Asistència per programadors

Vim és un editor fet per programadors i per programadors. Per facilitar la programació, Vim disposa d'un mode "editar, compilar,corregir". De la mateixa forma que els entorns de desenvolupament integrats, per editar el codi font a més pot cridar un compilador extern, i interpretar els resultats. Si hi ha errors de compilació, aquests es mostren en una finestra. Els missatges d'error dirigeixen l'usuari a la zona on s'han trobat per així corregir-los. Aleshores torna a començar el cicle "editar, compilar, corregir" i, si és necessari, corregir nous errors. El treball del programador també es veu facilitat pel ressaltat de sintaxis i la funcionalitat de plegar el codi font (veure ':help quickfix').

[edita] Comparació de fitxers

Comparar dues versions d'un fitxer és una tarea molt freqüent per alguns usuaris. Vim ofereix una solució simple, les dues versions diferents del fitxer es mostren en dues finestres contiguües en les que es ressalten les diferències. D'aquesta manera es poden veure colorejades les diferències intercalades entre les versions. Per exemple, les eliminacions apareixen en vermell i les noves insercions en violeta.

[edita] El llenguatge interpretat de Vim

Vim disposa d'un llenguatge interpretat, o de scripting, per programar noves funcionalitats, mitjançant el qual es poden automatitzar operacions particulars massa complexes per fer amb una macro. Els scripts es poden llegir i interpretar mitjançant el :source.

[edita] Modes

Vim és un editor modal, el que significa que es pot treballar en diferents modes per realitzar una feina determinada. Per veure el mode en que es troba Vim s'ha de tenir activada l'opció showmode. A continuació es descriuen els sis modes de Vim. Els tres primers són els modes del vi original. Els cinc modes addicionals no s'han d'entendre per separat, sino en convinació amb el mode base. Vegeu també l'ajuda de vim al respecte: ':help vim-modes'.

[edita] Mode comandes

Vim comença amb mode comanda, també conegut com a mode normal. D'aquesta manera es poden usar combinacions de tecles, per, per exemple, copiar línies i treballar en el format del text. Aquest és el mode central, des del que es canvia a altres modes. Si no se sap que s'està fent, apretant dues vegades la tecla Esc sempre es pot tornar al mode normal. Si ja s'estava en mode normal i tant la configuració de Vim com la del terminal ho permeten, Vim emet un xiulet.

[edita] Mode inserció

En mode inseració, quan s'apreten les tecles s'edita el text com en altres editors. Es pot canviar del mode comandes al mode inserció apretant la tecla i. Hi han moltíssims comandes per passar al mode inserció, que varien substancialment, doncs permeten per exemple editar al final de la línia, en un punt concret del text, editar borrant una paraula, entre moltes altres. Un usuari expert pot treure un gran profit de l'existència d'aquesta varietat de comandes.

En mode inserció totes les tecles tenen una altra funció a més de inserir les lletres, que s'activen prement simultàniament les tecles control o majúscules. La tecla Esc és molt important en mode inserció, ja que permet canviar d'inserció a comandes.

[edita] Mode línies de comandes

A aquest mode s'accedeix apretant la tecla dos punts :. Després es poden introduir comandes complexes, com per exemple cercar i reemplaçar amb expressions regulars. Apretant la tecla Esc es pot tornar al mode comandes. Les cerques es poden realitzar amb el comande / (cap endavant) i ? (cap endarrera). També es poden filtrar línies mitjançant !.

[edita] Mode visual

Aquest mode és una millora respecte al vi. Mitjançant unes convinacions de tecles en convinació amb les tecles de moviment del cursor, es pot marca una àrea de text, ja sigui un grup de línies o un bloc. Una vegada es té el text marcat sempre es poden usar comandes del mode comandes per manipular-lo. Les operacions que es poden realitzar amb aquest mode són més simples que les del mode comandes.

[edita] Modo selecció

Aquest mode comença com el mode visual, doncs s'ha de seleccionar un bloc de text. Després de la selecció, es pot canviar al mode selecciió mitjançant Control-G. Una vegada en el mode, si es pulsa una tecla imprimible, el text seleccionat es borra, s'acaba el mode selecció i apareix el símbol corresponent a la tecla apretada. La selecció es pot extendre apretant majúscules i les tecles de fletxes. el comportament habitual en els programes de Microsoft Windows. Aquest mode es pot finalitzar apretant la tecla Esc.

[edita] Mode Ex

Aquest mode s'assembla al mode línia de comandes, amb la diferència que després de l'execució d'una comanda no es torna al mode comandes. S'hi entra apretant Q i s'acaba amb vi. D'aquest mode Vim imita l'editor UNIX ex, que manipulava el text línia a línia degut a les limitacions de l'època, en lloc d'editar tota la pàgina.

[edita] Millores sobre vi

Vim és més útil que el seu antecesor Vi per varies extensions, per exemple:

[edita] Dígrafs

Útil per fer caràcters de l'espanyol, si el teclat o la configuració del mateix no ho permeten (hi ha altres maneres d'aconseguir-ho). Presionant Control-K i després una seqüència de dos tecles d'acord amb el caràcter, p.ex. 'a imprimeix á, n? imprimeix ñ, u: imprimeix ü, !I imprimeix ¡, ?I imprimeix ¿. Es poden veure altres caràcters amb la comanda :digraphs.

[edita] Resaltat de sintaxis

Permet veure amb quins colors es ressalta la sintaxis d'alguns tipus de fitxers (s'activa amb :syntax enable.)

[edita] Sagnat automàtic

Permet sagnar automàticament varis tipus de fitxer com [XML]], C, LaTeX, XSLT. S'activa amb :filetype indent on i es desactiva amb :filetype indent off.

[edita] Fitxers de configuració

Cada usuari pot tenir les seves propies configuracions al fitxer ~/.vimrc, que consta de línies amb comandes o comentaris. Els comandes no poden començar amb ':' i els comentaris es coloquen en línies completes o al final d'una línia que comença amb cometes.

[edita] Llicència

Vim (versió 6.1 i posterior) és programari lliure. Abans el seu autor no tenia gaires diners per desenvolupar però el va contractar Google, i va demanar a la gent que li feia donacions a ell que les fes a una ONG que dóna suport a l'infància d'Uganda, una regió molt afectada pel SIDA, ja que ara ja té diners amb el sou que li paga Google.

[edita] Enllaços externs