Nano - lompat ke ujung file

37

Saya punya beberapa file log panjang. Saya dapat melihat baris terakhir dengan tail -n 50 file.txt, tetapi kadang-kadang saya perlu mengedit baris terakhir.

Bagaimana cara saya melompat langsung ke ujung file ketika melihatnya nano?

Marko Pacak
sumber
4
Cobalah vim:-P
Hunter.S.Thompson
5
@ Hunter.S.Thompson Ini ditujukan untuk pengguna non-hardcore (lol)
Marko Pacak
@ Hunter.S.Thompson Itu tidak bekerja! Anda menggunakan perintah yang ditentukan pengguna! Tetapi sekarang cobalah vimdengan cara yang portabel G
Volker Siegel
1
@ VolkerSiegel Saya tidak tahu apakah Anda sedang menyindir, tapi itu bukan perintah yang ditentukan pengguna. Itu sebuah emotikon. Kami dulu menggunakan hal-hal ini sebelum seseorang membiarkan Unicode merokok gulma.
NieDzejkob
Sarkastik, tentu saja! Saya mencoba perintah Anda: :untuk membuka baris perintah, daripada -, Pdan masuk. Itulah yang saya dapatkan: "E464: penggunaan ambigu dari perintah yang ditentukan pengguna". Semua yang terbaik!
Volker Siegel

Jawaban:

52

Buka file dengan nano file.txt.

Sekarang ketik Ctrl+ _dan kemudian Ctrl+V

Marko Pacak
sumber
24
Anda juga dapat melakukan Ctrl + W, Ctrl + V - tergantung pada apa yang lebih nyaman untuk tangan Anda :)
psmears
@psmears tergantung pada versi. v2.4 memiliki pintasan Anda. Versi saat ini v4.0 memiliki pintasan yang disebut Marko. Sangat menyebalkan.
Mausy5043
@ Mausy5043: Versi hingga setidaknya 2,4 memiliki kedua set pintasan. Versi 4.0 tampaknya telah menghapus Ctrl + W, Ctrl + V, yang menjengkelkan; itu memang memiliki Ctrl + W, Ctrl + T, Ctrl + Y yang setidaknya hanya pada tombol huruf, tetapi lebih lama :-(
psmears
Pintasan itu tidak berfungsi dengan baik di Windows / Putty
Eric Grange
22

Banyak editor mendukung opsi pada baris perintah untuk melompat langsung ke baris NNN . Beruntung bagi Anda, tampaknya melompat ke ujung jika nomor baris yang diberikan melewati akhir file, sehingga Anda dapat menggunakan sesuatu seperti:+NNNnano

nano +999999 file

Itu juga bekerja di joe, tetapi tidak di, misalnya lessatau VIM, mereka mengeluh tentang melewati EOF. (setidaknya yang ada di sistem saya. less +G filedan vi +$ filebekerja di dalamnya.)

Tentu saja sesuatu seperti $EDITOR +$(wc -l file) filemungkin akan berfungsi di sebagian besar editor, tapi itu agak konyol dan melibatkan membaca file dua kali.

ilkkachu
sumber
Atau dengan nano yang sudah terbuka, gunakan <kbd> Alt / <kbd> + <kbd> G </kbd> lalu masukkan 99999
Eric Grange
11

Dari bantuan Nano bawaan ( ^G):

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

Jadi, tekan Alt+ \untuk pergi ke baris pertama atau tekan Alt+ /untuk pergi ke baris terakhir .

  • Ini akan menjadi setara dengan gg(mulai) atau G(akhir) di vim .
  • Ini juga menyatakan bahwa Ctrl+ Homeatau Ctrl+ Endharus berfungsi, tetapiitu tidak pernah berhasil untuk saya mereka tampaknya bekerja secara native di konsol / desktop tetapi tidak melalui SSH menggunakan Putty.
  • Cara saya ingat ini adalah yang di /dekat bagian bawah keyboard dan \dekat bagian atas.

Jika Anda menginginkan perintah , Anda bisa menulis fungsi di .bashrcatau .bash_aliasesmenggunakan jumlah baris dari 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
}

Sekarang ketik saja nano-end filenameuntuk membuka file ke baris terakhir!

ghaberek
sumber
3

Ctrl+ Endberfungsi, jika Anda memiliki nanoeditor versi terbaru (dikompilasi) .

Jika Anda tidak tahu, bagaimana cara melakukannya, Anda dapat membaca Kompilasi editor Nano dengan opsi

Perhatikan, bahwa dalam sistem yang lebih baru, misalnya berbasis Ubuntu 18.04, sudah ada versi seperti itu.

Dari changelog :

2017 12 April - GNU nano 2.8.1

... membuat ^ Home dan ^ End menuju ke awal dan akhir file (pada terminal yang mendukung penekanan tombol itu) ...

Putty vs Cygwin

Saya belum menginstal Putty, di sini kita harus bergantung pada klaim lain kombinasi tombol ini tidak berfungsi di Windows 10 + Putty + SSH + nano> 2.8.1.

Di sisi lain, saya punya Cygwin, dan Windows 10 + Cygwin + SSH + nano> 2.8.1 berfungsi Ok.

LinuxSecurityFreak
sumber
@ ghaberek Lihat hasil edit terakhir saya untuk perincian tentang pendekatan alternatif dengan Cygwin, yang terbukti berhasil.
LinuxSecurityFreak
2

OP ingin saya menambahkan jawaban untuk melompat ke baris terakhir vim.

ESC+ ShiftGakan membawa Anda ke awal baris terakhir.

ESC+ ShiftGAakan membawa Anda ke akhir baris terakhir dan mode insert akan diaktifkan.

Pemburu. Thompson
sumber
Jika Anda ingin melakukan ini dalam mode sisipkan, lakukan C-o G. Bukan berarti Anda ingin melakukan itu jika Anda menggunakan vim benar ...
NieDzejkob
2

Untuk langsung menuju ke akhir file di nano, cukup ketik: Alt+/

Mahmoud Mostafa
sumber
Pada beberapa sistem, Alt (atau Meta) diaktifkan oleh tombol Esc: - \
Mausy5043