Amministratore Linux: utilizzo dell'editor di testo vi / vim

vimrappresenta una versione più recente e migliorata dell'editor di testo vi per Linux. vim è installato di default su CentOS 7, la versione più recente di CentOS. Tuttavia, alcune installazioni di base precedenti e minime includeranno solo il vi originale per impostazione predefinita.

La più grande differenza tra vi e vim sono le funzionalità avanzate di facile utilizzo come lo spostamento del cursore con i tasti freccia. Laddove vim consentirà all'utente di navigare in un file di testo con i tasti freccia, vi è limitato all'uso dei tasti "h", "j", "k", "l", elencati come segue.

vi navigazione nel documento di testo -

Chiave Azione
j Scendi di una riga
K Sposta una riga in alto
l Spostati a sinistra sul personaggio
h Spostati a destra di un carattere

Usando vim le stesse azioni possono essere eseguite con i tasti freccia su un layout di tastiera standard basato sull'inglese (e altre lingue comuni). Allo stesso modo, spesso vi non interpreterà anche il tastierino numerico.

Per lo più, in questi giorni, vi sarà collegato a vim. Se trovi frustrante che i tuoi tasti freccia fanno cose inaspettate quando vengono premuti, prova a utilizzare il tuo gestore di pacchetti per installare vim.

vim utilizza il concetto di modalità durante la manipolazione e l'apertura dei file. Le due modalità su cui ci concentreremo sono:

  • normal - Questa è la modalità che vim usa quando un file viene aperto per la prima volta e consente di inserire comandi

  • insert - La modalità di inserimento viene utilizzata per modificare effettivamente il testo in un file.

Apriamo un file in vim. Useremo il dizionario predefinito di CentOS che si trova in / usr / share / dict -

[[email protected] rdc]# cp /usr/share/dict/words

Quello che vedi è il file di testo aperto in modalità normale. Ora esercitati a navigare nel documento usando i tasti freccia. Inoltre, prova a utilizzare i tasti h, j, k e l per navigare nel documento.

Vimsi aspetta che inviamo comandi per le operazioni sui file. Per abilitare il numero di riga, utilizzare il tasto del colon: shift +: . Il cursore verrà ora visualizzato nella parte inferiore del documento. Digita "set nu" e poi premi invio.

:set nu

Ora sapremo sempre dove ci troviamo nel file. Questa è anche una necessità quando si programma in vim. Sì! vim ha la migliore evidenziazione della sintassi e può essere usato per creare Ruby, Perl, Python, Bash, PHP e altri script.

La tabella seguente elenca i comandi più comuni in modalità normale.

Comando Azione
G Vai alla fine del file
gg Vai all'inizio del file
X Elimina il carattere selezionato
u Annulla le ultime modifiche
accedere Salta in avanti per linee
dd Elimina l'intera riga
? Cerca una stringa
/ Procedi all'occorrenza di ricerca successiva

Si prega di provare le seguenti attività in vim, per familiarizzare con esso.

  • Cerca la stringa "test", quindi le prime 5 occorrenze

  • Spostati all'inizio del documento dopo aver trovato le prime 5 occorrenze di "test"

  • Vai alla riga 100 utilizzando invio

  • Elimina l'intera parola utilizzando "x"

  • Annulla le eliminazioni utilizzando "u"

  • Elimina l'intera riga utilizzando "dd"

  • Ricostruisci la linea usando "u"

Faremo finta di aver apportato modifiche a un file critico e vogliamo esserne sicuri notper salvare eventuali modifiche indesiderate. Colpire ilshift+: e digita: q!. Questo uscirà da vim, scartando tutte le modifiche apportate.

Ora, vogliamo effettivamente modificare un file in vim: sulla console digitare: vim myfile.txt

Stiamo ora esaminando un buffer di testo vuoto in vim. Scriviamo qualcosa: diciamo - premi "i".

vimè ora in modalità di inserimento, permettendoci di apportare modifiche a un file proprio come nel Blocco note. Digita alcuni paragrafi nel buffer, come preferisci. Successivamente, utilizzare i seguenti passaggi per salvare il file:

  • Step 1 - Premi il tasto Esc

  • Step 2 - Premi MAIUSC +:

  • Step 3 - digita w myfile.txt: w e premi Invio

  • Step 4- Premi MAIUSC +:

  • Step 5- Digita q! e premi Invio

Abbiamo appena creato un file di testo denominato, myfile.txt e lo abbiamo salvato -

[[email protected]]# cat myfile.txt  
this is my txt file.
[[email protected]]#

Reindirizzamento di input / output di file Linux

Il carattere pipe "|", prenderà un output dal primo comando, passandolo al comando successivo. Questo è noto come Standard Output o stdout. L'altro redirector Linux comune è Standard Input ostdin.

Di seguito sono riportati due esempi; prima usando ilcat comando che mette il contenuto del file in stdout. Secondo utilizzocat per leggere un file con estensione standardinput redirector che mostra il suo contenuto.

STDOUT

[[email protected] centos]# cat output.txt  
Hello, 
I am coming from Standard output or STDOUT. 
[[email protected] centos]#

STDIN

[[email protected] centos]# cat < stdin.txt  
Hello, 
I am being read form Standard input, STDIN. 
[[email protected] centos]#

Ora, "reindirizza" lo stdout di cat a un altro comando.

[[email protected] centos]# cat output.txt | wc -l 
2 
[[email protected] centos]#

Sopra, abbiamo passato cat'sstdout a wc per l'elaborazione del carattere pipe. wc ha quindi elaborato l'output di cat stampando il conteggio delle righe di output.txt sul terminale. Pensa al carattere pipe come una "pipe" che passa l'output di un comando, che deve essere elaborato dal comando successivo.

Di seguito sono riportati i concetti chiave da ricordare quando si ha a che fare con il reindirizzamento dei comandi.

Numero Descrittore del file Personaggio
0 input standard <
1 output standard >
2 errore standard
aggiungi stdout >>
assegnare il reindirizzamento &
stdout pipe |