Bagaimana cara mendapatkan Ctrl + Kiri / Ctrl + Kanan untuk melompat kata lagi di byobu?

19

Pada mesin Ubuntu 11.10 saya yang menjalankan byobu 4.37 saya dapat menggunakan kombinasi tombol Ctrl+ / Ctrl+ untuk melompat kata pada suatu waktu di terminal. Namun, pada mesin Ubuntu 12.04 saya dengan byobu 5.17 ini tidak lagi berfungsi.

Saya telah membaca bahwa byobu telah memetakan ulang kombinasi tombol tersebut untuk mengubah ukuran pemisahan, dan sekarang Alt+ dan Alt+ memiliki efek yang diinginkan. Namun, saya tidak dapat menemukan di mana Alt+ dan Alt+ dipetakan, untuk memetakan Ctrl+ dan Ctrl+ . Jika saya menghapus peta binding kunci untuk Ctrl+ dan Ctrl+ , maka kursor hanya memindahkan 1 karakter pada satu waktu, bukan 1 kata pada suatu waktu.

chmac
sumber

Jawaban:

11

Salah satu solusinya adalah mengganti backend ke layar. Namun, saya mengalami masalah berulang dengan ctrl-benar ketika saya melakukan itu. Untuk itu ubah ~/.byobu/backendke BYOBU_BACKEND=screen.

Saya kemudian menemukan solusi yang jauh lebih baik menggunakan tmux dari bug ini . Buat ~/.byobu/.tmux.confdengan nilai ini:

set-window-option -g xterm-keys on

Kemudian ~/.byobu/keybindings.tmuxdengan:

unbind-key -n C-Left
unbind-key -n C-Right

Sekarang ctrl-kiri dan ctrl-kanan lompat satu kata pada suatu waktu di tmux.

chmac
sumber
0

Di saya ~/.zshrc

bindkey '^[[1;5D' backward-word
bindkey '^[[1;5C' forward-word

... Dan sekarang ctrl+left / rightlompat kata-kata dengan byobu / tmux.

yPhil
sumber
Itu trik yang berguna. Saya kira itu hanya berfungsi untuk shell zsh. Secara pribadi, saya menggunakan zsh secara lokal, tetapi bertemu di tempat lain.
chmac
0

Alasan untuk perubahan adalah karena sekarang Byobu menggunakan tmuxsebagai backend, bukan screen.

CTRL- Left& CTRL- Rightdigunakan tmuxuntuk navigasi panel, jadi kami harus mengatakan tmuxuntuk tidak melakukan ini! Edit saja ~/.byobu/keybindings.tmuxdan tambahkan baris berikut sampai akhir:

unbind-key -n C-Left
unbind-key -n C-Right

Cukup logout / kembali dan Anda akan melihat perubahannya.

* Catatan, ini hanya akan berfungsi untuk xterm, bukan untuk yang sebenarnya ttys. Anda akan melihat bahwa bahkan tanpa menggunakan byobu, ctrl- leftdan ctrl- righttidak berlaku seperti yang diharapkan dari a tty. Ubuntu tampaknya mengabaikan /etc/inputrcketika menggunakan ttykarena suatu alasan.

reverendj1
sumber
2
Saya mencobanya, tetapi kemudian ctrl-kiri / kanan hanya memindahkan satu karakter pada satu waktu, bukan seluruh kata.
chmac
Saya dapat mengkonfirmasi solusi @ chmac.
jrg
2
jawaban yang bagus, tetapi itu tidak berhasil untuk saya tanpa .tmux.confperubahan
Brenden