Nano - przeskocz na koniec pliku

37

Mam kilka długich plików dziennika. Mogę przeglądać ostatnie wiersze tail -n 50 file.txt, ale czasami muszę edytować te ostatnie wiersze.

Jak przeskoczyć od razu do końca pliku podczas jego przeglądania nano?

Marko Pacak
źródło
4
Wypróbuj vim:-P
Hunter.S. Thompson
5
@ Hunter.S.Thompson To było przeznaczone dla nie-hardkorowych użytkowników (lol)
Marko Pacak
@ Hunter.S. Thompson To nie działa! Używasz polecenia zdefiniowanego przez użytkownika! Ale teraz wypróbuj vimw przenośny sposób G
Volker Siegel
1
@VolkerSiegel Nie wiem, czy jesteś sarkastyczny, ale nie jest to polecenie zdefiniowane przez użytkownika. To jest emotikon. Używaliśmy tych rzeczy, zanim ktoś pozwolił Unicode palić trawkę.
NieDzejkob
Oczywiście sarkastycznie! Próbowałem swoją komendę: :do linii poleceń otwartym, niż -, Pi wejść. Właśnie to otrzymałem: „E464: Niejednoznaczne użycie polecenia zdefiniowanego przez użytkownika”. Wszystkiego najlepszego!
Volker Siegel

Odpowiedzi:

51

Otwórz plik za pomocą nano file.txt.

Teraz wpisz Ctrl+, _a następnie Ctrl+V

Marko Pacak
źródło
24
Możesz także zrobić kombinację klawiszy Ctrl + W, Ctrl + V - w zależności od tego, co jest wygodniejsze dla twoich dłoni :)
psmears
@psmears, które zależy od wersji. Wersja 2.2 zawiera skróty. Obecna wersja v4.0 ma skróty wspomniane przez Marko. Bardzo irytujące.
Mausy5043
@ Mausy5043: Wersje do co najmniej 2.4 mają oba zestawy skrótów. Wydaje się, że wersja 4.0 usunęła Ctrl + W, Ctrl + V, co jest denerwujące; ma Ctrl + W, Ctrl + T, Ctrl + Y, który jest co najmniej tylko na klawiszach literowych, ale jest dłuższy :-(
psmears
Te skróty nie działają zbyt dobrze w systemie Windows / Putty
Eric Grange
22

Wielu redaktorów obsługuje opcję w linii poleceń, aby przejść bezpośrednio do linii NNN . Na szczęście dla Ciebie wygląda na to, że przeskakuje na koniec, jeśli podany numer linii znajduje się poza końcem pliku, więc możesz użyć czegoś takiego:+NNNnano

nano +999999 file

Działa to również w joe, ale nie w, np. lessVIM, narzekają na przekroczenie EOF. (przynajmniej te w moim systemie. less +G filei vi +$ filedziałają w nich.)

Oczywiście coś podobnego $EDITOR +$(wc -l file) fileprawdopodobnie działałoby w większości edytorów, ale jest to trochę głupie i wymaga dwukrotnego przeczytania pliku.

ilkkachu
źródło
Lub przy nano już otwartym, użyj <kbd> Alt / <kbd> + <kbd> G </kbd>, a następnie wprowadź 99999
Eric Grange
11

Z wbudowanej pomocy Nano ( ^G):

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

Więc naciśnij Alt+, \aby przejść do pierwszego wiersza lub naciśnij Alt+, /aby przejść do ostatniego wiersza .

  • Byłby to odpowiednik gg(początek) lub G(koniec) w vimie .
  • Oznacza to również, że Ctrl+ Homelub Ctrl+ Endpowinny działać, aleto nigdy nie działało dla mnie wydają się działać natywnie na konsoli / komputerze, ale nie za pośrednictwem SSH przy użyciu PuTTY.
  • Pamiętam, że /jest to w dolnej części klawiatury i \w górnej części.

Jeśli chcesz polecenie , możesz napisać funkcję w swoim .bashrclub .bash_aliasesużyć liczby wierszy z 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
}

Teraz wystarczy wpisać, nano-end filenameaby otworzyć plik do ostatniej linii!

Ghaberek
źródło
3

Ctrl+ Enddziała, jeśli masz najnowszą (skompilowaną) wersję nanoedytora.

Jeśli nie wiesz, jak to zrobić, możesz przeczytać Edytor Kompilowanie Nano z opcjami

Uwaga: w nowszych systemach, np. Opartych na Ubuntu 18.04, istnieje już taka wersja.

Z dziennika zmian :

12 kwietnia 2017 r. - GNU nano 2.8.1

... powoduje, że ^ Home i ^ End przechodzą na początek i koniec pliku (na terminalach obsługujących te naciśnięcia klawiszy) ...

PuTTY vs Cygwin

Nie mam zainstalowanego PuTTY, tutaj musimy polegać na innych twierdzeniach, że te kombinacje klawiszy nie działają w Windows 10 + PuTTY + SSH + nano> 2.8.1.

Z drugiej strony mam Cygwin, a Windows 10 + Cygwin + SSH + nano> 2.8.1 działa Ok.

LinuxSecurityFreak
źródło
@ghaberek Zobacz moją ostatnią edycję, aby uzyskać szczegółowe informacje na temat alternatywnego podejścia do Cygwina, które okazało się skuteczne.
LinuxSecurityFreak,
2

OP chce, żebym dodał odpowiedź na skok do ostatniej linii vim.

ESC+ ShiftGprzeniesie Cię na początek ostatniej linii.

ESC+ ShiftGAprzeniesie Cię do końca ostatniej linii i tryb wstawiania zostanie aktywowany.

Hunter.S. Thompson
źródło
Jeśli chcesz to zrobić w trybie wstawiania, zrób C-o G. Nie żebyś chciał to zrobić, gdybyś używał vima dobrze ...
NieDzejkob
2

Aby przejść bezpośrednio do końca pliku w nano, wystarczy wpisać: Alt+/

Mahmoud Mostafa
źródło
W niektórych systemach Alt (lub Meta) jest przełączany klawiszem Esc: - \
Mausy5043