Langsung ke prompt terakhir di terminal (atau tmux)

8

Di terminal, apakah ada cara pintas untuk melompat ke prompt sebelumnya / selanjutnya? Menggulir ke atas dan mencoba menemukan awal log memperlambat alur kerja saya.

Saya menggunakan iTerm di OSX, tetapi ini harus berlaku untuk terminal Unix. Solusi di Tmux juga akan membantu.

domi91c
sumber
Jika nama host Anda ada di prompt Anda, Anda dapat membalikkan pencarian untuk memutar balik seperti itu ...
jasonwryan
Pipa untuk less.
Kusalananda

Jawaban:

4

Di dalam tmux v2.4 + ( commit yang relevan ), Anda dapat menentukan ikatan untuk melompat ke prompt terakhir dengan keandalan yang dapat diterima:

bind-key b copy-mode\;\
           send-keys -X start-of-line\;\
           send-keys -X search-backward " "

Di mana " "ruang tidak melanggar dan perubahan yang sesuai dibuat agar Anda shell prompt memuatnya ( $PS1atau $PROMPT_COMMANDdalam bash).

Mungkin memerlukan perawatan khusus untuk mengaturnya di prompt shell dan konfigurasi tmux, karena dapat diubah ke ruang biasa selama operasi copy-paste (lihat metode dengan vim di komentar).

Atau, Anda dapat mencoba alternatif karakter unicode space atau apa pun yang jarang terjadi pada output perintah dan Anda siap menerima penglihatan di prompt Anda (🍌?).

Ini juga bisa menjadi kombinasi dari beberapa karakter untuk kesalahan positif yang lebih sedikit. Mungkin lebih baik untuk memilih sesuatu di bagian paling akhir prompt, untuk navigasi yang lebih mudah.

Kredit :

lbonn
sumber
1
Memotong dan menempel tidak akan membuat karakter ruang yang tidak pecah berfungsi untuk saya, tapi saya bisa membuatnya bekerja menggunakan Vim. Dalam mode sisipkan, gunakan CTRL-k <space><space>untuk memasukkan ruang yang tidak putus. Kemudian kata penutup, dalam mode normal, gaperintah mencetak nilai ASCII dari karakter di bawah kursor yang dapat digunakan untuk mengkonfirmasi karakter ini berbeda dari spasi lain.
robenkleene
0

Jika Anda menggunakan lessuntuk melihat konten file log, Anda memiliki kemampuan untuk menggulir bolak-balik menggunakan tombol Spacedan b(lihat lessmanual). Anda juga dapat melakukan pencarian dalam output dengan /(dan ?untuk pencarian mundur).

Untuk melihat output dari suatu program less, cukup pipa output ke itu:

$ ./myprogram | less

Untuk menyimpan output dalam file:

$ ./myprogram | tee myprogram.out | less

Jika Anda menekan Fsaat membaca file yang sedang ditulis, lessakan berperilaku seperti tail -f. Untuk menghentikan ini, tekan Ctrl+ c.

Kusalananda
sumber