Я знаю о множестве -o vi и k и j комбинациях. Я хочу отобразить их на стрелки вверх и вниз, чтобы я мог использовать AIX(подсказка ksh) так же, как bash. Какие-либо предложения?
2 ответа
2
Вот один способ, который сработал для меня: Поместите следующее в скрипт .profile
set -o emacs
alias __A=$(print -n "\020")
alias __B=$(print -n "\016")
alias __C=$(print -n "\006")
alias __D=$(print -n "\002")
1
Возможно, вы сможете написать trap
для сигнала KEYBD
которая будет обрабатывать нажатия клавиш со стрелками и нажимать на них клавиши vi
k
и j
.
Вы можете узнать, какие символы испускаются вашими клавишами со стрелками, нажав Ctrl-v, а затем клавишу. Вы должны увидеть что-то вроде ^[[A
Например:
f () { if [[ ${.sh.edchar} == $'\033[A' ]]; then .sh.edchar="k"; fi; }
trap f KEYBD
Протестируйте переменную .sh.edmode
чтобы определить, заменяется ли ключ в режиме вставки или в командном режиме (его значение будет 0x1b
в режиме вставки, а в противном случае - ноль) .