Agregar Ctrl-L como tecla de acceso rápido "claro" en ksh de OpenBSD


8

He estado buscando una forma de usar Ctrl: Lborrar el monitor en lugar de escribir clearcada vez. No encontré nada excepto un parche que no me funcionó. ¿Cómo agrego teclas rápidas / accesos directos a mi cuadro de OpenBSD (que usa ksh como shell)?

[*] Openshd 's ksh.kshrc

[*] Ctrl-l en hexadecimal = 0xc:

# leer la clave ; echo -n $ clave> archivo.txt; hexdump file.txt
^ L
0000000 000c                                   
0000001
# # 

Respuestas:


5

De acuerdo con la página de manual de OpenBSD ksh , Ctrl+ Lestá obligado a volver a dibujar.

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

Si eso no es suficiente, no puedo ver ningún comando de edición que ayude, por lo que sugeriría aprender más bind -m.

Quizás puedas hacer algo como bind -m '^L'=clear'^J'hacerlo escribir clear Enter.


He probado bind -m '^L'=clear'^J'en OpenBSD 4.9 y funciona.
Mikel

Está resuelto, Mikel y Shellter, gracias por la ayuda.

3

Debería poder agregar un alias a su .kshrc para hacer esto. Tratar

alias "^L"=clear

¿Dónde ^Lestá el single char Ctrl- L. Es posible que no necesite la cita, si todavía no funciona, el último recurso sería escapar como (lo que está escribiendo, no lo que será visible en su archivo) Ctrl- VCtrl- L→ borrar.

IHTH


1
Gracias shellter pero de esta manera funciona para bash no ksh.

@Barakat: ¿Qué no está funcionando? ¿Cuál es el mensaje de error? Funciona en mi entorno ksh ;-) (y estoy seguro de que habría funcionado donde utilicé Solaris y AIX ksh's). Hmm vuelva a leer su publicación y vea que se refiere a OpenBSD ksh. Lo siento, no tengo experiencia con eso. ¿Es posible que sea realmente pdksh? Buena suerte.
shellter

@Barakat: Otra cosa, ¿reiniciaste tu shell después de agregar la definición de alias a .kshrc? O puede agregarlo a ~ / .profile y luego iniciar un nuevo shell.
shellter
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.