:nnoremap com :normal! I#<CR>
Explicação…
-
I
é o mesmo que^i
, mas melhor. Geralmente, você deve fazer o seguinte em vez de^i#<Esc>
:I#<Esc>
Mesmo para
$a
, a propósito. -
:normal
é um comando Ex que permite executar um comando de modo normal a partir da linha de comando. É usado assim, seguido por<CR>
::normal! I#
-
Quando um comando de modo normal é prefixado com um
count
:6w
, o comando é executado 6 vezes. No entanto, ocount
não é propagado para comandos subsequentes:6wifoo
não adicionafoo
antes de cada uma das 6 próximas palavras. Dependendo do comando, as regras podem variar: consulte a documentação se você não tiver certeza. -
Quando um comando Ex é prefixado com um
count
:6:command
, o Vim adiciona automaticamente um intervalo a partir da linha atual e termina com a linhacount-1
th abaixo. Se você fizer6:normal! I#
, o comando se torna::.,.+5normal! I#
que significa "insira um
#
antes do primeiro caractere imprimível desta linha e as 5 linhas abaixo". -
Quando o Vim se depara com um comando Ex em um mapeamento, com um
:
, ele sempre adiciona o intervalo relevante. É por isso que é melhor usar:normal
em mapeamentos que devem ser usados em várias linhas ou comcount
.
Veja :help range
e :help :normal
.