Більше не можна використовувати CTRL + вліво / вправо в терміналі Bash


13

Зазвичай я використовую CTRL+ Leftі CTRL+ Rightдля навігації між словами в командному рядку. Я переключила ноутбук сьогодні вранці і більше не можу цього робити. Натомість код введення CTRL+ Leftнадрукується в терміналі.

Т.е.: Ось мій результат, коли я намагаюся орієнтуватися з CTRL+ Left:

~ $ test test ;5D;5D;5D

Цікаво, що я все ще можу використовувати CTRL+ Left/ Rightпросто чудово у VIM.


Майне, ти щось помістив у свою башерку, щоб це дозволити? Тому що він не працює за замовчуванням для мене на Ubuntu 15.10 ...
Martin Tournoij

Будь ласка, опублікуйте вихід grep bind ~/.bashrc . Ви шукаєте інші файли в ~/.bashrc( grep source ~/.bashrc)?
kos

1
Просто цікаво, але який результат echo $0?
Аарон

Відповіді:


15

Відкрийте ~/.inputrcфайл і додайте наступні рядки:

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

Закрийте і знову відкрийте оболонку. Тепер ви повинні мати можливість використовувати ці клавіші.

Причини такої поведінки? Не зовсім точно. З певної причини ви bashзупинили читання /etc/inputrcфайлів, але це має бути читання файлу у вашій домашній папці


Я думаю, ця проблема почалася для мене, коли я створив файл ~ / .inputrc. Це зробило б це?
wjandrea

1
@wjandrea так, я перевірив це тільки зараз. Перш ніж заповнити пусту, ~/.inputrcbash спрацював нормально, почав показувати ті самі контрольні символи для виводу, як тільки порожній ~/.inputrcбув створений. Вилучено - Ctrl + клавіші зі стрілками працюють знову. straceвиявляє, що якщо .inputrcіснує, bash не читатиме /etc/inputrc. Я трохи поблукаю з цим і ще більше оновлю свою відповідь
Сергій Колодяжний

1
Якщо ви додасте $include /etc/inputrcу верхній частині свого ~/.inputrcфайлу, ви можете включити загальносистемну поведінку, а потім розширити це.
Cory Gross
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.