:150
bringt Sie zu Zeile 150 in vi
:1500
bringt Sie zu Zeile 1500 in vi
Laut den Kommentaren möchten Sie es vielleicht versuchen
1 5 0 G
um zu Zeile 150 zu gelangen. Das sind weniger Tastenanschläge als : 1 5 0 Eingabe wenn Sie nicht sicher sind, auf welcher Linie Sie sich befinden, versuchen Sie es
:set nu!
Beachten Sie die :
Wenn Sie die Zeile immer sehen möchten, sollten Sie Ihr vim-Profil bearbeiten. Meistens
vi ~/.vimrc
und hinzufügen
:set nu!
und schreiben und beenden
:wq
#or you could use :x
Dies kann außerhalb von vi erfolgen. Wenn ich beispielsweise die Zeile 5000 in einer Textdatei löschen möchte, könnte ich eine Skriptsprache verwenden. Bei Verwendung von sed wäre dies beispielsweise Folgendes
sed -i '5000d;' inputFile.txt
zum Löschen der Zeilen 10 bis 20 wäre es
sed -i '10,20d;' inputFile.txt
Beachten Sie, dass -i die Datei an Ort und Stelle bearbeitet. Ohne das -i wird es nach stdout gehen. Versuch es. Sie können stdout in eine Datei umleiten
sed '5001,$d;' inputFile.txt >> appenedFile.txt
das könnte hier viel für Sie los sein. dies löscht Zeile 5001 bis $. Wobei $ das Ende der Datei ist.>> wird an eine Datei angehängt. wobei as> eine neue Datei erstellt.
Wenn Sie neugierig sind, wie viele Zeilen eine Datei hat, können Sie wc -l inputFile.txt
eingeben
Einiges davon mag schrecklich trivial erscheinen, aber wenn Sie versuchen, eine Datei mit 50.000 Zeilen zu bearbeiten, kann es eine süße Minute dauern, sie zu öffnen und zu durchlaufen. Wenn Sie wissen, dass Sie nur die letzte Zeile löschen möchten, können Sie sed verwenden und dies in einem Bruchteil der Zeit tun.
sed kann auch innerhalb einer Datei suchen und ersetzen. Aber vielleicht sind auch awk, perl oder python eine praktikable Lösung.
Aber insgesamt möchten Sie vielleicht ein gutes Tutorial zu vi finden. Tausende existieren. Ich würde Google konsultieren. Vielleicht finden Sie einen VIM-Cheatsheat.
Andere Vim-Tipps:im Befehlsmodus
- H geht zum oberen Rand des Bildschirms
- M geht in die Mitte des Bildschirms
- L geht zum unteren Bildschirmrand
- g g geht in die erste Zeile
- G geht in die letzte Zeile
Nehmen Sie sich ein paar Minuten Zeit und lesen Sie dieses Dokument. Es belohnt Sie auf lange Sicht für die Effizienz bei der Bearbeitung, insbesondere der Konfigurationsdatei.
Bearbeiten Sie in einem geöffneten Terminal in einer Bash-Shell einfach Ihre Datei, indem Sie Folgendes ausführen:
$ vi +N yourfile
Wobei N
ist die Zeilennummer.
Zur Ansicht (more
oder less
;):
$ less +N yourfile
$ more +N yourfile
Das Zeichen +
bedeutet Befehl zum Ausführen beim Start . Wenn also Befehl nur eine Zahl ist, dann vi
, less
und more
, springt zu dieser als Zeilennummer .
Sie können aber auch /regex
verwenden um das erste Vorkommen einer bestimmten Zeichenkette oder Regex zu finden:
$ less +/Error logfile
$ less -i +/error logfile # -i Causes less's searches to ignore case
$ vi +/open.*myfile myprog...