Добавление Ctrl-L в качестве «чистой» горячей клавиши в ksh OpenBSD

8

Я искал способ использовать Ctrl- Lочищать монитор вместо того, чтобы вводить clearкаждый раз. Я не нашел ничего, кроме патча, который не работал для меня. Как добавить горячие клавиши / ярлыки в мой ящик OpenBSD (который использует ksh в качестве оболочки)?

[*] OpenBSD's ksh.kshrc

[*] Ctrl-l в hex = 0xc:

# прочитать ключ; echo -n $ key> file.txt; hexdump file.txt
^ L
0000000 000c                                   
0000001
# 

источник

Ответы:

5

Согласно справочной странице OpenBSD ksh , Ctrl+ Lдолжен перерисовываться.

 redraw: ^L
         Reprints the prompt string and the current input line.

Если этого недостаточно, я не вижу какой-либо команды редактирования, которая бы помогла, поэтому я бы посоветовал узнать больше об этом bind -m.

Возможно, вы можете сделать что-то вроде bind -m '^L'=clear'^J'этого clear Enter.

Mikel
источник
Я проверил bind -m '^L'=clear'^J'на OpenBSD 4.9, и он работает.
Микель
Это решено, Mikel & Shellter спасибо за помощь.
3

Вы должны иметь возможность добавить псевдоним в ваш .kshrc, чтобы сделать это. Пытаться

alias "^L"=clear

Где ^Lэто единственный символ Ctrl- L. Вам может не потребоваться цитирование, если оно по-прежнему не работает, последним средством было бы избежать его как (то, что вы печатаете, а не то, что будет видно в вашем файле) Ctrl- VCtrl- L→ очистить.

IHTH

shellter
источник
1
Спасибо вам, shellter, но этот способ работает для bash, а не для ksh.
@Barakat: что не работает? Что такое сообщение об ошибке? Это работает в моей среде ksh ;-) (и я уверен, что это сработало бы там, где я использовал Solaris и AIX ksh). Хм. перечитайте ваши сообщения и увидите, что вы переходите на OpenBSD ksh. Извините, у меня нет опыта с этим. Возможно ли, что это действительно pdksh? Удачи.
shellter
@Barakat: Еще одна вещь, вы перезапустили свою оболочку после добавления определения псевдонима в .kshrc. Или вы можете добавить его в ~ / .profile и затем запустить новую оболочку.
shellter