Como ligar: Configure para funcionar exatamente como: set


7

Costumo começar a digitar s antes de soltar completamente a tecla Shift, e ter que corrigir o comando depois é um pouco chato.

Existe alguma maneira de criar :Set ...um apelido para :set ...?


Eu tenho exatamente esse mesmo problema com :sp, :vse:e
Shahbaz 21/03

Respostas:


14

Embora você não possa definir comandos personalizados começando com caracteres minúsculos (como os integrados), nada impede que você faça o oposto, definindo comandos do usuário que espelham os incorporados.

:command! -nargs=* -complete=option Set set <args>

Se você fizer isso para comandos adicionais, apenas garanta que o número de argumentos / taken :range/ bang ( [!]) corresponda. Veja :help :command-nargs(e parágrafos seguintes) as opções disponíveis.

Atenção

A digitação superficial não o levará muito longe com o Vim; em vez de confiar nessas soluções alternativas (que não funcionam tão bem em outras áreas como mapeamentos e movimentos), desacelere deliberadamente por um período de tempo e trabalhe na precisão da digitação. Investir em um teclado de alta qualidade também pode ajudar.


Eu tenho um teclado decente (WASD com mx clears). Mas, em muitos casos, apenas inicio o gvim na minha barra de tarefas (sim, usuário do Windows, sem comentários: p) :set syntax=whatevere , em seguida, mudo para o modo de inserção se precisar de um bloco de rascunho de código para alguma coisa.
ThiefMaster 21/03

5

Você poderia remapear ;para :, dessa forma, não há nenhuma chave mais Turno envolvidos:

:noremap ; :

Isso tem a desvantagem óbvia de perder a função da ;tecla ( "Repita as últimas vezes f, t, F ou T [contagem]." ), Para mapear isso para :(e, portanto, trocar ;e :), você pode usar:

:noremap ; :
:noremap : ;

O problema com isso, porém, é que quando você estiver acostumado a isso, você será semi-aleijado em uma instalação padrão do Vim ....


Essa é uma boa ideia, na verdade, quanto menos vezes o turno for usado, melhor. Além disso, eu ouvi você sobre ficar semi-aleijado. Troquei minhas 1..90-=chaves por suas alternativas !..()_+nos arquivos C, C ++ e Haskell, pois as alternativas são usadas com muito mais frequência e é muito bom, mas fico sem aleijado ao usar o vim, onde minhas configurações não estão em vigor.
Shahbaz 22/03

O uso de abreviações de comandos e a omissão de espaços desnecessários após o comando seriam trocadas :e, ;em uma instalação padrão, não serão semiparalgadas: :no; :|no: ;<cr>(12 caracteres devem ser digitados).
Hotschke

3

Você pode simplesmente definir uma abreviação.

:cab Set set

Como o carpetsmoker mencionou, isso será substituído Setpor settodos os lugares na linha de comando. Para evitar esse uso

:cnoreab Set set

5
Note que este irá substituir Setcom set todos os lugares na linha de comando, e não apenas quando você digita:Set
Martin Tournoij
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.