Ativando o destaque da redução no Vim


138

Estou usando o Vim em um terminal no meu MacBook Air com o OS X Lion e não consigo encontrar um bom plug-in para o destaque da sintaxe do Markdown.

Até agora, eu tentei o plugin plasticboy e o plugin do Tim Pope . O plug-in plasticboy funcionou bem, mas estava destacando o espaço em branco no final das linhas, e eu não descobri como desativar isso. (É realmente irritante, porque toda vez que eu bato spacequando escrevo, destaca o personagem.)

O plug-in de Tim não pareceu fazer muito na maneira de destacar, exceto talvez os cabeçalhos usados ###. Blocos de código e marcadores são ignorados. Eu posso estar perdendo alguma coisa lá. Eu uso a .mdextensão nos meus arquivos do Markdown, por isso deve pegar o tipo de arquivo.

Eu também vi uma referência ao Vim 7.3 com suporte para Markdown embutido, mas sem um desses dois plugins eu não recebo nenhum destaque.

Algum deles exige esquemas de cores específicos para funcionar?


24
*.mdnão é a extensão correta para descontos. Esse é para arquivos modula. Tpope plug-in funciona bem (todos esses plugins fina funciona) Você deve usar a *.markdownextensão
lucapette

7
@lucapette o ftdetect para plug-in de Tim Pope que também incluem *.md, juntamente com: *.markdown,*.mdown,*.mkd,*.mkdn. O plasticboy plug-in auto-detecta apenas*.mkd,*.markdown,*.mdwn
pb2q

1
Da fonte do plugin plasticboy, parece que ele também é detectado .md. Estou bloqueado nesta extensão por enquanto porque estou usando o Scriptogr.am no meu blog, e essa é a única extensão que eles reconhecem no momento.
Josh Earl

1
Só encontrei este e é muito agitando para github sabor remarcação: github.com/jtratner/vim-flavored-markdown
Matthew Turner

Para problemas com plasticboy / vim-markdown , abra os problemas nos projetos para que os desenvolvedores possam resolvê-lo. Acho que os espaços em branco à direita são um bom comportamento, pois os espaços duplos geram <br>tags, portanto, os escritores devem ser conscientizados disso.
Ciro Santilli escreveu:

Respostas:


22

Isso deve funcionar para desativar o destaque do espaço de fim de linha ao usar o plug-in plasticboy mkd:

:syn clear mkdLineBreak

Você pode fazer autocmdisso nas extensões de arquivo necessárias, para não precisar fazer isso toda vez que carregar um arquivo de remarcação.

Observe que esse destaque específico existe porque o Markdown trata as linhas que terminam com 2 ou mais caracteres de espaço, especialmente inserindo a <br>, portanto é útil.

O plug-in plasticboy usa TODOrealce para esta regra, que é um pouco demais porque foi projetada para, por padrão, ser realmente extravagante - fundo amarelo - para que ela se destaque. Você pode tornar isso menos visualmente impressionante, alterando essa highlightregra. Uma maneira rápida de fazer isso seria algo como:

:hi link mkdLineBreak Underlined

Agora esses espaços de fim de linha serão mostrados como sublinhados. Tente vincular-se a outros highlightgrupos para algo que mais lhe agrade. Em vez de usar, linkvocê pode ficar ainda mais específico sobre esses espaços de fim de linha: por exemplo, você pode especificar que eles apareçam um pouco mais claros / escuros que o plano de fundo normal, usando seu próprio highlightcomando, especificando ctermfg , ctermbg , guifg , configurações de guibg .

Como acima, você pode fazer autocmdisso para aplicar suas configurações específicas.

Para obter mais informações sobre highlightgrupos de links , digite: :help group-namee você verá uma lista de grupos que podem ser vinculados e que devem ser exibidos de maneira útil usando suas highlightregras atuais . Também: :help highlight.


2
Isso faz muito sentido. Não percebeu que dois espaços tinham significado em Markdown. Acho que vou deixá-lo ativado, a menos que continue me incomodando. Obrigado!
Josh Earl

Sim, é por isso que o destaque não entra em ação até que 2 espaços sejam inseridos.
Pb2q

@ josh-conde ver as minhas edições para mais alternativas quando usando o plugin plasticboy
pb2q

308

Sobre o destaque da sintaxe nativa para remarcação Eu acho que só funciona para arquivos com a extensão .markdownpor padrão.
Eu estava tendo problemas com o destaque da sintaxe de remarcação para meus .mdarquivos.
Eu tentei:

:set syntax=markdown

E funcionou. Então eu incluí a seguinte linha no meu .vimrc:

au BufNewFile,BufFilePre,BufRead *.md set filetype=markdown

Agora meu vim tem destaque de sintaxe para meus .mdarquivos.

O BufFilePre é necessário para: sav


13
Para qualquer pessoa que esteja lendo isso: sim, funciona e é uma solução muito mais simples para o problema do que instalar um plugin. Maneira rápida de fazer isso a partir da linha de comando: echo "au BufRead, BufNewFile * .MD filetype set = remarcação" >> .vimrc
RobinLovelace

11
Parece-me que esta deve ser a resposta aceita.
Enrico Campidoglio

4
@SamStoelinga Não é um bug, .mdtambém é usado pelo Modula. Detectar qual deles usar exigiria algumas heurísticas avançadas.
nyuszika7h

8
No Vim 7.4.480, os *.mdarquivos são reconhecidos como Markdown por padrão.
fwalch

1
Correto, mas incompleto. Para que isso funcione igualmente com o Save As… :savcomando, é necessário estender o comando automático para BufFilePre:autocmd BufNewFile,BufFilePre,BufRead *.md set filetype=markdown
Serge Stroobandt

19

Destaque de sintaxe nativa

O destaque da sintaxe nativa para o Markdown só funciona por padrão na .markdownextensão do arquivo.

A seguinte linha em .vimrcproduz os melhores resultados para ambos vime gvim:

autocmd BufNewFile,BufFilePre,BufRead *.md set filetype=markdown.pandoc

Explicação:

1. Especifique seu sabor no Markdown!

Se você trabalha principalmente com um sabor de Markdown (por exemplo, Pandoc ), não deixe de mencionar isso também! Isso permite misturar e combinar os plug-ins Vim específicos para Markdown e Pandoc. Por exemplo: Encontrei o plug-in vim-pandoc-syntax particularmente adequado para minhas necessidades de destaque. No entanto, eu uso a dobra de marcação de borda mais geral para a dobragem de marca de borda.

A propósito, apenas um sabor é permitido, separado por um ponto, por exemplo: filetype=markdown.pandoc

2. gvimrequerBufFilePre

gvimrequer um adicional BufFilePrena linha de comando automático para reconhecimento de tipo de arquivo Markdown com o Save As… :savcomando



7

Se você não gosta de colocar toda a sua configuração ~/.vimrc, pode criar ~/.vim/ftdetect/markdown.md(ou equivalente no Windows) com o seguinte conteúdo.

au BufNewFile,BufRead *.md setf markdown

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.