Como faço electric-pair-mode
para não emparelhar aspas (simples ou duplas)? Eu ainda quero que emparelhe todo o resto (colchetes, chaves, etc.), mas não aspas.
7
Como faço electric-pair-mode
para não emparelhar aspas (simples ou duplas)? Eu ainda quero que emparelhe todo o resto (colchetes, chaves, etc.), mas não aspas.
electric-pair-inhibit-predicate
?electric-pair-inhibit-predicate
variável? É desconhecido para o meu emacs 24.3.1elec-pair.el
.electric-pair-mode
,electric-pair-pairs
eelectric-pair-text-pairs
é usado para personalização, maselectric-pair-text-syntax-table
tem precedência. Um gancho que defina localmente essas variáveis deve ser suficiente para que isso funcione. Vou verificar se é esse o caso mais tarde e postar uma resposta.Respostas:
Adicione o seguinte ao seu arquivo de inicialização do emacs:
Referência da publicação do meu blog: https://www.topbug.net/blog/2016/09/29/emacs-disable-WER-pairs-for-electric-pair-mode/
fonte
emacs -Q
(emacs iniciado com a opção de linha de comando-Q
). Talvez algum outro pacote interfira. O código funciona para mim com o GNU Emacs 25.3.1 (x86_64-unknown-cygwin, GTK + versão 3.22.20) de 11/09/2017.?\"
acaba sendo impresso como34
, é porque o"
caractere é igual ao número inteiro34
. No Emacs, os caracteres são números inteiros positivos de um determinado intervalo.GNU Emacs 24.3.1 (x86_64-redhat-linux-gnu) of 2016-01-13
.Parece que você não pode. As várias personalizações permitem apenas adicionar pares.
Se você estiver disposto a usar um pacote diferente para fazer o emparelhamento, tente os smartparens . Você pode definir aspas para não emparelhar da seguinte maneira:
fonte
electric-pair
respeitará o fechamento existente braçadeira. Emsmartparens
, uma nova chave de fechamento é sempre criada, a menos que você esteja no modo estrito (que tem outros efeitos colaterais fortes). Por exemplo:|)
->(|)
emelectric-pair
versus|)
->(|))
em smartparens. O símbolo do tubo|
representa o cursor.electric-pair
e tiver uma chave de fechamento quatro linhas abaixo, com apenas espaço em branco entre o cursor e a chave de fechamento e digitar essa chave de fechamento, ela substituirá a chave abaixo, fazendo com que ela fique nivelada com o cursor. Isso não acontece asmartparens
menos que você esteja no modo estrito. Este é um bom atalho ao editar algo como lisp (ou mesmo algo como Python, honestamente), porque reduz a sobrecarga cognitiva da formatação de expressões s. Pode fazer com que os aparelhos de equilíbrio sejam mais confusos.electric-pair
também herda seus pares da tabela de sintaxe do modo atual, enquanto quesmartparens
você precisa programar explicitamente em cada par. Eu poderia estar errado sobre isso.Atualização: a resposta de @ xuhdev é preferível, pois não interfere no código do Emacs.
Pode valer a pena uma solicitação de recurso tendo isso personalizável. No momento, parece trivial modificar o código em questão.
Posteriormente, carregue sua própria variante da função de par elétrico após a inserção automática
Abra o elec-pair.el e copie a partir daí
Em seguida, procure no corpo qualquer
e exclua o
?\"
de lá, ou seja,mas não excluir? \ "em outros lugares (!)
e recarregar, ou seja, avaliar a função alterada.
Para recarregar na próxima sessão, coloque-o em algum arquivo "my-modified-stuff.el" e carregue-o no seu arquivo init.
fonte