Como configurar o hjkl por menos?

9

lessjá usa j / k para rolagem vertical, mas não h / l para rolagem horizontal (no --chmodo). A tecla l não está vinculada a nada de qualquer maneira, e h é apenas um sinônimo de H, então eu não sobrescreveria nenhuma ligação importante.

Como posso fazer h e eu rolar horizontalmente?

Anna
fonte
3
Vejaman lesskey
Marco

Respostas:

6

man less nos diz o seguinte:

You  may  define your own less commands by using the program lesskey
(1) to create a lesskey file.  This file specifies a set of  command
keys  and  an  action  associated  with  each key.  You may also use
lesskey to change the line-editing keys (see LINE EDITING),  and  to
set  environment  variables.  If the environment variable LESSKEY is
set, less uses that as the name of  the  lesskey  file.   Otherwise,
less  looks  in  a  standard  place  for  the  lesskey file: On Unix
systems, less looks for a lesskey file called "$HOME/.less".

Ele nos diz para usar lesskeypara gerar uma leitura de arquivo lesskey man lesskeypreenche os detalhes. Você pode colocar o seguinte no arquivo de entrada lesskey ( ~/.lesskeypor padrão)

h left-scroll
l right-scroll

Em seguida lesskey, execute e ele gerará um arquivo de saída ( ~/.lesspor padrão) para você.

Até onde eu sei, você não pode fazer rolagem horizontal caractere por caractere.

Shawn J. Goff
fonte
2

Você pode definir suas próprias associações de teclas com o lesskeyprograma. Crie um arquivo chamado .lesskeyem seu diretório pessoal contendo suas combinações de teclas e execute o lesskeycomando para convertê-las em um formulário que lesscompreenda (as ligações compiladas estão armazenadas ~/.less).

Não há comando que role um caracter para a esquerda ou direita. Você pode fazer isso passando o argumento numérico 1 para os comandos left-scrolle right-scroll. Você não pode definir diretamente uma ligação para um comando com um argumento, mas pode definir uma ligação para executar um comando e analisar mais chaves. Portanto, execute o noactioncomando e analise uma sequência de teclas que executa o comando de rolagem com os argumentos desejados.

h noaction 1\e(
l noaction 1\e)
Gilles 'SO- parar de ser mau'
fonte