Em aplicativos de emulação de terminal, pressionando CTRL + Left / Right flechas salta de uma palavra para a anterior ou seguinte. É possível ter a mesma funcionalidade em um console Linux, seja no modo texto ou no modo framebuffer?
Na minha configuração, o CTRL + teclas de seta são transformadas em sequências de caracteres de escape e não são interpretadas.
Isso é possível se e somente se o terminal enviar sequências de escape diferentes para Ctrl+Left vs Left. Este não é o caso por padrão no console do Linux (pelo menos na minha máquina). Você pode fazer isso modificando o mapa de teclado. O arquivo exato a ser modificado pode depender de sua distribuição; no Debian lenny, o arquivo a ser modificado é /etc/console/boottime.kmap.gz
. Você precisa de linhas como
control keycode 105 = F100
string F100 = "\033O5D"
control keycode 106 = F101
string F101 = "\033O5C"
Você também pode escolher as mesmas sequências de escape do emulador de terminal X. Para descobrir qual é a sequência de controle, digite Ctrl+VCtrl+Left em um Shell; este insere (na minha máquina) ^[O5D
Onde ^[
é um caractere de escape. No arquivo de mapa de teclado, \033
representa um caractere de escape.
Configurar o aplicativo no terminal para decodificar a sequência de escape é um problema separado.
Atalhos estilo Emacs Alt + f, Alt + b funcionam por padrão com todos os readline - programas de linha de comando ativados, como shells.
Você pode definir o vim como seu editor de linha de comando e, em seguida, apertar ESC e pular o estilo do vim (avançar, voltar, fim, $, 0, etc)