Para inserir um traço , eu uso ^v u 2014
sete pressionamentos de tecla. Existe uma maneira mais fácil? (Eu estava olhando para dígrafos e não encontrei um traço por lá.)
insert-mode
unicode
input-methods
Tomas Tomecek
fonte
fonte
<Ctrl-Shift-U>2013<Space>
porque funciona em qualquer lugar. Alguns códigos-chave percorrem um longo caminho (eu uso principalmente U + 2013, U + 2014, U + 2026, U + 2212, U + 2192, U + B0; - / - /… / - / → / °).Compose
-
-
-
para um traço,Compose
-
-
.
para um traço. A composição é mágica, especialmente se você a mapear para o Caps-Lock totalmente não utilizado.Respostas:
Você pode usar dígrafos: Ctrl+k-N(com letras maiúsculas
N
)No modo Inserir, os digrafos são inseridos Ctrl+kseguidos por uma sequência de dois caracteres. Para en-dash, a sequência é
-N
.Como Quincy apontou,
U+2014
é em-dash. Se você deseja inserir isso usando dígrafos, a sequência é-M
.fonte
U+2014
não é en-dash? minha vida inteira foi uma mentira! Edit: agora entendi: minha fonte de terminal (Inconsolata) processa os dois traços da mesma maneira.:digraphs
comando para exibir todos os dígitos e procure por 8211.Se não houver um dígrafo predefinido ou você desejar uma sequência de teclas mais memorável, poderá definir os dígrafos no seu vimrc. Por exemplo, a seguir, definiremos dois dígrafos para en dash (8211) e em dash (8212) que espelham suas seqüências XCompose.
O
:digraph
comando espera que o valor seja especificado em decimal e não em hexadecimal, e é por isso que é 8211 para traço em vez de 2013.fonte
A maneira padrão de inserir um traço no Vim é usar um dígrafo, como o tommcdo explicou .
No entanto, acho dígrafos em geral, e particularmente este ( Ctrl+k, -, Shift+N) muito estranho para digitar. Para entrada mais rápida de traços, você pode adicionar o seguinte par de mapeamentos no modo de inserção a um arquivo de tipo de arquivo, como
.vim/after/ftplugin/markdown.vim
.Para traços en / em, respectivamente:
NB Os
<buffer>
meios que esse mapeamento se aplica somente aos arquivos Markdown. Isso é necessário porque existem alguns contextos (por exemplo, programação) em que não quero que dois hífens sejam substituídos por hífens.Esses mapeamentos aproveitam o fato de que, nos contextos que eu normalmente os uso, traços são cercados por espaços e traços não . * Portanto, usar esses mapeamentos significa que eu posso usar exatamente as mesmas teclas pressionadas nos editores de texto menos capazes que às vezes sou forçado a usar e ainda assim obter uma saída sensata. **
Na verdade, uso uma solução um pouco mais complicada do que a anterior, porque, por razões tipográficas, gosto de cercar meus traços com espaços para os cabelos . Ter esses itens no Markdown torna menos legível, mas, felizmente, o Vim tem uma solução para isso, com sua função "ocultar", que permite ocultar certos itens de sintaxe quando o cursor está em uma linha diferente: ***
* Se eu precisar usar um traço sem espaçamento, basta pressionar o backspace após digitar o mapeamento.
** Se você geralmente não usa hífens como este, ou se nunca se aventura no Vim, pode usar outra coisa para acionar os mapeamentos: por exemplo,
--.
e---
. Se você usar outros gatilhos, também poderá colocá-lo diretamente no seu .vimrc e remover as<buffer>
opções.*** Você também pode usar um caractere
cchar
oculto para substituir itens de sintaxe por um único caractere, em vez de ocultá- los completamente. Se você estiver preocupado com problemas de codificação, use-o para fazer com que o Vim exiba–
entidades HTML no arquivo como traços.fonte
set conceallevel=1 | syntax match longdash '—' conceal cchar=-
(Observe que o primeiro traço nesse comando é um traço eme o segundo é um hífen-menos de largura total.) #syntax match
comando funciona mesmo fora do contexto de um arquivo de sintaxe?No meu teclado francês AZERTY Mac, posso inserir um traço com Alt+ -. Sua milhagem pode obviamente variar.
fonte
Alt+-
(ou melhor,Option+-
ser pedante) é um atalho específico para Mac. Ele funciona em qualquer lugar do OS X, mas não está relacionado ao vi ou vim.-
, alternando para o modo Normal e colocando o cursor no início da linha anterior.Instale meu plug-in unicode , digite Vim e digite DASH seguido por CtrlXCtrlZpara ativar a conclusão do unicode.
(Observe -N na descrição que mostra o dígrafo para inserir esse caractere)
fonte
Inspirado pela ótima resposta de Rich, adicionei as seguintes linhas ao meu vimrc:
Funciona como um prazer!
fonte
Para um traço, um dígrafo é o melhor caminho a seguir, conforme sugerido em várias outras respostas. Mas para caracteres unicode arbitrários, outra maneira é usar
^V
no modo de inserção (consulte:he i_CTRL-V_digit
).Para um traço que seria por exemplo
^Vu2013
.fonte