2013-08-05 2 views
3

Я переназначен следующие ключи в Bash:Bash KeyBinding с «связывают» - избежать рекурсии как noremap в Vim

bind '"a" "b"' 
bind '"b" "c"' 

Если я нажимаю а или б оба раза в c будет печататься ,

Как я могу отобразить клавиши таким образом, чтобы при нажатии и б будет напечатан и только нажатие на и с будет напечатан (как с ВИМСОМ **nore**-map)?

+0

Каков ваш прецедент? Возможно, есть способ сделать это, но это звучит как [проблема X-Y] (http://meta.stackexchange.com/q/66377). – chepner

+0

Привет, ну, мой вариант использования - переназначить ключи в bash без рекурсии;) Я уже знаю, как переназначать ключи в windows, mac и linux, но в этом случае я должен переназначить их, не имея возможности модифицировать ОС. Может быть, существует более глобальный подход, например, переназначение клавиш на экране или что-то еще? – xubaso

ответ

0

Возможно, вам будет полезно создать собственный файл смены ключей, который отображает числовой сигнал, который вы получаете с клавиатуры, на символ. Это делается с помощью loadkeys команды, т.е. если вы переходите к раскладке Dvorak вы можете сделать (это многословным способ показать вам расположение файлов карты:

loadkeys /usr/share/keymaps/i386/dvorak/dvorak.map.gz 

Вы можете скопировать файл карты для макет, который вы используете, и изменить релевантные символы, и загрузить измененное сопоставление. Я думаю, что loadkeys влияет только на командную строку, хотя существуют аналогичные методы для изменения поведения в XI.

0

Вы можете сделать символ справа часть буква с предшествующим «^ V»:

привязывать 'х ": "^ Vx"'

Ключ последовательности, чтобы ввести текст после двоеточия:

"Ctrl-v Ctrl-v х пространство"

В bash «Ctrl-v x» приводит к литералу x, без интерпретации ключа.

Смежные вопросы