'<,'> no prompt de comando

8

Ocasionalmente, quando digito :para sair ou gravar meu arquivo, o prompt já contém os caracteres :'<,'>sem que eu digite nada. Causa um erro se eu digitar wou q. Não consigo replicar esse problema. Isso acontece nos momentos mais estranhos e não consegui determinar o que está causando isso.

Levei uma eternidade para descobrir que minha digitação acidental, em q:vez de, :qestava me causando problemas para sair. Agora que eu sei sobre essa pequena peculiaridade, estou tentando descobrir o que causa esse outro comportamento. Não consigo encontrar nada, embora tenha visto em algum lugar no comando do cólon de alguém.

Esse é um comportamento esperado? O que poderia estar causando isso?

malan
fonte

Respostas:

15

Ver '<,'>na linha de comando quando você pressiona :indica que atualmente você tem um intervalo visual selecionado (por exemplo v, com , Vou Ctrl- v), e o vim é útil como prefixo dos marcadores para 'início da seleção' até 'final da seleção' para aplicá-los limitações ao escopo do comando que você provavelmente está prestes a inserir.

Veja :h visual-operators:

Observe que '<,'>ele aparecerá automaticamente quando você pressionar :no modo Visual.

Como você não pode "fechar" apenas uma parte de um arquivo, é por isso que você recebe um Invalid addressquando tenta :'<,'>q.

Se você deseja executar um comando não tão limitado, pressione Ctrl- Upara apagar tudo à esquerda do cursor antes de entrar q, ou simplesmente use o ZZou ZQalias.

DopeGhoti
fonte
3
Observe que ZZgravará todas as alterações nos arquivos antes de sair. Se você deseja descartar as alterações, use ZQ.
Ruslan
@Ruslan. Ótima dica. Eu sempre digitei o :q!que sempre é um problema para o contexto da pergunta. Agora ZQestá no meu arsenal!
malan
"não tão limitado" daria um bom nome de banda
Omar