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 ...?
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 ...?
Respostas:
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.
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.
: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.
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 ....
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.
:e, ;em uma instalação padrão, não serão semiparalgadas: :no; :|no: ;<cr>(12 caracteres devem ser digitados).
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
Setcom set todos os lugares na linha de comando, e não apenas quando você digita:Set
:sp,:vse:e