Por que o vim surround adiciona espaços neste exemplo?

7
Old text             Command         New text
Hello *world         ysiw(           Hello ( world )
Hello *world         ysiwb           Hello (world)
Hello *world          ysiw)           Hello (world)

Por que o vim-surround adiciona espaços ao primeiro exemplo e existe uma maneira de desativar isso?

Onde o asterisco indica a posição do cursor

Rainymood
fonte

Respostas:

9

O plugin vim surround permite que você escolha se deseja espaços e parênteses ou apenas parênteses. Você pode desativá-lo usando outros mapeamentos; na verdade, você os colou na sua pergunta, como o segundo e o terceiro exemplos .

Este é realmente um padrão nos mapeamentos deste plugin: se você usar o caractere de abertura - por exemplo: (, {e [- los ele irá incluir espaços. Se você usar o caractere de fechamento - por exemplo: ), }e ]- eles não vai incluir espaços. Os aliases para esses blocos ( b, Be r) também não incluem os espaços, provavelmente porque na maioria das vezes as pessoas (como você) não desejam os espaços.

mMontu
fonte