VIM Como posso forçar o VIM a organizar palavras de acordo com a minha escolha?

0

Bem, eu estou escrevendo e aprendendo. Eu só quero escrever algum texto desta maneira ....

- First line.
  Second line.
  Third line.

Mas o problema é que as linhas estão começando assim ...

- First line.
Second line.
Third line

Você vê a diferença? Bem, eu fiz algumas pesquisas e encontrei um segmento no superusuário que recomenda usar: set smartindent. Eu fiz. Está funcionando. Mas o problema é que isso realmente força o Vim a seguir de onde a última linha foi iniciada. Agora, como estou iniciando linhas da borda esquerda do editor, o Vim está iniciando cada nova linha, como mostrado no segundo exemplo. Agora a questão é como eu posso escrever linhas como mostrei no primeiro exemplo?

    
por Hellboy 28.02.2015 / 15:01

3 respostas

0

Por que você espera que o editor sempre escolha o recuo correto? Ao configurar uma determinada configuração de recuo (como o bom e universal :set smartindent ), você obtém algo que funciona na maior parte do tempo. Para esses outros casos, você pode sempre recuar manualmente (com <Tab> , supondo que você tenha sido :set tabstop=... expandtab etc.), ou alterar o recuo após o fato com >> e << .

Se você realmente tiver uma sintaxe específica em que as regras de recuo sejam bastante simples e determinísticas (e nenhuma das configurações de recuo padrão funcione o tempo todo), será necessário escrever um indentexpr (cp. :help indent-expression ) personalizado.

Como seu exemplo é sobre formatação de texto, isso não se aplica, e você é realmente melhor com 'smartindent' e correções manuais.

    
por 28.02.2015 / 20:18
0

Em vez de 'smartindent', prefiro definir 'autoindent', 'formatlistpat' e 'formaltoptions' apropriadamente. Por exemplo:

" set up pattern to match list bullets and numbers
let &l:formatlistpat='^\s*\%(\d\+[\]:.)}\t ]\d\@!\|[*-]\)\s*'
" automatically format numbered or bulleted lists
setlocal formatoptions+=n
setlocal autoindent

No primeiro comando, você pode substituir qualquer caractere "bala" que você goste dentro do grupo [*-] .

Isso manterá o recuo para você e até mesmo aplicará para você com gqip , por exemplo, mas você precisará remover o recuo por si mesmo quando inserir uma nova linha que não deseja que tenha o formato de lista.

    
por 03.03.2015 / 20:44
0

Se sua motivação é escrever listas de texto, você deve checar o plugin do vimwiki , salvando as opções de formato vim para outros usos, como codificação.

    
por 04.03.2015 / 19:32