LFCS: Wéi installéiere a benotzt vi/vim als Full Text Editor - Deel 2


Virun e puer Méint huet d'Linux Foundation d'LFCS (Linux Foundation Certified Sysadmin) Zertifizéierung lancéiert fir Individuen aus der ganzer Welt ze hëllefen fir z'iwwerpréiwen datt se fäeg sinn Basis- bis Zwëschensystemverwaltungsaufgaben op Linux Systemer ze maachen: System Support, als éischt - Hand Troubleshooting an Ënnerhalt, plus intelligent Entscheedungsprozess fir ze wëssen wéini et Zäit ass fir Themen op iewescht Supportteams z'erhéijen.

Kuckt w.e.g. de Video hei ënnen deen de Linux Foundation Certification Program erkläert.

Dëse Post ass Deel 2 vun enger 10-Tutorial-Serie, hei an dësem Deel wäerte mir d'Basisdateierbeaarbechtungsoperatiounen a Verständnismodi am vi/m Editor ofdecken, déi fir den LFCS Zertifizéierungsexamen erfuerderlech sinn.

Maacht Basis Datei Editéierungsoperatioune mat vi/m

Vi war den éischte Vollbild-Texteditor fir Unix geschriwwen. Och wann et geduecht war kleng an einfach ze sinn, kann et e bëssen Erausfuerderung sinn fir Leit déi exklusiv mat GUI Texteditoren benotzt ginn, wéi NotePad++, oder gedit, fir e puer Beispiller ze nennen.

Fir Vi ze benotzen, musse mir fir d'éischt d'3 Modi verstoen, an deenen dëse mächtege Programm funktionnéiert, fir spéider iwwer seng mächteg Textbeaarbechtungsprozeduren ze léieren.

Notéiert w.e.g. datt déi meescht modern Linux Verdeelungen mat enger Variant vu vi verschéckt ginn, bekannt als vim (Vi verbessert), déi méi Features ënnerstëtzt wéi den originale vi. Grond, uechter dësem Tutorial wäerte mir vi a vim austauschbar benotzen.

Wann Är Verdeelung net vim installéiert huet, kënnt Dir se wéi follegt installéieren.

  1. Ubuntu an Derivate: aptitude update && aptitude install vim
  2. Red Hat-baséiert Verdeelungen: yum update && yum install vim
  3. openSUSE: zypper update && zypper install vim

Firwat soll ech wëll léieren vi?

Et ginn op d'mannst 2 gutt Grënn ze léieren vi.

1. vi ass ëmmer verfügbar (egal wéi eng Verdeelung Dir benotzt), well se vum POSIX erfuerderlech ass.

2. vi verbraucht net eng bedeitend Quantitéit u Systemressourcen an erlaabt eis all denkbar Aufgaben auszeféieren ouni eis Fanger vun der Tastatur opzehiewen.

Ausserdeem huet vi e ganz extensiv agebaute Handbuch, deen direkt nom Start vum Programm mam Kommando :help lancéiert ka ginn. Dëst gebaut-an Handbuch enthält méi Informatiounen wéi vi/m d'Man Säit.

Fir vi ze starten, tippt vi an Ärer Kommandoprompt.

Da dréckt i fir an de Insert Modus anzegoen, an Dir kënnt ufänken ze tippen. Eng aner Manéier fir vi/m ze starten ass.

# vi filename

Wat en neie Puffer opmaacht (méi iwwer Puffer méi spéit) mam Numm Dateinumm, deen Dir spéider op Disk späichere kënnt.

1. Am Kommando Modus erlaabt vi de Benotzer ronderëm d'Datei ze navigéieren an vi Kommandoen gitt, déi kuerz sinn, case-sensibel Kombinatioune vun engem oder méi Buschtawen. Bal all vun hinnen kënne mat enger Nummer virgeschriwwe ginn fir de Kommando dës Zuel vun Mol ze widderhuelen.

Zum Beispill, yy (oder Y) kopéiert déi ganz aktuell Linn, wärend 3yy (oder 3Y) kopéiert de ganz aktuell Linn zesumme mat den zwou nächst Linnen (3 Zeile am Ganzen). Mir kënnen ëmmer de Kommandomodus anzeginn (egal wéi de Modus mir schaffen) andeems Dir op Esc Taste dréckt. D'Tatsaach, datt am Kommando Modus d'Tastaturschlësselen als Kommandoen anstatt Text interpretéiert ginn, tendéiert fir Ufänger konfus.

2. Am ex Modus kënne mir Dateien manipuléieren (och d'Späichere vun enger aktueller Datei an ausserhalb Programmer ze lafen). Fir dëse Modus anzeginn, musse mir e Colon (:) aus dem Kommandomodus tippen, direkt gefollegt vum Numm vum Ex-Modus Kommando, dee benotzt muss ginn. Duerno gëtt vi automatesch an de Kommandomodus zréck.

3. Am Insert-Modus (de Buschtaf i gëtt allgemeng benotzt fir dëse Modus anzeginn), gi mir einfach Text. Déi meescht Tastekombinatiounen féieren zum Text um Bildschierm (eng wichteg Ausnam ass den Esc-Schlëssel, deen den Insert-Modus verléisst an zréck an de Kommando-Modus geet).

Déi folgend Tabell weist eng Lëscht vun allgemeng benotzt vi Kommandoen. Dateieditiounsbefehle kënnen duerchgefouert ginn andeems d'Ausrufezeeche un de Kommando bäigefüügt ginn (zum Beispill,

Déi folgend Optioune kënne praktesch kommen wann Dir vim leeft (mir mussen se an eiser ~/.vimrc Datei derbäisetzen).

# echo set number >> ~/.vimrc
# echo syntax on >> ~/.vimrc
# echo set tabstop=4 >> ~/.vimrc
# echo set autoindent >> ~/.vimrc

  1. Setnummer weist Zeilnummeren wann vi eng existent oder nei Datei opmaacht.
  2. Syntax aktivéiert d'Syntax-Highlighting (fir verschidde Dateiextensioune) fir Code- a Configuratiounsdateien méi liesbar ze maachen.
  3. set tabstop=4 setzt d'Tabgréisst op 4 Plazen (Standardwäert ass 8).
  4. Autoindent setzen féiert de fréieren Abriecher op déi nächst Zeil.

vi huet d'Fäegkeet de Cursor op eng bestëmmte Plaz ze réckelen (op enger eenzeger Zeil oder iwwer eng ganz Datei) baséiert op Recherchen. Et kann och Textersatz mat oder ouni Bestätegung vum Benotzer maachen.

a). Sichen an enger Zeil: de Kommando f sicht eng Zeil a bewegt de Cursor op déi nächst Optriede vun engem spezifizéierte Charakter an der aktueller Zeil.

Zum Beispill, de Kommando fh géif de Cursor op déi nächst Instanz vum Buschtaf h an der aktueller Linn bewegen. Bedenkt datt weder de Buschtaf f nach de Charakter deen Dir sicht iwwerall op Ärem Écran erschéngen, awer de Charakter gëtt markéiert nodeems Dir op Enter dréckt.

Zum Beispill, dat ass wat ech kréien nodeems Dir f4 am Kommandomodus dréckt.

b). Eng ganz Datei sichen: benotzt de Kommando /, gefollegt vum Wuert oder Ausdrock fir no ze sichen. Eng Sich ka widderholl ginn mat der viregter Sichstring mam Kommando n, oder déi nächst (mat dem Kommando N). Dëst ass d'Resultat vum Typ /Jane am Kommandomodus.

c). vi benotzt e Kommando (ähnlech wéi sed's) fir Ersatzoperatiounen iwwer eng Rei vu Linnen oder eng ganz Datei auszeféieren. Fir d'Wuert \al op \jonk fir déi ganz Datei z'änneren, musse mir de folgende Kommando aginn.

 :%s/old/young/g 

Notiz: De Colon am Ufank vum Kommando.

De Colon (:) start den ex-Kommando, s an dësem Fall (fir Ersatz), ass % eng Ofkiirzung, déi vun der éischter Zeil op déi lescht Zeil (d'Beräich kann och als n,m uginn ginn, dat heescht \vun der Linn n op d'Linn m), al ass d'Sichmuster, während jonk den Ersatztext ass, an g bedeit datt d'Ersatz sollt op all Optriede vun der Sichstring am Fichier gemaach ginn.

Alternativ kann e c um Enn vum Kommando bäigefüügt ginn fir eng Bestätegung ze froen ier Dir eng Ersatzstéck ausféiert.

:%s/old/young/gc

Ier Dir den Originaltext duerch den neien ersetzt, stellt vi/m eis de folgende Message vir.

  1. y: Ersatz ausféieren (jo)
  2. n: sprangen dës Optriede a gitt op déi nächst (nee)
  3. a: Fëllt d'Substitutioun an dësem an all spéider Instanzen vum Muster aus.
  4. q oder Esc: Ersetzen ophalen.
  5. l (Klengschrëft L): Maacht dës Ersatz aus a gitt op (lescht).
  6. Ctrl-e, Ctrl-y: Scroll no ënnen respektiv erop, fir de Kontext vun der proposéierter Ersatz ze gesinn.

Loosst eis vim file1 file2 file3 an eiser Kommandoprompt tippen.

# vim file1 file2 file3

Als éischt wäert vim Datei1 opmaachen. Fir op déi nächst Datei ze wiesselen (Datei2), musse mir de Kommando :n benotzen. Wa mir op déi fréier Datei zréck wëllen, wäert :N d'Aarbecht maachen.

Fir vun Datei1 op Datei3 ze wiesselen.

a). De Kommando :buffers weist eng Lëscht vun de Fichier déi am Moment geännert gëtt.

:buffers

b). De Kommando :buffer 3 (ouni s um Enn) mécht file3 op fir z'änneren.

Am Bild hei uewen weist e Pound Zeechen (#) un datt d'Datei momentan op ass, awer am Hannergrond, während %a de Fichier markéiert deen am Moment geännert gëtt. Op der anerer Säit, eng eidel Plaz no der Dateinummer (3 am uewe genannte Beispill) weist datt d'Datei nach net opgemaach gouf.

Fir e puer opfolgend Zeilen ze kopéieren (zum Beispill 4) an en temporäre Puffer mam Numm a (net mat enger Datei assoziéiert) an déi Zeilen an engem aneren Deel vun der Datei méi spéit am aktuellen vi setzen. Sektioun, mir mussen ...

1. Dréckt den ESC Schlëssel fir sécher ze sinn datt mir am vi Command Modus sinn.

2. Place de Cursor op déi éischt Zeil vum Text dee mir kopéieren wëllen.

3. Typ a4yy fir déi aktuell Linn ze kopéieren, zesumme mat den 3 nächste Linnen, an e Puffer mam Numm a. Mir kënne weiderhin eise Fichier änneren - mir brauchen net direkt déi kopéiert Linnen anzeginn.

4. Wann mir d'Plaz fir déi kopéiert Zeilen erreechen, benotzt a virun den p oder P Befehle fir d'Linnen an de Puffer anzesetzen genannt a:

  1. Typ ap fir d'Zeilen, déi an de Puffer a kopéiert sinn, no der aktueller Linn op där de Cursor riicht anzeginn.
  2. Typ aP fir d'Zeilen, déi an de Puffer a kopéiert sinn, virun der aktueller Linn anzeginn.

Wa mir wëllen, kënne mir déi uewe genannte Schrëtt widderhuelen fir den Inhalt vum Puffer a op verschidde Plazen an eiser Datei anzeginn. En temporäre Puffer, wéi deen an dëser Rubrik, gëtt entsuergt wann déi aktuell Fënster zou ass.

Resumé

Wéi mir gesinn hunn, ass vi/m e mächtegen a versatile Texteditor fir den CLI. Fillt Iech gratis Är eegen Tricken a Kommentaren hei ënnen ze deelen.

  1. Iwwer de LFCS
  2. Firwat eng Linux Foundation Zertifizéierung kréien?
  3. Registréiert Iech fir den LFCS Examen

Update: Wann Dir Är VI Editor Fäegkeeten ausdehnen wëllt, da géif ech proposéieren datt Dir zwee Guiden liest déi Iech op e puer nëtzlech VI Editor Tricks an Tipps féieren.