Ao editar um arquivo de script bash com o emacs e tentar entrar <<<
, no segundo <
emacs insira um modelo para um documento aqui, como no exemplo a seguir:
<<EOF
EOF
Esta não é a saída desejada, porque eu digitaria um literal <<<
.
No momento, eu recorro a entrar < < <
e excluir espaços, mas prefiro poder entrar diretamente.
bash
emacs
autocomplete
enzotib
fonte
fonte
Respostas:
Na verdade, não há necessidade da
my-disable-here-document
função personalizada de Tom religar as teclas. Esse recurso pode ser ativado e desativado comsh-electric-here-document-mode
:(Também pode ser alternado para o buffer ativo via
M-x sh-electric-here-document-mode
.)fonte
sh-mode-hook
não funcionou para mim, massh-set-shell-hook
funcionou.Bind
<
paraself-insert-command
no modo bash e, em seguida, ele irá inserir apenas o caráter.Por padrão, ele é vinculado ao
sh-maybe-here-document
modo bash e essa função faz a inserção automática.Aqui está uma maneira de recuperar a chave:
fonte
<
está vinculadaself-insert-command
por padrão.Se a única razão pela qual você deseja desativar o aqui-doc comportamento é que ele impede que você inserir uma cadeia de caracteres here <<<, então a ligação
C-<
para uma função que contém(insert "<<<")
o trabalho vontade, e ainda permitir a auto aqui-doc modelofonte
Entro
<<<
como M-3<no modo shell.fonte
Tipo < C-q < <
fonte
Depois de dar uma olhada em: http://web.mit.edu/dosathena/sandbox/emacs-19.28/lisp/sh-script.el, eu vim com esta solução:
fonte