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?


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


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.


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!


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.


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


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


Pada beberapa sistem, Alt (atau Meta) diaktifkan oleh tombol Esc: - \
Mausy5043
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.