É possível que as marcas vim apontem para o caractere para o qual elas foram originalmente definidas, em vez da localização original da linha / coluna do caractere?

1

É possível fazer marcas de vim (por exemplo, mm) apontarem para o caractere para o qual elas foram originalmente definidas, em vez do local de linha / coluna original do personagem?

Por exemplo, se eu digitar mm na primeira letra da palavra "políticos" (Linha 1, Coluna 72) na frase de exemplo abaixo e, em seguida, exclua a palavra "entradas" e digite 'm my cursor retornará a a posição original do cursor (Linha 1, Coluna 72) que agora é o local da letra 'a' na palavra "políticos". Eu entendo que este é o comportamento esperado do vim, mas eu gostaria de me devolver ao 'p' de políticos, mesmo que a localização da Linha / Coluna tenha mudado.

Frase de exemplo:

The 10-day block comes after anonymous changes were made to on politicians and businesses, as well as events like the Kennedy assassination.

Eu acho o meu comportamento desejado muito mais útil para a maneira como eu escrevo / edito (especialmente quando uso o Vim além do seu propósito original de codificação). O Viemu, um plug-in que adiciona grande parte da funcionalidade do Vim às alças do Word, marca o que eu desejo. Infelizmente, o Viemu não é uma porta perfeita do Vim e eu preferiria compor todo o texto (e-mails, redações etc e não apenas código) no Vim. Não saber como fazer com que o Vim trate as marcas da maneira desejada é uma das principais razões pelas quais não as uso exclusivamente.

Obrigado antecipadamente,

PS Esta é a minha primeira vez postando em um superusuário / pilha, então, por favor, me perdoe se eu não tiver seguido o formato / protocolo apropriado para fazer uma pergunta e, por favor, me corrija.

    
por George Karandinos 25.07.2014 / 15:44

1 resposta

0

Enquanto as marcas serão ajustadas para linhas adicionadas / removidas, a posição da coluna não será; você está correto nisso. Seu comportamento desejado certamente tem múltiplos benefícios; Eu acho que isso ainda não foi implementado, provavelmente por causa da complexidade envolvida. (E isso quebraria a compatibilidade com o vi e as versões anteriores do Vim, algo que não é levado a sério.)

Embora seja possível fazer algumas ações de edição com :autocmd s, isso geralmente não é possível (por exemplo, coisas como :s não podem ser interceptadas), então emular esse comportamento no Vimscript seria difícil, e eu não não conheço qualquer implementação desse tipo.

    
por 25.07.2014 / 16:01

Tags