Remapeando caracteres especiais no vim

1

Sou bastante novo no vim e não gosto que os botões básicos de movimentação estejam mapeados para hjkl , pois h e j devem ser pressionados com o mesmo dedo. Eu estou usando um teclado húngaro, que tem mais 3 caracteres à direita de l : éáű , então eu gostaria de aproveitar isso e remapear essas chaves. No entanto, o vim parece não reconhecer este comando: %código%. Como posso conseguir isso?

    
por Adam Hunyadi 04.06.2017 / 08:36

1 resposta

2

A página vim usa nnoremap com dois "n" s no início, em vez de um.

link Tutorial (Parte_1)

Eu não tenho teclado húngaro, mas com um mapa de teclado russo, consegui

nnoremap э l

Para mover 1 caractere para a direita.

Editar

Vim é (notavelmente) um editor modal - isto é, ele se comporta de maneira diferente em modos diferentes, e você alterna entre eles.

O comando acima faz o mapeamento chave para o modo 'normal', que parece significar "navegar ao redor e não fazer nada"

Esta tabela mostra os comandos de mapeamento disponíveis para os vários modos.

Commands                        Mode
--------                        ----
nmap, nnoremap, nunmap          Normal mode
imap, inoremap, iunmap          Insert and Replace mode
vmap, vnoremap, vunmap          Visual and Select mode
xmap, xnoremap, xunmap          Visual mode
smap, snoremap, sunmap          Select mode
cmap, cnoremap, cunmap          Command-line mode
omap, onoremap, ounmap          Operator pending mode

Para fazer algo como 2dk work, você precisa fazer o mapeamento para "Operator pending mode":

onoremap э l

"Modo de linha de comando" não fez o que eu queria - o que significava era quando eu tentava digitar э para o próximo comando de remapeamento eu consegui um l em vez disso.

Eu acho que você provavelmente não deseja remapear com o modo "Inserir e substituir". Mas você pode querer experimentar um ou ambos os modos "Visual" e "Select".

    
por 04.06.2017 / 08:52