~ / .inputrc файл не відображається правильно


14

У мене є файл ~ / .inputrc, який я створив для певних прив'язок ключів.

# 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

кожного разу, коли я намагаюся запустити source ~/.inputrc, це дає мені таку помилку:

\ e [1; 5C: слово вперед: Команда не знайдена. \ e [1; 5D: зворотне слово: Команда не знайдена. \ e [5C: слово вперед: Команда не знайдена. \ e [5D: зворотне слово: Команда не знайдена. \ e \ e [C: слово вперед: Команда не знайдена. \ e \ e [D: зворотне слово: Команда не знайдена.

Він також не працює, коли я відкриваю новий термінал, я не отримую помилки, але мої комбінації клавіш ctrl також не працюють у новому терміналі. Я створив цей файл сам, оскільки у мене немає доступу до root / change / inputrc. Хтось може мені допомогти? Спасибі.

EDIT: Я спробував файл із пробілом після двокрапки (:)). Це не працює. Я також спробував зробити його виконуваним (chmod + x ~ / .inputrc), не працював.

EDIT: Я зрозумів, що ця процедура призначена лише для 'bash', і я виконую 'tcsh'. Для 'csh' використовуйте .bindingsфайл замість .inputrcфайлу та використовуйте bindkeyсинтаксис.

Відповіді:


12

Для bash, це перезавантажить тепер визначені поточні карти

bind -f  ~/.inputrc

Звідки взяти bindкоманду?
danijar

bind - це вбудована оболонка. Що ти біжиш?
Пол

Я використовую Debian з zsh.
danijar

для мене це не спрацювало з bash на RHEL 7. Мої прив'язки .inputrc досі не завантажуються після запуску цієї команди.
user5359531

@ user5359531, чи може це бути, що ваші попередні прив'язки не "скачуються"? (Якщо вони не встановлені явно, вони залишаться такими, як були раніше.) Або, можливо, щось інше, як ваш ~ / .inputrc $include /etc/inputrc?
mwfearnley

6

.inputrcФайл не є файлом , щоб бути отримані. Це повинно враховуватися автоматично bashабо іншим програмним забезпеченням, використовуючи бібліотеку readline. Якщо це не працює, додайте пробіл після двокрапки, наприклад

"\e[1;5C": forward-word

(Я завжди бачив пробіл у цьому конфігураційному файлі).


1
+1 Наголос на "іншому програмному забезпеченні, що використовує бібліотеку перегляду ліній". .inputrcне є скриптом оболонки; це readlineфайл конфігурації.
чепнер

Насправді саме так у мене було це спочатку, і я змінив його без місця, щоб просто спробувати. Це не працює. Я це додав у редагуванні. Спасибі.
rrlamichhane

5

Ключові прив’язки та ~/.inputrcфайл, розміщений у дискусії, призначені для bash. Для csh(або tcsh) використання файлу ~/.bindingsта використання наступного синтаксису.

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

Зрозумів це після деякого гугла.


З будь-якої причини мій tsch ігнорував файл .bindings. Додавання source ~/.bindingsдо мого ~/.cshrcфайлу виправлено це.
drmuelr
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.