Heim  >  Artikel  >  Backend-Entwicklung  >  Welche Funktion hat der Linux-Dateibearbeitungsbefehl vi?

Welche Funktion hat der Linux-Dateibearbeitungsbefehl vi?

晓曦&sea
晓曦&seaOriginal
2020-07-17 17:35:574496Durchsuche

Der vi-Befehl wird verwendet, um vi einzugeben, den vielseitigsten Vollbild-Texteditor im UNIX-Betriebssystem. Der vi-Editor unterstützt den Bearbeitungsmodus und den Befehlsmodus. Im Bearbeitungsmodus können Sie die Textbearbeitungsfunktion ausführen, und im Befehlsmodus können Sie die Dateioperationsbefehle ausführen. Um den vi-Editor korrekt zu verwenden, müssen Sie mit dem Umschalten vertraut sein zwischen den beiden Modi.

Welche Funktion hat der Linux-Dateibearbeitungsbefehl vi?

vi-Befehl

vi-Befehl ist in UNIX-Betriebssystemen und UNIX-ähnlichem Betrieb verfügbar systems Der vielseitigste Vollbild-Texteditor. Der vi-Editor unter Linux heißt vim und ist eine erweiterte Version von vi (vi Improved). Er ist vollständig kompatibel mit dem vi-Editor und implementiert viele erweiterte Funktionen.

Der vi-Editor unterstützt den Bearbeitungsmodus und den Befehlsmodus. Im Bearbeitungsmodus können Sie Textbearbeitungsfunktionen ausführen, und im Befehlsmodus können Sie Dateioperationsbefehle ausführen. Um den vi-Editor korrekt zu verwenden, müssen Sie über Kenntnisse verfügen in beiden. Modusumschaltung. Standardmäßig wechselt der vi-Editor nach dem Öffnen automatisch in den Befehlsmodus. Verwenden Sie die Taste „esc“, um vom Bearbeitungsmodus in den Befehlsmodus zu wechseln, und verwenden Sie die Tasten „A“, „a“, „O“, „o“, „I“ und „i“, um vom Befehlsmodus in den Bearbeitungsmodus zu wechseln Modus.

Der vi-Editor bietet eine Fülle integrierter Befehle, die über Tastenkombinationen auf der Tastatur ausgeführt werden können, und einige integrierte Befehle müssen mit einem Doppelpunkt „:“ beginnend eingegeben werden. Häufig verwendete integrierte Befehle sind wie folgt:

Ctrl+u:向文件首翻半屏;
Ctrl+d:向文件尾翻半屏;
Ctrl+f:向文件尾翻一屏;
Ctrl+b:向文件首翻一屏;
Esc:从编辑模式切换到命令模式;
ZZ:命令模式下保存当前文件所做的修改后退出vi;
:行号:光标跳转到指定行的行首;
:$:光标跳转到最后一行的行首;
x或X:删除一个字符,x删除光标后的,而X删除光标前的;
D:删除从当前光标到光标所在行尾的全部字符;dd:删除光标行正行内容;
ndd:删除当前行及其后n-1行;
nyy:将当前行及其下n行的内容保存到寄存器?中,其中?为一个字母,n为一个数字;
p:粘贴文本操作,用于将缓存区的内容粘贴到当前光标所在位置的下方;
P:粘贴文本操作,用于将缓存区的内容粘贴到当前光标所在位置的上方;
/字符串:文本查找操作,用于从当前光标所在位置开始向文件尾部查找指定字符串的内容,查找的字符串会被加亮显示;
?name:文本查找操作,用于从当前光标所在位置开始向文件头部查找指定字符串的内容,查找的字符串会被加亮显示;
a,bs/F/T:替换文本操作,用于在第a行到第b行之间,将F字符串换成T字符串。其中,“s/”表示进行替换操作;
a:在当前字符后添加文本;
A:在行末添加文本;
i:在当前字符前插入文本;
I:在行首插入文本;
o:在当前行后面插入一空行;
O:在当前行前面插入一空行;
:wq:在命令模式下,执行存盘退出操作;
:w:在命令模式下,执行存盘操作;
:w!:在命令模式下,执行强制存盘操作;
:q:在命令模式下,执行退出vi操作;
:q!:在命令模式下,执行强制退出vi操作;
:e文件名:在命令模式下,打开并编辑指定名称的文件;
:n:在命令模式下,如果同时打开多个文件,则继续编辑下一个文件;
:f:在命令模式下,用于显示当前的文件名、光标所在行的行号以及显示比例;
:set number:在命令模式下,用于在最左端显示行号;
:set nonumber:在命令模式下,用于在最左端不显示行号;

Syntax

vi(option)(parameter)

Optionen

+<行号>:从指定行号的行开始先是文本内容;
-b:以二进制模式打开文件,用于编辑二进制文件和可执行文件;
-c<指令>:在完成对第一个文件编辑任务后,执行给出的指令;
-d:以diff模式打开文件,当多个文件编辑时,显示文件差异部分;
-l:使用lisp模式,打开“lisp”和“showmatch”;
-m:取消写文件功能,重设“write”选项;
-M:关闭修改功能;
-n:不实用缓存功能;
-o<文件数目>:指定同时打开指定数目的文件;
-R:以只读方式打开文件;
-s:安静模式,不现实指令的任何错误信息。

Parameter

Dateiliste: Als Liste der bearbeiteten Dateien angeben. Verwenden Sie Leerzeichen, um mehrere Dateien zu trennen.

Wissenserweiterung

Der vi-Editor verfügt über drei Arbeitsmodi: Befehlsmodus, Eingabemodus und Ex-Escape-Modus. Durch entsprechende Befehle oder Operationen können Sie zwischen diesen drei Arbeitsmodi wechseln.

Befehlsmodus

Geben Sie nach der Shell-Eingabeaufforderung den Befehl vi ein, um den vi-Editor aufzurufen und sich im vi-Befehlsmodus zu befinden. Zu diesem Zeitpunkt werden alle über die Tastatur eingegebenen Zeichen als Bearbeitungsbefehle interpretiert. Beispielsweise stellt a (Anhängen) einen Anhängebefehl dar, i (Einfügen) einen Einfügebefehl, x einen Zeichenlöschbefehl usw. Wenn das eingegebene Zeichen kein zulässiger Befehl von vi ist, gibt die Maschine einen „Alarmton“ aus und der Cursor bewegt sich nicht. Darüber hinaus werden die im Befehlsmodus (d. h. vi-Befehl) eingegebenen Zeichen nicht auf dem Bildschirm angezeigt. Wenn Sie beispielsweise i eingeben, ändert sich nichts auf dem Bildschirm, aber durch Ausführen des i-Befehls wird der Arbeitsmodus des Der Editor ändert sich: per Befehlsmodus. Wechseln Sie in den Eingabemodus.

Eingabemethode

Durch Eingabe von vi’s Befehl einfügen (i), Befehl anhängen (a), Befehl öffnen (o), Befehl(e) ersetzen und Befehl ändern (c) oder ersetzen Sie den Befehl (r), um vom Befehlsmodus in den Eingabemodus zu gelangen. Im Eingabemodus werden alle über die Tastatur eingegebenen Zeichen in den zu bearbeitenden Puffer eingefügt und als Text der Datei behandelt. Nach dem Aufrufen des Eingabemodus werden alle eingegebenen sichtbaren Zeichen auf dem Bildschirm angezeigt, die Bearbeitungsbefehle funktionieren jedoch nicht mehr und erscheinen nur noch als normale Buchstaben. Wenn Sie beispielsweise im Befehlsmodus den Buchstaben i eingeben, den Eingabemodus aufrufen und dann erneut i eingeben, wird dem entsprechenden Cursor auf dem Bildschirm ein Buchstabe i hinzugefügt.

Um vom Eingabemodus in den Befehlsmodus zurückzukehren, drücken Sie die Esc-Taste. Wenn Sie sich bereits im Befehlsmodus befinden, ertönt durch Drücken der Esc-Taste ein „Piepton“. Um sicherzustellen, dass der vi-Befehl, den der Benutzer ausführen möchte, im Befehlsmodus eingegeben wird, können Sie die Esc-Taste noch einige Male drücken und den Befehl eingeben, nachdem Sie den Signalton gehört haben.

Ex-Escape-Methode

Die Funktionen von vi- und ex-Editoren sind gleich, der Hauptunterschied zwischen ihnen ist die Benutzeroberfläche. In vi bestehen Befehle normalerweise aus einzelnen Buchstaben wie a, x, r usw. Im Beispiel handelt es sich bei dem Befehl um eine Befehlszeile, die mit der Eingabetaste endet. vi verfügt über einen speziellen „Escape“-Befehl, der Zugriff auf viele zeilenorientierte Ex-Befehle bietet. Um den Ex-Escape-Modus zu verwenden, geben Sie einen Doppelpunkt (:) ein. Wie bei der Ex-Eingabeaufforderung erscheint der Doppelpunkt in der Statuszeile (normalerweise in der unteren Zeile des Bildschirms). Drücken Sie die Unterbrechungstaste (normalerweise die Entf-Taste), um den ausgeführten Befehl zu beenden. Die meisten Dateiverwaltungsbefehle werden im Ex-Escape-Modus ausgeführt (z. B. Lesen einer Datei, Schreiben des Inhalts des Bearbeitungspuffers in eine Datei usw.). Nachdem der Escape-Befehl ausgeführt wurde, kehrt er automatisch in den Befehlsmodus zurück. Beispiel:

:1,$s/I/i/g 按Enter键

ersetzt von der ersten Zeile der Datei bis zum Ende der Datei ($) alle I in Großbuchstaben durch I in Kleinbuchstaben.

Das obige ist der detaillierte Inhalt vonWelche Funktion hat der Linux-Dateibearbeitungsbefehl vi?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn