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?


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


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.


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!


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.


@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.


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+/


W niektórych systemach Alt (lub Meta) jest przełączany klawiszem Esc: - \
— Mausy5043
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.