Nano - springe zum Ende der Datei

37

Ich habe einige lange Protokolldateien. Ich kann die letzten Zeilen mit anzeigen tail -n 50 file.txt, aber manchmal muss ich diese letzten Zeilen bearbeiten.

Wie springe ich direkt zum Ende einer Datei, wenn ich sie mit nanoansehe?

Marko Pacak
quelle
4
Probieren Sie aus vim:-P
Hunter.S.Thompson
5
@ Hunter.S.Thompson Dies war für Nicht-Hardcore-Benutzer gedacht (lol)
Marko Pacak
@ Hunter.S.Thompson Das geht nicht! Sie verwenden einen benutzerdefinierten Befehl! Jetzt aber vimtragbar ausprobieren G
Volker Siegel
1
@VolkerSiegel Ich kann nicht sagen, ob Sie sarkastisch sind, aber es ist kein benutzerdefinierter Befehl. Es ist ein Emoticon. Früher haben wir diese Dinge benutzt, bevor jemand Unicode Gras rauchen ließ.
NieDzejkob
Natürlich sarkastisch! Ich habe deinen Befehl ausprobiert: Kommandozeile :öffnen, als -, Pund eingeben. Das habe ich bekommen: "E464: Mehrdeutige Verwendung eines benutzerdefinierten Befehls". Alles Gute!
Volker Siegel

Antworten:

50

Öffnen Sie die Datei mit nano file.txt.

Geben Sie jetzt Ctrl+ _und dann Ctrl+ einV

Marko Pacak
quelle
24
Sie können auch Strg + W, Strg + V tun - je nachdem, was für Ihre Hände bequemer ist :)
psmears
@psmears das hängt von der version ab. v2.4 hat Ihre Verknüpfungen. Die aktuelle Version v4.0 enthält die Verknüpfungen, die Marko erwähnt. Sehr nervig.
Mausy5043
@ Mausy5043: Bei Versionen bis mindestens 2.4 sind beide Verknüpfungen vorhanden. Version 4.0 scheint Strg + W, Strg + V entfernt zu haben, was ärgerlich ist; es hat Ctrl + W, Ctrl + T, Ctrl + Y, was zumindest auf den Buchstabentasten steht, aber länger ist :-(
psmears
Diese Verknüpfungen funktionieren in Windows / Putty
Eric Grange
22

Viele Editoren unterstützen die Option in der Befehlszeile, direkt zur Zeile NNN zu springen . Zum Glück für Sie scheint an das Ende zu springen, wenn die angegebene Zeilennummer hinter dem Ende der Datei liegt, sodass Sie Folgendes verwenden könnten:+NNNnano

nano +999999 file

Das funktioniert auch in joe, aber nicht in, zB lessoder VIM, sie beschweren sich darüber, dass sie an EOF vorbeigehen. (Zumindest die auf meinem System. less +G fileUnd vi +$ filearbeiten in denen.)

Natürlich $EDITOR +$(wc -l file) filewürde so etwas wahrscheinlich in den meisten Editoren funktionieren, aber das ist ein bisschen albern und beinhaltet das zweimalige Lesen der Datei.

ilkkachu
quelle
Oder wenn Nano bereits geöffnet ist, verwenden Sie <kbd> Alt / <kbd> + <kbd> G </ kbd> und geben Sie 99999
Eric Grange,
11

Aus der eingebauten Nano-Hilfe ( ^G):

M-\   (^Home)   Go to the first line of the file
M-/   (^End)    Go to the last line of the file

Drücken Sie also Alt+ \, um zur ersten Zeile zu gelangen, oder Alt+ /, um zur letzten Zeile zu gelangen .

  • Dies wäre das Äquivalent von gg(Anfang) oder G(Ende) in vim .
  • Dies besagt auch, dass Ctrl+ Homeoder Ctrl+ Endfunktionieren soll, aberdas hat bei mir nie geklappt Sie scheinen nativ auf Konsole / Desktop zu funktionieren, aber nicht über SSH mit PuTTY.
  • Ich erinnere mich daran, dass /sich dies in der Nähe der Unterseite der Tastatur und \in der Nähe der Oberseite befindet.

Wenn Sie einen Befehl wünschen , können Sie eine Funktion in Ihre schreiben .bashrcoder .bash_aliasesdie Zeilenanzahl verwenden von wc:

function nano-end {
    # if the file exists, jump to the end
    # otherwise, just open an empty nano
    [ -f "$1" ] && nano +$(wc -l "$1") || nano
}

Jetzt tippe einfach nano-end filename, um die Datei bis zur letzten Zeile zu öffnen!

Ghaberek
quelle
3

Ctrl+ Endfunktioniert, wenn Sie eine aktuelle (kompilierte) Version des nanoEditors haben.

Wenn Sie nicht wissen, wie es geht, können Sie den Compiling Nano Editor mit Optionen lesen

Beachten Sie, dass es in neueren Systemen, zB auf Basis von Ubuntu 18.04, bereits eine solche Version gibt.

Aus dem Changelog :

12. April 2017 - GNU nano 2.8.1

... bewirkt, dass ^ Home und ^ End an den Anfang und das Ende der Datei gehen (auf Terminals, die diese Tastenanschläge unterstützen) ...

PuTTY gegen Cygwin

Ich habe PuTTY nicht installiert, hier müssen wir uns auf andere Behauptungen stützen, dass diese Tastenkombinationen unter Windows 10 + PuTTY + SSH + nano> 2.8.1 nicht funktionieren.

Auf der anderen Seite habe ich Cygwin und Windows 10 + Cygwin + SSH + Nano> 2.8.1 funktioniert Ok.

LinuxSecurityFreak
quelle
@ghaberek Weitere Informationen zu einem alternativen Ansatz mit Cygwin finden Sie in meiner neuesten Ausgabe.
LinuxSecurityFreak
2

OP möchte, dass ich eine Antwort hinzufüge, um zur letzten Zeile in zu springen vim.

ESC+ ShiftGbringt Sie zum Anfang der letzten Zeile.

ESC+ ShiftGAbringt Sie zum Ende der letzten Zeile und der Einfügemodus wird aktiviert.

Hunter.S.Thompson
quelle
Wenn Sie dies im Einfügemodus tun möchten, tun Sie C-o G. Nicht, dass du das tun würdest, wenn du vim right benutzt ...
NieDzejkob
2

Um in nano direkt zum Ende der Datei zu gelangen, geben Sie einfach: Alt+ ein/

Mahmoud Mostafa
quelle
Auf einigen Systemen wird Alt (oder Meta) mit der Esc-Taste
umgeschaltet