[LINUX] vi (vim) Befehlsnotiz
1. Starten Sie
Geben Sie zunächst eine Datei an
vi <Dateiname>
Geben Sie zunächst mehrere Dateien an
vi <Dateiname 1> <Dateiname 2> … <Dateiname n>
Geben Sie mehrere Dateien an und teilen Sie sie zunächst mit Registerkarten
vi -p <Dateiname 1> <Dateiname 2> … <Dateiname n>
Starten Sie schreibgeschützt
vi -R <Dateiname>
view <Dateiname>
Beginnen Sie mit der anfänglichen Cursorposition in der letzten Zeile
vi + <Dateiname>
Beginnen Sie mit der anfänglichen Cursorposition als angegebene Zeile
vi +Anzahl der Zeilen<Dateiname>
Beginnen Sie mit der anfänglichen Cursorposition als der Zeile, in der die Zeichenfolge zuerst gefunden wird
vi +/String<Dateiname>
Im Wiederherstellungsmodus starten (Swap-Datei starten)
vi -r <Dateiname>
2. Verschieben Sie Dateien, wenn Sie mehrere Dateien öffnen
Befehl |
短縮Befehl |
Inhalt |
:next |
:n |
Zur nächsten Datei wechseln |
:next! |
:n! |
Wechseln Sie zwangsweise zur nächsten Datei |
:wnext |
:wn |
Speichern Sie die aktuelle Datei und wechseln Sie zur nächsten Datei |
:previous |
:prev |
Zur vorherigen Datei wechseln |
:previous! |
:prev! |
Verschieben in vorherige Datei erzwingen |
:wprevious |
:wp |
Speichern Sie die aktuelle Datei und wechseln Sie zur vorherigen Datei |
:first |
:fir |
Wechseln Sie zur ersten Datei |
:first! |
:fir! |
Wechseln Sie zwangsweise zur ersten Datei |
:last |
:la |
Zur letzten Datei wechseln |
:last! |
:la! |
Wechseln Sie zwangsweise zur letzten Datei |
:rew |
- |
Wechseln Sie zur ersten Datei |
:rew! |
- |
Wechseln Sie zwangsweise zur ersten Datei |
:rewind |
- |
Speichern Sie die aktuelle Datei und wechseln Sie zur ersten Datei |
:rewind! |
- |
Wechseln Sie zur ersten Datei, ohne die aktuelle Datei zu speichern |
:e# |
- |
Kehren Sie zur zuletzt bearbeiteten Datei zurück |
:arg |
- |
Überprüfen Sie die zu bearbeitende Datei und die Liste der Dateien |
3. Bewegen Sie den Cursor
Befehl 1 |
Befehl 2 |
Befehl 3 |
Inhalt |
h |
← |
[BackSpace] |
Gehe nach links[n gültig] |
j |
↓ |
[Ctrl]+ n |
Sich abwärts bewegen[n gültig] |
k |
↑ |
[Ctrl]+ p |
Bewegen Sie sich nach oben |
l |
→ |
[Space] |
Gehe nach rechts |
[Zahlen]h |
[Zahlen]← |
[Zahlen][BackSpace] |
Zahlen分左へ移動 |
[Zahlen]j |
[Zahlen]↓ |
[Zahlen][Ctrl]+ n |
Zahlen分下へ移動 |
[Zahlen]k |
[Zahlen]↑ |
[Zahlen][Ctrl]+ p |
Zahlen分上へ移動 |
[Zahlen]l |
[Zahlen]→ |
[Zahlen][Space] |
Zahlen分右へ移動 |
Befehl |
Inhalt |
^ |
Wechseln Sie zur ersten Zeichenfolge, wobei das Leerzeichen am Anfang der aktuellen Zeile übersprungen wird |
0 |
Gehen Sie zum Anfang der aktuellen Zeile |
$ |
Gehen Sie zum Ende der aktuellen Zeile |
G |
Gehen Sie zur letzten Zeile der Datei |
gg |
Gehen Sie zur ersten Zeile der Datei |
+ |
Wechseln Sie zur ersten Zeichenfolge, wobei das Leerzeichen am Anfang der nächsten Zeile übersprungen wird |
- |
Wechseln Sie zur ersten Zeichenfolge, wobei das Leerzeichen am Anfang der vorherigen Zeile übersprungen wird |
[Enter] |
Gehen Sie zum Anfang der nächsten Zeile |
[Zahlen]$ |
(Zahlen-1)Gehen Sie zum Ende der Linie unterhalb der Linie |
[Zahlen]G |
(Zahlen)Gehen Sie zum Anfang der Zeile |
[Zahlen]+ |
(Zahlen)Wechseln Sie zur ersten Zeichenkette mit Leerzeichen unterhalb der übersprungenen Zeile |
[Zahlen]- |
(Zahlen)Gehen Sie zur ersten Zeichenkette mit Leerzeichen in der übersprungenen Zeile |
[Zahlen][Enter] |
(Zahlen)Gehen Sie zum Anfang der Zeile darunter |
:[Zahlen] |
(Zahlen)Gehe zur Linie |
Befehl |
Inhalt |
w |
Gehen Sie als nächstes zu 1 Wort |
b |
Bewegen Sie ein Wort vorwärts |
e |
Zum Ende eines Wortes gehen (wenn es bereits am Ende eines Wortes steht, zum Ende des nächsten Wortes gehen) |
[Zahlen]w |
(Zahlen)Gehen Sie mit Worten zum nächsten |
[Zahlen]b |
(Zahlen)Bewegen Sie das Wort vorwärts |
[Zahlen]e |
(Zahlen)Wort bewegt sich zum Ende des nächsten Wortes |
Befehl |
Inhalt |
( |
Zum Satzanfang gehen (Blockeinheit) |
) |
Gehen Sie zum Anfang des nächsten Satzes (Blockeinheit) |
{ |
Zum vorherigen Absatz wechseln |
} |
Fahren Sie mit dem nächsten Absatz fort |
4. Bildschirmbewegung
Befehl |
Inhalt |
H |
Bewegen Sie den Cursor an den oberen Bildschirmrand |
M |
Bewegen Sie den Cursor in die Mitte des Bildschirms |
L |
Bewegen Sie den Cursor in die letzte Zeile des Bildschirms |
[Ctrl] + D |
1 Cursor/2 Gehen Sie zum unteren Bildschirmrand |
[Ctrl] + U |
1 Cursor/2 Gehen Sie zum oberen Bildschirmrand |
[Ctrl] + F |
Bewegen Sie den Cursor einen Bildschirm nach unten |
[Ctrl] + B |
Bewegen Sie den Cursor einen Bildschirm nach oben |
[Zahlen]H |
Bewegen Sie den Cursor vom oberen Bildschirmrand(Zahlen)Zur Linie gehen |
[Zahlen]L |
Bewegen Sie den Cursor aus der letzten Zeile des Bildschirms(Zahlen)Zur Linie gehen |
[Zahlen][Ctrl] + D |
Bewegen Sie den Cursor(Zahlen)Gehen Sie die Linie entlang |
[Zahlen][Ctrl] + U |
Bewegen Sie den Cursor(Zahlen)Bewegen Sie sich die Linie nach oben |
[Zahlen][Ctrl] + F |
Bewegen Sie den Cursor(Zahlen)Gehen Sie zum unteren Bildschirmrand |
[Zahlen][Ctrl] + B |
Bewegen Sie den Cursor(Zahlen)Gehen Sie zum Bildschirm |
z[Enter] |
Scrollen Sie so, dass sich die aktuelle Cursorposition oben auf dem Bildschirm befindet |
zz |
Scrollen Sie so, dass sich die aktuelle Cursorposition in der Mitte des Bildschirms befindet |
5. Wechseln Sie in den Eingabemodus INSERT
Befehl |
Inhalt |
i |
Beginnen Sie mit der Eingabe links vom Cursor |
I |
Beginnen Sie am Anfang der Zeile mit der Eingabe |
a |
Beginnen Sie mit der Eingabe rechts vom Cursor |
A |
Beginnen Sie am Ende der Zeile mit der Eingabe |
o |
Fügen Sie eine leere Zeile unter der Cursorzeile ein und beginnen Sie am Anfang dieser Zeile zu tippen |
O |
Fügen Sie eine leere Zeile über der Cursorzeile ein und beginnen Sie am Anfang dieser Zeile mit der Eingabe |
6. Wechseln Sie in den Eingangsmodus REPLACE
Befehl |
Inhalt |
R |
Beginnen Sie mit der Eingabe, indem Sie den Cursor überschreiben |
7. Löschen Sie die Zeichen und wechseln Sie in den INSERT-Eingabemodus
Befehl |
Inhalt |
s |
Löschen Sie ein Zeichen an der Cursorposition und beginnen Sie mit der Eingabe |
S |
Löschen Sie die Zeile an der Cursorposition und beginnen Sie mit der Eingabe |
- Durch Eingabe einer Zahl am Anfang wie "2s" können Sie die Operation für die Zahl wie "Löschen Sie die beiden Zeichen an der Cursorposition und beginnen Sie mit der Eingabe" ausführen.
Befehl |
Inhalt |
cl |
Löschen Sie ein Zeichen an der Cursorposition und beginnen Sie mit der Eingabe |
cc |
Löschen Sie die Zeile an der Cursorposition und beginnen Sie mit der Eingabe |
c^ |
Beginnen Sie die Eingabe, indem Sie von kurz vor der Cursorposition bis zur ersten Zeichenfolge löschen, wobei das Leerzeichen am Anfang der Zeile übersprungen wird |
c0 |
Löschen Sie von kurz vor der Cursorposition bis zum Zeilenanfang und beginnen Sie mit der Eingabe |
c$ |
Löschen Sie von der Cursorposition bis zum Ende der Zeile und beginnen Sie mit der Eingabe |
cG |
Löschen Sie aus der Zeile an der Cursorposition bis zum Ende des Satzes und beginnen Sie mit der Eingabe |
cw |
Löschen Sie von der Cursorposition bis kurz vor dem nächsten Wort und beginnen Sie mit der Eingabe |
cb |
Löschen Sie von der Cursorposition bis zum Wortanfang und beginnen Sie mit der Eingabe |
ce |
Löschen Sie von der Cursorposition bis zum Ende des Wortes und beginnen Sie mit der Eingabe |
cW |
Überspringen Sie das Trennzeichen von der Cursorposition, löschen Sie es bis kurz vor dem nächsten Wort und beginnen Sie mit der Eingabe |
Sie können den Cursorbewegungsbefehl für das zweite Zeichen des + -Befehls verwenden. (Außer den oben genannten können Sie verschiedene Kombinationen durchführen.)
Durch Eingabe einer Zahl am Anfang wie "2cw" können Sie die Operation für die Zahl wie "Löschen bis kurz vor dem Wort zwei Wörter vor der Cursorposition und Start der Eingabe" ausführen.
8. Wechseln Sie in den Befehlsmodus
Befehl |
Inhalt |
[Esc] |
Wechseln Sie in den Befehlsmodus |
9. Löschen
Befehl |
Inhalt |
x |
Löschen Sie ein Zeichen an der Cursorposition |
dl |
Löschen Sie ein Zeichen an der Cursorposition |
dd |
Löschen Sie die Zeile an der Cursorposition |
d^ |
Löschen Sie von kurz vor der Cursorposition bis zur ersten Zeichenfolge, wobei das Leerzeichen am Zeilenanfang übersprungen wird |
d0 |
Löschen Sie von kurz vor der Cursorposition bis zum Zeilenanfang |
d$ |
Löschen Sie von der Cursorposition bis zum Ende der Zeile |
dG |
Löschen Sie aus der Zeile an der Cursorposition bis zum Ende des Satzes |
dw |
Löschen Sie von der Cursorposition bis kurz vor dem nächsten Wort |
db |
Löschen Sie von der Cursorposition bis zum Wortanfang |
de |
Löschen Sie von der Cursorposition bis zum Ende des Wortes |
dW |
Überspringen Sie das Trennzeichen von der Cursorposition und löschen Sie es bis kurz vor dem nächsten Wort |
Sie können den Cursorbewegungsbefehl für das zweite Zeichen des + -Befehls verwenden. (Außer den oben genannten können Sie verschiedene Kombinationen durchführen.)
Durch Eingabe einer Zahl am Anfang wie "2dw" können Sie auch die Operation für die Zahl wie "Löschen von der Cursorposition bis kurz vor dem Wort zwei Wörter vor" ausführen.
10. Kopieren
Befehl |
Inhalt |
yl |
Kopieren Sie ein Zeichen an der Cursorposition |
yy |
Kopieren Sie die Zeile an der Cursorposition |
y^ |
Kopieren Sie von kurz vor der Cursorposition in die erste Zeichenfolge, wobei das Leerzeichen am Zeilenanfang übersprungen wird |
y0 |
Kopieren Sie von kurz vor der Cursorposition zum Zeilenanfang |
y$ |
Von der Cursorposition zum Zeilenende kopieren |
yG |
Kopieren Sie von der Zeile an der Cursorposition bis zum Ende des Satzes |
yw |
Kopieren Sie von der Cursorposition bis kurz vor das nächste Wort |
yb |
Kopieren Sie von der Cursorposition zum Wortanfang |
ye |
Kopieren Sie von der Cursorposition zum Ende des Wortes |
yW |
Überspringen Sie das Trennzeichen von der Cursorposition und kopieren Sie es kurz vor dem nächsten Wort |
Sie können den Cursorbewegungsbefehl für das zweite Zeichen des + -Befehls verwenden. (Außer den oben genannten können Sie verschiedene Kombinationen durchführen.)
Wenn Sie am Anfang eine Zahl wie "2yw" eingeben, können Sie die Operation für die Zahl wie "Von der Cursorposition bis kurz vor das Wort zwei Wörter voraus kopieren" ausführen.
11. Einfügen
Befehl |
Inhalt |
p |
Fügen Sie den kopierten Inhalt nach dem Cursor ein |
P |
Fügen Sie den kopierten Inhalt vor den Cursor ein |
12. Rückgängig machen und wiederholen
Befehl |
Inhalt |
u |
rückgängig machen (Stornierung früherer Bearbeitungsarbeiten) |
[Ctrl] + r |
Wiederholen (Aufheben des Rückgängigmachens) |
13. Suchen
Befehl |
Inhalt |
/String+ [Enter] |
Suchen Sie nach einer Zeichenfolge hinter dem Cursor |
?String+ [Enter] |
Suchen Sie vor dem Cursor nach einer Zeichenfolge |
n |
Nächste Suche Wechseln Sie zur entsprechenden Zeichenfolge |
N |
Vorherige Suche Wechseln Sie zur entsprechenden Zeichenfolge |
/ + [Enter] |
Nächste Suche Wechseln Sie zur entsprechenden Zeichenfolge |
? + [Enter] |
Vorherige Suche Wechseln Sie zur entsprechenden Zeichenfolge |
14. Ersatz
Befehl |
Inhalt |
r[Brief] |
カーソルの1Briefを入力したBriefに置換 |
[Zahlen]r |
カーソルからZahlen分の文字を入力した文字で置換 |
Befehl |
Inhalt |
:s/Zeichenfolge 1/String 2/[Enter] |
カーソル行の最初の「Zeichenfolge 1」のみを「String 2」に置換 |
:s/Zeichenfolge 1/String 2/g[Enter] |
カーソル行の「Zeichenfolge 1」を全て「String 2」に置換 |
:s/Zeichenfolge 1/String 2/c[Enter] |
カーソル行の最初の「Zeichenfolge 1」を「String 2」に置換(確認有り) |
:[Anzahl der Zeilen]s/Zeichenfolge 1/String 2/[Enter] |
指定行で最初の「Zeichenfolge 1」のみを「String 2」に置換 |
:[Anzahl der Zeilen]s/Zeichenfolge 1/String 2/g[Enter] |
指定行で「Zeichenfolge 1」を全て「String 2」に置換 |
:%s/Zeichenfolge 1/String 2/g[Enter] |
全ての行で「Zeichenfolge 1」を全て「String 2」に置換 |
:[Startlinie],[Ziellinie]s/Zeichenfolge 1/String 2/[Enter] |
指定範囲行内で各行の最初の「Zeichenfolge 1」を「String 2」に置換 |
:[Startlinie],[Ziellinie]s/Zeichenfolge 1/String 2/g[Enter] |
指定範囲行内の「Zeichenfolge 1」を全て「String 2」に置換 |
:[Startlinie],$s/Zeichenfolge 1/String 2/g[Enter] |
指定Startlinieから最終行までの「Zeichenfolge 1」を全て「String 2」に置換 |
& |
Wiederholen Sie den letzten s-Befehl |
:&[Enter] |
Wiederholen Sie den letzten s-Befehl |
Befehl |
Inhalt |
~ |
Konvertieren Sie die Cursorzeichen von unten nach oben und von oben nach unten |
[Zahlen]~ |
Konvertiert die angegebene Anzahl von Zeichen vom Cursor von unten nach oben und von oben nach unten |
Befehl |
Inhalt |
J |
Ersetzen Sie Zeilenumbrüche in der aktuellen Zeile und der unmittelbar darunter liegenden Zeile durch Leerzeichen |
[Zahlen]J |
Ersetzen Sie den Zeilenumbruch der Zeile unterhalb der aktuellen Zeile durch die angegebene Anzahl von Zeilen durch ein Leerzeichen |
15. Dateivorgänge
Befehl |
Inhalt |
:w[Enter] |
Speichern überschreiben |
:w![Enter] |
Erzwungenes Überschreiben speichern |
:w Dateiname[Enter] |
Als Dateiname speichern |
:w!Dateiname[Enter] |
Speichern nach Dateinamen erzwingen |
:[Startlinie],[Ziellinie] w[Enter] |
StartlinieからZiellinieまでを保存 |
:wq[Enter] |
Überschreiben und speichern |
:q[Enter] |
Ende |
:q![Enter] |
Beenden ohne Speichern |
:e[Enter] |
Laden Sie die aktuell geöffnete Datei neu |
:e![Enter] |
Erzwingt das erneute Laden der aktuell geöffneten Datei |
:Der Dateiname[Enter] |
Lesen Sie die Datei zur Bearbeitung |
:e!Dateiname[Enter] |
Lesen Sie die Datei zwangsweise zum Bearbeiten |
Befehl |
Inhalt |
:e ++enc=euc-jp[Enter] |
Zeichencode euc-Auf jp setzen |
:e ++enc=shift_jis[Enter] |
Zeichencode verschieben_Auf jis setzen |
:e ++enc=utf-8[Enter] |
Zeichencode utf-Auf 8 setzen |
Befehl |
Inhalt |
:e ++ff=dos[Enter] |
Zeichencode dos (CR+LF) |
:e ++ff=mac[Enter] |
Setzen Sie den Zeichencode auf mac (CR) |
:e ++ff=unix[Enter] |
Setzen Sie den Zeichencode auf Unix (LF) |
16. Befehl setzen
Befehl |
Kürzung |
Inhalt |
:set number[Enter] |
:set nu[Enter] |
Zeilennummer anzeigen |
:set nonumber[Enter] |
:set nonu[Enter] |
Zeilennummer ausblenden |
:set all[Enter] |
- |
Alle Optionen anzeigen |
:set fenc?[Enter] |
- |
Überprüfen Sie die Dateicodierung |
:set ff?[Enter] |
- |
Überprüfen Sie den Zeilenvorschubcode |
17. Fügen Sie den Inhalt der Datei ein
Befehl |
Inhalt |
:r[Enter] |
Fügen Sie den Inhalt der aktuellen Datei direkt unter der Cursorzeile ein |
:r Dateiname[Enter] |
Fügen Sie den Inhalt der Datei direkt unter der Cursorzeile ein |
:r!Befehl[Enter] |
Fügen Sie das Ergebnis des Shell-Befehls direkt unter der Cursorzeile ein |
das ist alles