Posso fazer “menos” executar comandos arbitrários com uma única sequência de teclas?

3

O cerne da minha pergunta está no título. Lendo as páginas de manual less e lesskeys , criei um arquivo contendo:

^B shell touch ~/testfile

e execute-o em lesskey para gerar .less-test e, em seguida, execute less -k .less-test file . Isso tudo funciona bem e faz o que eu espero, exceto que eu preciso apertar enter duas vezes para realmente executar o comando shell e retornar ao file . Alterar o comando para touch ~/testfile\n elimina a necessidade de uma dessas impressoras, mas touch ~/testfile\n\n não funciona para se livrar de ambos. Existe uma maneira de evitar entrar aqui?

Como uma pergunta de acompanhamento (e para explicar porque estou perguntando, em primeiro lugar) - Estou fazendo isso como um processo de marcação de arquivos, onde eu inspeciono o arquivo usando menos e quero usar essas teclas de atalho para escreva para outro arquivo com uma das duas tags (que pretendo vincular a duas seqüências de teclas diferentes). Então, além de não ter que pressionar enter duas vezes acima, eu também gostaria de saber se há uma maneira de mover imediatamente para o próximo arquivo (como acontece com o comando next-file lesskey) também (ou seja, não pressione nenhuma outra tecla além da sequência de teclas de marcação).

    
por Brandon Humpert 07.08.2014 / 22:53

1 resposta

2

Ele sempre exibirá a mensagem "! done".

Se você quiser, pode alterar "! done" para NULL no comando.c (linha 272 e 274) para se livrar desse comportamento.

Para que ele execute o próximo arquivo após o comando touch, por exemplo, você pode adicionar a seguinte ligação:

^B shell touch ~/testfile\n:n\n

(: n é a ligação padrão para o próximo arquivo)

    
por 07.08.2014 / 23:15

Tags