Vim cerca i substitueix

Vim Search Replace



Vim és un editor de text avançat i popular que es preinstal·la a la majoria de distribucions de Linux. És un editor de text basat en línia d'ordres que s'utilitza principalment en sistemes operatius no basats en GUI. És altament configurable i inclou moltes funcions. Un punt significatiu de Vim és que està molt optimitzat per a la repetició.

En aquest article, explicarem una de les seves funcions més útils: la cerca i la substitució. Amb un grapat de configuracions, podeu cercar qualsevol cosa que vulgueu a la velocitat increïble i amb una granularitat més fina.







Mètode núm. 1 Cercar i substituir una ocurrència a la vegada (mitjançant l'ordre barra i punt)

La forma més senzilla de buscar i substituir una paraula a Vim és mitjançant l’ordre barra i punt. Slash (/) es pot utilitzar per buscar una paraula mentre que el punt (.) Es pot utilitzar per substituir aquesta paraula.



Seguiu els passos simples següents per cercar i substituir qualsevol paraula de l'editor Vim:



  • Obriu el fitxer a Vim
  • Premeu la tecla barra (/) juntament amb el terme de cerca com / search_term i premeu Retorn. Destacarà la paraula seleccionada.
  • A continuació, premeu la tecla cgn per substituir la paraula ressaltada i introduir el terme replace_term
  • Torneu al mode normal. A continuació, premeu n per passar a la següent ocurrència del terme de cerca.
  • A continuació, premeu el punt (.) Si voleu substituir la següent ocurrència pel mateix replace_term, en cas contrari torneu a prémer la tecla n per passar a la següent ocurrència.

És el mètode més ràpid i ràpid per a la cerca bàsica i substitueix les funcions, ja que només implica algunes pulsacions de tecles i menys interrupcions en el treball actual. Tot i això, per cercar una paraula que es produeixi massa vegades, es convertirà en una tasca repetitiva i que requereix molt de temps.





Amb Vim, hi ha una altra manera millor d’evitar aquesta tasca repetitiva que utilitza l’ordre substitut.

Mètode # 2 Cerca i substitució mitjançant l'ordre Substitueix

L'ordre substitut pot utilitzar-se per realitzar cerques bàsiques a avançades i substituir funcions per una sola ordre. La sintaxi d'aquesta ordre és:



$: s/<termini_cerca> /<substitut_term> /opció

Tingueu en compte que heu d’introduir aquesta ordre en mode normal.

On

  • S: significa substitut
  • search_term: la paraula que voleu cercar i substituir
  • replace_term: la paraula amb la qual voleu substituir-la
  • Opció: c (per a confirmació), g (substituir tota ocurrència en una línia), i (per ignorar el cas)

Cerca i substitució

Per fer cerques bàsiques i substituir-les mitjançant l'ordre substitutiva, utilitzeu la sintaxi següent:

:%s/<termini_cerca> /<substitut_term> /g

Aquesta ordre substituirà totes les instàncies de search_term pel substitut_term.

Per exemple, aquest és el nostre exemple de text:

Ubuntu és un dels sistemes operatius Linux més utilitzats. Ubuntu inclou milers de programes útils. Amb la línia d'ordres d'Ubuntu, podeu realitzar gairebé qualsevol tipus de tasca.

Per substituir cada aparició d'Ubuntu per Debian en el text següent, s'utilitzaria l'ordre següent:

:%s/Ubuntu/Debian/g

Cerqueu i substituïu en una sola línia

Per cercar i substituir l'ocurrència d'una paraula només en una sola línia en lloc de tot el fitxer, utilitzeu la sintaxi següent:

: s/<termini_cerca> /substitut_term/g

Per exemple, per substituir l'aparició d'Ubuntu per Debian en el text de mostra anterior, s'utilitzaria l'ordre següent sense el símbol%:

: s/Ubuntu/Debian/g

Cerqueu i substituïu per confirmació

Si voleu que se us demani confirmació abans de substituir el terme de cerca, utilitzeu c al final de l'ordre de cerca de la següent manera:

: s/<termini_cerca> /<substitut_term> /gc

L'ordre anterior us demanarà confirmació abans de cada substitució (introduïu y per sí mentre que n per no).

Cerca i substitució de majúscules i minúscules

Quan realitzeu la cerca i el reemplaçament a Vim, per defecte distingeix entre majúscules i minúscules. Podeu fer una cerca que no distingeixi entre majúscules i minúscules afegint i al final de l'ordre de la manera següent:

: s/<termini_cerca> /<substitut_term> /donar

Per exemple, per cercar el terme Ubuntu independentment del seu cas (UBUNTU, Ubuntu, ubuntu, uBuntu), s’utilitzaria l’ordre següent:

: s/ubuntu/debian/donar

Cerqueu i substituïu tota la paraula

Per defecte, l'ordre substitut cerca qualsevol coincidència, ja sigui parcial o completa. Per tal de fer coincidir el terme search_term exacte i, a continuació, substituir-lo pel substitut_term, tanqueu el _term de cerca dins del fitxer.

Per exemple, en alguns documents voleu cercar i substituir la paraula exacta que heu fet per mi. En aquest cas, s'utilitzaria l'ordre següent:

: s/<vostè> /em/

Trobarà la paraula tu i la substituirà per mi. Tot i això, no substituirà les paraules com la vostra.

Cerqueu i substituïu paraules entre línies concretes

Per cercar una paraula entre les línies concretes en lloc de només una línia o tot el fitxer, es pot utilitzar la sintaxi següent:

:<línia_inici>,<línia_final>s/<termini_cerca> /<substitut_term> /g

Per exemple, per cercar i substituir l'aparició d'Ubuntu per Debian a partir de línies que van del 3 al 8 en algun fitxer, l'ordre seria:

:1, Dècades/ubuntu/debian/g

Per cercar i substituir l'aparició d'una paraula des de la línia actual fins al següent nombre de línies, s'utilitzaria la sintaxi següent:

: s/termini_cerca/substitut_term/g x

De la mateixa manera, per cercar i substituir l'aparició d'una paraula des de la línia actual fins a l'última línia: s'utilitzaria la sintaxi següent:

:.,$ s/termini_cerca/substitut_term/g

CONCLUSIÓ

En aquest article, hem après les dues maneres de cercar i substituir qualsevol paraula en un editor de Vim des de la línia d’ordres. La primera ordre que feia servir la barra i el punt és el mètode més senzill i senzill, però resulta repetitiu quan cerqueu i substituïu una paraula que es produeix massa vegades. L’altra ordre que és una ordre de substitució pot semblar difícil i complexa, però un cop comenceu a practicar-la, la trobareu molt útil en diversos escenaris.