Mengapa panah ctrl + kiri tidak melewati kata-kata?

20

Saya menggunakan Ubuntu 12,04. Setiap kali saya mengedit teks, saya menggunakan ctrl+ left/ rightuntuk bergerak / melompat di antara kata-kata. Baru-baru ini, saya menginstal xscreensaver dan mengubah pintasan keyboard untuk mengaktifkan screensaver saya. Tapi kemudian, Ctrl+ leftberhenti merespons secara normal (pindah ke kata berikutnya ke kiri). Ctrl+ rightmasih melompat ke kata berikutnya ke kanan. Masalah terjadi apakah saya menggunakan terminal, Gedit atau bahkan mengetik teks di halaman web.

Saya kembali ke gnome-screensaver, menghapus xscreensaver (juga memperbaiki pintasan keyboard saya). Tapi masalahnya tetap ada.

Saya mencoba menyalin konten dari /etc/inputrcke ~/.inputrc(secara default, saya tidak punya ~ / .inputrc). Saya mendapat info di sini: Karakter aneh muncul ketika saya menggunakan tombol Ctrl dan Panah untuk bernavigasi

Tolong bantu.

EDIT: Ini milik saya ~/.inputrc:

# /etc/inputrc - global inputrc for libreadline
# See readline(3readline) and `info rluserman' for more information.
# Be 8 bit clean.
set input-meta on
set output-meta on
# To allow the use of 8bit-characters like the german umlauts, uncomment
# the line below. However this makes the meta key not work as a meta key,
# which is annoying to those which don't need to type in 8-bit characters.

# set convert-meta off

# try to enable the application keypad when it is called.  Some systems
# need this to enable the arrow keys.
# set enable-keypad on

# see /usr/share/doc/bash/inputrc.arrows for other codes of arrow keys

# do not bell on tab-completion
# set bell-style none
# set bell-style visible

# some defaults / modifications for the emacs mode
$if mode=emacs

# allow the use of the Home/End keys
"\e[1~": beginning-of-line
"\e[4~": end-of-line

# allow the use of the Delete/Insert keys
"\e[3~": delete-char
"\e[2~": quoted-insert

# mappings for "page up" and "page down" to step to the beginning/end
# of the history
# "\e[5~": beginning-of-history
# "\e[6~": end-of-history

# alternate mappings for "page up" and "page down" to search the history
# "\e[5~": history-search-backward
# "\e[6~": history-search-forward

# mappings for Ctrl-left-arrow and Ctrl-right-arrow for word moving
"\e[1;5C": forward-word
"\e[1;5D": backward-word
"\e[5C": forward-word
"\e[5D": backward-word
"\e\e[C": forward-word
"\e\e[D": backward-word

$if term=rxvt
"\e[8~": end-of-line
"\eOc": forward-word
"\eOd": backward-word
$endif

# for non RH/Debian xterm, can't hurt for RH/Debian xterm
# "\eOH": beginning-of-line
# "\eOF": end-of-line

# for freebsd console
# "\e[H": beginning-of-line
# "\e[F": end-of-line

$endif

jika saya menghapus / etc / inputrc, inilah yang saya dapatkan jika saya menahan CTRL kemudian tekan panah kanan lima kali: menekan ctrl + panah kanan

Berbeda dengan gambar pertama di atas, menahan CTRL dan menekan panah kiri lebih dari sekali tidak akan mencetak ;5Dlagi ... itu seperti menerima perintah sekali dan tidak melakukannya lagi .. lihat gambar di bawah ini: menekan ctrl + panah kiri

itagomo
sumber
Shell apa yang Anda gunakan?
Sergiy Kolodyazhnyy

Jawaban:

25

1 - Masuk ~/.zshrc

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

2 - Atau dalam ~/.bashrc

bind '"\e[1;5D" backward-word' 
bind '"\e[1;5C" forward-word'

... Dan sekarang ctrl+ left/ rightmelompat kata-kata dalam byobu / tmux.

3 - Jangan main-main dengan inputrc.

yPhil
sumber
ini terlalu lama ... sudah menginstal ulang ubuntu
itagomo
3
Demikian pula jika Anda memiliki Bash shell, di file ~ / .bashrc Anda tambahkan bind '"\ e [1; 5D" kata mundur' bind '"\ e [1; 5C" kata depan'
ishmael
3

Saya punya masalah yang sama. Saya memperbaikinya dengan menyalin baris ini ke ~/.inputrcfile saya :

"\e[1;5C": forward-word
"\e[1;5D": backward-word
"\e[5C": forward-word
"\e[5D": backward-word
"\e\e[C": forward-word
"\e\e[D": backward-word
Hemanthkumar
sumber
hanya 2 baris pertama yang diperlukan
davidchoo12
1

Buat file inputrc menggunakan touch ~/.inputrc.
Salin konten jawaban yang diterima di tautan yang Anda maksudkan yaitu karakter Aneh yang muncul ketika saya menggunakan tombol Ctrl dan Panah untuk menavigasi , ke file ini dengan membuka file ~ / .inputrc menggunakan beberapa editor teks. Simpan itu.
Baca file menggunakan bind ~/.inputrcperintah atau mulai ulang terminal baru. Segalanya harus bekerja ..

drake01
sumber
saya sudah membuat ~ / .inputrc saya. konten yang sama dengan apa yang dimiliki / etc / inputrc saya. masalahnya di sini adalah perintah "CTRL + Panah Kiri" jangan langsung ke kata berikutnya ke kiri. tapi selain itu, semua fungsi berfungsi. ada solusi lain?
itagomo
Tampaknya mengikat untuk ctrl + panah kiri sedang ditimpa entah bagaimana. Bisakah Anda memasukkan konten yang tepat dari file inputrc? Kemungkinan kedua adalah garis yang salah. Omong-omong, Apakah pengikatan untuk kombinasi ctrl + kiri adalah baris terakhir ~/.inputrcfile?
drake01
tulisan yang diedit .. lihat di atas .. info tambahan, melewatkan kata-kata di sebelah kanan berfungsi dengan menahan (tidak boleh melepaskan) kunci CTRL kemudian menekan tombol kanan sekali setiap kali saya ingin melompati kata-kata .. tetapi pergi ke kiri, saya perlu untuk melepaskan kunci CTRL setiap kali saya melewatkan kata-kata ..
itagomo
siapa yang bisa membantu?
itagomo
1

Saya menemukan bahwa melompati kata ke kiri dengan memicu Ctrl + Kiri tidak berfungsi (bahkan tidak ketika saya menambahkan beberapa kode ke ~ / .inputrc atau ~ / .zshrc) karena secara default pintasan ini sudah digunakan di Ubuntu (ukurannya kembali jendela saat ini secara horizontal). Anda dapat mengubah pintasan default di menu System -> Preferences -> Shortcut Keyboard. Saya baru saja mengganti Ctrl + Kiri dengan Ctrl + Bawah untuk membebaskannya. Setelah penggantian ini, melompati kata ke kiri menggunakan Ctrl + Left berfungsi dengan baik! Bahkan tanpa ~ / .inputrc atau ~ / .zshc.

Banjo
sumber
sudah mencari solusi untuk ini sejak lama. Ini sangat sederhana dan efisien! Terima kasih.
rizwanhudda