Ketika saya menghapus "kata" di Bash, itu akan berhenti pada karakter tertentu seperti _
dan /
. Misalnya, jika saya mengetik
/foo/bar
dan mengaktifkan backward-kill-word
(biasanya dipetakan ke Alt- Backspacedan / atau Ctrl- w), teks yang tersisa adalah
/foo/
. Ini tidak tidak sesuai dengan $COMP_WORDBREAKS
atau readline
'srl_completer_word_break_characters
. Bagaimana saya bisa mendeteksi (lebih baik dalam sistem yang sedang berjalan, daripada default dalam kode, karena mereka mungkin dapat diganti) karakter mana yang digunakan untuk menentukan kata istirahat?
[^A-Za-z0-9]
,[^[:alnum:]]
(tergantung lokalisasi) atau sesuatu yang lain?alnum
kelas karakter) meskipun itu akan mempengaruhi aplikasi lain juga.isalnum
, jadi memang tergantung pada lokal dan setara dengan versi kedua Anda, @ l0b0.