Como inserir til (~), back tick (`) e caracteres especiais com um teclado fora dos EUA?

7

Eu costumo usar o Vim com um teclado italiano (sou da Itália), (principalmente em um convidado Ubuntu Linux Virtualbox de um host do Windows).

Tenho problemas quando preciso digitar alguns caracteres usados ​​com frequência (no Unix) que não estão presentes no layout do teclado italiano, estou me referindo especialmente a esses caracteres:

  • til: ~(alias do diretório inicial)
  • back quote / back tick: `(principalmente em programas ruby)

Ok, posso usar em $HOMEvez de ~, mas existe alguma maneira específica do Vim (talvez alguma sequência de pressionamento de tecla) para inserir esses (e outros) caracteres "especiais" não presentes no teclado disponíveis?

A solução poderia ser uma ligação de chave .vimrc? Por exemplo, tenho no meu .vimrcisto:

map ' `

mas como você pode imaginar, estou descontente com esse remapeamento de chave específico ... (e eu <Fx>já ocupei)

BTW, talvez a pergunta seja um pouco fora de tópico, porque não está relacionada diretamente ao Vim, mas à configuração de idioma / idioma do teclado; talvez perguntar no estouro de pilha é melhor?

Giorgio Robino
fonte
Quantas teclas você deseja dedicar? Como você está usando o Ubuntu, você sempre pode usar Unicode: Ctrl-Shift-u e, em seguida 7E, fornecerá ~Ctrl-Shift-u, e 60fornecerá `.
muru
thx, mas parece que não está funcionando. plese note que eu use um ubuntu sem cabeça através de um terminal remoto (arremate) ...
Giorgio Robino
2
Tente no modo de inserção:Ctrl-v u 007e
VanLaser 25/09
2
Isso pode ser agilizado man asciino Ubuntu.
muru
11
@GiorgioRobino - o que acontece se você acertar AltGr ^e AltGr 'combinar? Referência: superuser.com/a/667654/292962
VanLaser

Respostas:

7

De :he digraph:

Os dígrafos são usados ​​para inserir caracteres que normalmente não podem ser inseridos por um teclado comum.

A execução :digraphsexibirá os dígrafos definidos atualmente. `é definido como '!e ~é definido como '?.

Existem duas maneiras de inserir dígitos:

<C-k> {char1} {char2}
{char1} <BS> {char2}

O segundo método requer :set digraph.


Dito isto, inoremap '' `pode ser mais rápido, supondo que você não precise com frequência de dois 's seguidos. Observe que o remapeamento global ''mascarará :he '', mas o mapeamento nos modos de inserção e comando é seguro para meu conhecimento. No topo da minha cabeça, eu não consigo pensar em uma alternativa memorável e conveniente semelhante ~. --e ==parece provável que sejam usados ​​como eles frequentemente.

8bittree
fonte
2
Ooh! +-para til! Em alguns contextos, um til indica informações aproximadas, e pode-se imaginar +-como tendo um significado semelhante.
muru 26/09/15