L'editor predeterminat que ve amb el sistema operatiu Linux/UNIX s'anomena nosaltres (editor visual). Amb l'editor vi, podem editar un fitxer existent o crear-ne un nou des de zero. també podem utilitzar aquest editor per llegir només un fitxer de text. La versió avançada de l'editor vi és el perquè editor.
Taula de contingut
- Com obrir VI Editor
- Modes de funcionament a l'editor vi
- Comandes i exemples de Linux vi
- Moure's dins d'un fitxer (navegació) a Vi Editor
- Comanda de control (desplaçament) a l'editor vi
- Inserció i substitució de text a Vi Editor
- Eliminació de caràcters i línies a l'editor Vi
- Copieu i enganxeu a l'editor Vi a Linux
- Desa i surt a Vi Editor a Linux
- Cerca i substitució en (ex-Mode) a Vi Editor (Linux)
- Bloqueja les ordres d'eliminació en (mode x) a Vi Editor
- Bloqueja l'ordre de còpia en (mode x) a Vi Editor
- Bloqueja les ordres de moviment en (mode x) a Vi Editor
Com obrir VI Editor
Per obrir els editors vi, només hem d'escriure l'ordre esmentada a continuació.
vi [file_name]>
Aquí, [file_name] = aquest és el nom del fitxer que volem crear o obrir el fitxer preexistent.
Exemple 1 : Creant un fitxer nou amb `file_name` = geeksforgeeks
vi geeksforgeeks >
per crear un fitxer hem utilitzat vi geeksforgeeks
Com podem veure, hem creat un nou fitxer geeksforgeeks a l'editor vi, que no té contingut.
Exemple 2: Obrint un fitxer preexistent amb `file_name` = jayesh
vi jayesh>
S'ha obert un fitxer que ja existia amb vi jayesh
Com podem veure, hem obert un file_name = Jayesh, que ja existia a l'editor vi.
Modes de funcionament a l'editor vi
Hi ha tres modes de funcionament a vi:

Aquí hi ha tres maneres d'operar a l'editor vi
Mode d'ordre Vi:
Quan vi s'inicia, està en mode d'ordres. Aquest mode és on vi interpreta els caràcters que escrivim com a ordres i, per tant, no els mostra a la finestra. Aquest mode ens permet moure'ns per un fitxer i esborrar, copiar o enganxar un fragment de text. Entrar al mode d'ordres des de qualsevol altre mode, cal prémer el botó [Esc] clau. Si premem [Esc] quan ja estem en mode d'ordres, vi emetrà un so o parpellejarà la pantalla.
Inserim mode:
Aquest mode us permet inserir text al fitxer. Tot el que s'escriu en aquest mode s'interpreta com a entrada i, finalment, es posa al fitxer. El vi sempre s'inicia en mode d'ordres. Per introduir text, heu d'estar en mode d'inserció. Per entrar en mode d'inserció, només cal que escriviu i. Per sortir del mode d'inserció, premeu la tecla Esc, que us tornarà al mode d'ordres.
Vi Mode darrera línia (mode d'escapament):
El mode de línia s'invoca escrivint dos punts [:], mentre que vi està en mode d'ordres. El cursor saltarà a l'última línia de la pantalla i vi esperarà una ordre. Aquest mode us permet realitzar tasques com ara desar fitxers i executar ordres.
Comandes i exemples de Linux vi
NOTA: l'editor vi a Linux distingeix entre majúscules i minúscules.
Com inserir a l'editor vi a Linux:
Per entrar en mode d'inserció a l'editor vi a Linux només hem de prémer `i` al nostre teclat i estarem en mode d'inserció. només podem començar a introduir el nostre contingut. (Consulteu la captura de pantalla esmentada a continuació).
dfs vs bfs

va obrir un fitxer i va prémer 'i' per escriure contingut
Moure's dins d'un fitxer (navegació) a Vi Editor:
Per moure's per un fitxer sense afectar el text ha d'estar en mode d'ordres (preme Esc dues vegades). Aquestes són algunes de les ordres que es poden utilitzar per moure's per un caràcter alhora.
| Ordres | Descripció |
|---|---|
| `k` | Mou el cursor una línia cap amunt. |
| 'j' | Mou el cursor una línia cap avall. |
| `h` | Mou el cursor a la posició esquerra d'un caràcter. |
| `l` | Mou el cursor a la posició dreta d'un caràcter. |
| `0` | Col·loca el cursor al principi de la línia. |
| `$` | Col·loca el cursor al final de la línia. |
| 'W' | Col·loca el cursor a la paraula següent. |
| 'B' | Col·loca el cursor al treball anterior. |
| `(` | Col·loca el cursor al començament de la frase actual. |
| `)` | Col·loca el cursor al començament de la frase següent. |
| 'H' | Mou a la part superior de la pantalla. |
| 'nH' | Es mou a la enèsima línia des de la part superior de la pantalla. |
| 'M' | Mou al centre de la pantalla. |
| 'L' | Mou a la part inferior de la pantalla. |
| `nL` | Es mou a la enèsima línia des de la part inferior de la pantalla. |
| Dos punts seguits d'una posició numèrica | El cursor al número de línia es representa amb el número després dels dos punts. Per exemple, :10 situa el cursor a la línia 10. |
Comanda de control (desplaçament) a l'editor vi:
Hi ha les següents ordres útils que es poden utilitzar juntament amb el Control clau. Aquestes ordres són útils per estalviar temps navegant ràpidament per un fitxer sense desplaçar-se manualment.
| Comandament | Descripció |
|---|---|
| CTRL+d | mou la pantalla mitja pàgina cap avall. |
| CTRL+f | mou la pantalla cap avall una pàgina sencera. |
| CTRL+u | mou la pantalla mitja pàgina cap amunt. |
| CTRL+b | mou la pantalla una pàgina sencera cap amunt. |
| CTRL+e | mou la pantalla una línia cap amunt. |
| CTRL+i | mou la pantalla una línia cap avall. |
| CTRL+I | tornar a dibuixar la pantalla. |
Inserció i substitució de text Nosaltres Editors :
Per editar el fitxer, hem d'estar en mode d'inserció. Hi ha moltes maneres d'entrar al mode d'inserció des del mode d'ordres.
| Comandament | Descripció |
|---|---|
| i | Insereix text abans de la ubicació actual del cursor |
| a | Insereix text després de la ubicació actual del cursor |
| A | Insereix text al final de la línia actual |
| O | Crea una línia nova per a l'entrada de text sota la ubicació del cursor i canvia al mode d'inserció. |
| O | Crea una línia nova per a l'entrada de text a sobre de la ubicació del cursor i canvia al mode d'inserció. |
| s | Substitueix un sol caràcter sota el cursor per qualsevol nombre de caràcters i passa al mode d'inserció. |
| R | Sobreescriu el text del cursor a la dreta, sense canviar al mode d'inserció. |
Eliminació de caràcters i línies a l'editor Vi:
Aquí teniu la llista d'ordres importants que es poden utilitzar per eliminar caràcters i línies d'un fitxer obert.
| Comandament | Descripció |
|---|---|
| 'X' ( majúscula) | Esborra el caràcter anterior a la ubicació del cursor. |
| `x` ( minúscula) | Esborra el caràcter a la ubicació del cursor. |
| 'Dw' | Esborra de la ubicació actual del cursor a la paraula següent |
| `d^` | Esborra des de la posició actual del cursor fins al començament de la línia. |
| `d$` | Esborra des de la posició actual del cursor fins al final de la línia. |
| 'Dd' | Esborra la línia on es troba el cursor. |
Copieu i enganxeu a l'editor Vi a Linux:
Copieu línies o paraules d'un lloc i enganxeu-les a un altre lloc mitjançant les ordres següents.
| Ordres | Descripció |
|---|---|
| Sí | Copia la línia actual. |
| 9aa | Tira la línia actual i 9 línies per sota. |
| pàg | Posa el text copiat després del cursor. |
| P | Posa el text tirat abans del cursor. |
Desa i surt a Vi Editor a Linux:
Cal prémer [Esc] tecla seguida dels dos punts (:) abans d'escriure les ordres següents:
| Ordres | Descripció |
|---|---|
| q | Surt |
| q! | Sortiu sense desar els canvis, és a dir, descartar els canvis. |
| r [nom_fitxer] | Llegir dades del fitxer anomenat [nom_fitxer] |
| wq | Escriu i surt (desa i surt). |
| En | Escriu al fitxer anomenat [nom_fitxer] (desa com). |
| En! | Sobreescriu al fitxer anomenat [nom_fitxer] (desa com a força). |
| !cmd | Executa ordres de shell i torna al mode d'ordres. |
Cerca i substitució en (ex-Mode) a Vi Editor (Linux):
nosaltres també té potents capacitats de cerca i substitució. La sintaxi formal per a la cerca és:
:s/string >
Per exemple, suposem que volem cercar text per a la cadena geeksforgeeks Escriviu el següent i premeu ENTER:
:s/geeksforgeeks>
Entrada:

:s/cadena
Sortida: A continuació, es destacarà trobar la primera coincidència per a geeksforgeeks al text.

Aleshores, els geeksforgeeks al text es destacaran.
La sintaxi per substituir una cadena per una altra a la línia actual és:
:s/pattern/replace/>
Aquí el patró representa la cadena antiga i substituir representa la cadena nova. Per exemple, per substituir cada ocurrència de la paraula geeks en una línia amb geeksforgeeks, escriviu:
:s/geeksforgeeks/gfg/>
Entrada:

:s/geeksforgeeks/gfg/
Sortida:

Sortida:
La sintaxi per substituir cada aparició d'una cadena en tot el text és similar. L'única diferència és l'addició d'un % davant de la s:
:%s/pattern/replace/ >
Per tant, repetir l'exemple anterior per a tot el text en lloc de només per a una sola línia seria:
:%s/gfg/geeksforgeeks/ >
Bloqueja les ordres d'eliminació en (mode x) a Vi Editor:
cal prémer ESC i, a continuació, les ordres aniran seguides de dos punts (:).
| Comandament | Descripció |
|---|---|
| :1d | esborra la línia 1. |
| : 1,5 d | elimina les línies de l'1 al 5. |
| :10,$d | elimina línies des de la 10a línia fins a l'última del fitxer. ($ significa l'última línia del fitxer). |
| :.,$d | elimina les línies de la línia actual a l'última línia. (. significa la línia actual). |
| :.-3,.d | elimina les línies de la línia actual i de les 2 línies superiors (Suprimeix 3 línies inclosa la línia del cursor). |
| :.,.+4d | elimina les línies de la línia actual del cursor seguides de 3 línies (en total 3 línies). |
| :16 | elimina la línia 16 del fitxer. |
Bloqueja l'ordre de còpia en (mode x) a Vi Editor:
cal prémer ESC i, a continuació, les ordres aniran seguides de dos punts (:).
| Comandament | Descripció |
|---|---|
| :1,5 co 10 | copia les línies de l'1 al 5 després de la 10a línia. |
| :1,$ co $ | copia les línies de l'1 a l'última línia després de l'última línia. |
| :.,.+5 co 8 | copia les línies del present a 5 línies després de la vuitena línia. |
| :-3,. co 10 | copia les línies de la línia actual del cursor per sobre de 3 línies després de la 10a línia. |
Bloqueja les ordres de moviment en (mode x) a Vi Editor:
cal prémer ESC i, a continuació, les ordres aniran seguides de dos punts (:).
| Comandament | Descripció |
|---|---|
| :1,5 per 9 | mou la línia de l'1 al 5 després de la novena línia. |
| :1,$ per $ | mou les línies d'1 a $ després de l'última línia. |
| :.,.+5 per 10 | mou la línia de la línia actual i les 5 línies següents després de la 10a línia en endavant. |
| :.-3,. per 10 | mou la línia actual i per sobre de 3 línies després de la 10a línia. |
Comandes i treballs bàsics de vi: preguntes freqüents
Quina diferència hi ha entre l'editor vi i vim?
Vi és l'editor de text original que es va crear el 1976, mentre que Vim (Vi millorat) és una versió millorada de Vi que es va publicar el 1991. Vim ofereix característiques i funcionalitats addicionals en comparació amb Vi, com ara el ressaltat de sintaxi i el suport del ratolí.
Com es cerca una paraula a l'editor vi?
Per cercar una paraula a l'editor vi, primer heu d'assegurar-vos que esteu en mode d'ordres. Aleshores
- escriviu l'ordre '/searchterm' i premeu Intro.
- Això cercarà la primera ocurrència de 'terme de cerca' al document.
- Per trobar la següent ocurrència de la paraula, escriviu l'ordre 'n'.
Com es pot suprimir una línia a l'editor vi?
Aneu al mode d'ordres (premeu ESC) i després premeu ` dd`. Això suprimirà la línia completa en què hi ha el nostre cursor.
Quin és l'objectiu del mode d'ordres a l'editor vi?
El mode d'ordres a l'editor vi realitza ordres i navega pel nostre document o contingut al fitxer. En aquest mode, podeu moure el cursor, suprimir text, cercar text i desar el document.
el meu flixer
Conclusió
Vi editor és un editor de text potent i àmpliament utilitzat al sistema operatiu UNIX i Linux. Ens permet crear, editar i gestionar fitxers de text. Vim és la versió avançada de l'editor vi. Hi ha tres modes a vi: mode d'ordres, mode d'última línia i mode d'inserció. També hem comentat moltes opcions en el context anterior. En general, podem dir que és una eina potent i útil tant per a usuaris principiants com per a usuaris experimentats.