Estou escrevendo listas HTML e quero poder colar automaticamente 10 itens da lista em que o texto do item é a única coisa que muda.
Eu poderia fazer isso usando PHP e apenas copiar o código HTML renderizado, mas se houver uma maneira de pular essa etapa e fazê-lo diretamente do Vim, isso me pouparia muito tempo.
cut-copy-paste
replace
filetype-html
Azmodeus
fonte
fonte
Respostas:
Para o que você quer fazer, o emmet-vim , como sugerido nobe4, é sua melhor aposta.
No modo de inserção,
li{item $}*10<c-y>,
expandirá 10<li>
s comitem N
pré - preenchido como o texto. Você começará a editar o conteúdo do primeiro. Enquanto ainda estiver no modo de inserção, pressionar<c-y>n
passará para a próxima tag para edição.Se os itens da sua lista não forem um texto repetido em sequência, você poderá usar o vim-surround para ajudar.
Exemplo de lista de texto que precisa ser quebrada:
Se você começar com o cursor em algum lugar do texto, pressionar pressionará
^vip$<c-v>Stli<cr>
cada linha com<li></li>
.Isso pode ser transformado em um mapa de chaves fácil de usar:
fonte
.col$*5>.inner
Eu provavelmente faria isso com um mapeamento:
O plano é inserir as tags e, em seguida, colocar a inserção entre elas, para que você possa digitar o texto, voltar ao modo normal e pressionar Ctrl-b novamente. (PS, ^ ^ e ^ [são inseridos usando ctrl_V, mas você provavelmente já sabia disso.) Para inserir dez linhas em um único comando, você pode usar
Não estava claro se você tem alguma maneira automagica de realmente criar o texto do item?
fonte