Saya akan sangat sering berpindah-pindah antara beberapa file di server. Saya akan menjalankan perintah contoh berikut secara berurutan:
nano /web/site/path/to/file
/web/site/script.py
nano /web/site/path/to/anotherFile
nano /web/site/path/to/yetAnotherFile
/web/site/script.py
nano /web/site/path/to/etc
Untuk beralih dari satu nano
perintah ke perintah berikutnya saya saat ini menekan Updan Backspaceuntuk mengganti segmen terakhir dari jalur. Masalah dengan ini adalah saya benar- benar malas.
Apakah ada pintasan keyboard (atau Bashism) yang dapat:
- Digantikan oleh jalur terakhir yang digunakan (dengan sedikit tambahan di akhir)
- Hapus di baris saat ini (mis. Setelah menekan Up) kembali ke yang terakhir
/
alt
+.
?Alt + .
digunakan untuk hal lain .alt
+.
.Jawaban:
Saya pikir Anda sedang mencari jalan pintas Alt+ Backspace.
Setelah menekan Upini harus menghapus kembali ke karakter
/
atau sebelumnyaspace
.sumber
backspace
.bind -P | grep '^backward-kill-word'
Untuk mendeteksi pengikatan readline yang membunuh kata mundur seperti yang Anda inginkan, Anda dapat menggunakan perintah berikut di terminal Anda:
Dalam instalasi Ubuntu default, outputnya bisa:
Baris kedua tampaknya tidak penting pada saat ini, jadi mari kita coba melihat apa yang dimaksud dengan baris pertama. Dari apa yang saya mengerti,
backward-kill-word
fungsi readline yang sebenarnya menghapus semua karakter Sampai akhirnya karakter khusus sebelumnya (/
,;
,,
dll) terikat dengan\e\C-h
urutan tombol. Sekarang, dalam urutan ini\e
merupakan yang Escutama,\C
- yang Ctrlutama, dan\C-h
singkatan Ctrl+ hyang setara dalam hal ini dengan Backspacekunci.Jadi, Anda mencari Esc+ Ctrl+h pintasan keyboard yang setara dengan Esc+Backspace dan yang, karena perilaku xterm yang membuat Altkunci untuk bertindak sebagai karakter meta dan karakter meta dikonversi menjadi urutan dua karakter dengan karakter itu sendiri didahului oleh Esc(lihat
man xterm
) , setara dengan Alt+Backspace .Sekarang, jika Anda tidak menyukainya dan Anda terus melupakannya, Anda dapat menggunakan perintah berikut untuk membuat pintasan baru, katakanlah Esc+ w, untuk tujuan Anda:
Untuk membuat pintasan baru ini tetap ada sepanjang waktu untuk semua perintah yang menggunakan readline, tambahkan baris baris berikut ke
~/.inputrc
file Anda :Lihat
help -m bind | sensible-pager
untuk info lebih lanjut.sumber
bind '"\ew": backward-kill-word'
, tapi itu nitpicking. Dan mungkin layak disebut bahwa Anda juga dapat menempatkan"\ew": backward-kill-word
di~/.inputrc
, dalam hal perintah lain yang menggunakan readline juga akan memiliki yang mengikat, misalnya jika Anda mengaktifkan readline di python shell interaktif, yang mengikat juga akan berlaku di sana.Kombinasi kunci lainnya adalah:
Alt+ Blalu Ctrl+K
Alt+ Blalu Alt+D
Ini menghapus kata terakhir tanpa menghapus karakter khusus di antara kata-kata.
sumber