Vim 不高亮链接语法

Vim 不高亮链接语法

我有一个 Markdown 文件,扩展名为“Personal Note.md”。我ln -s在 Linux 中通过命令将其创建为“Note”的符号(软)链接。我使用以下命令打开该链接,成功追踪到原始文件,并且打开了,但是没有高亮显示,也就是markdown文件格式。

需要注意的是,它确实突出显示,如果我重命名或创建关联从一开始就使用扩展.md,但这不是我想要做的,我不想向创建的链接添加扩展以保留它更短中性的在用户眼中。

答案1

这很棘手,因为在这种情况下,您不希望在符号链接上使用扩展名,而且据我所知,没有可靠的方法可以根据其语法自动检测 markdown 文件(因为它毕竟是旨在无需渲染即可供人类阅读),所以这ftdetect是不可能的。但是,您确实有一些选择。

如果您倾向于为 Markdown 文件创建类似命名的符号链接,则可以添加一个autocommand以便在读取这些文件时为您设置文件类型:

" Your autocmds should be defined inside a group and cleared at the start so
" that they are not defined more than once if you happen to re-source your vimrc.
" See http://learnvimscriptthehardway.stevelosh.com/chapters/14.html

augroup MyAutoCmds
  autocmd!

  " If you have other files that you always want to use Markdown syntax, add them
  " after 'Note' below, comma delimited. Some other ideas could be README, AUTHORS,
  " CONTRIBUTING, COPYING, etc
  autocmd BufNewFile,BufRead Note setf markdown
augroup END

或者,您可以使用modeline。我不认为有官方的Markdown 注释的语法,但我发现大多数都支持基本的 HTML 注释。因此,你可以将其附加到 Markdown 文件中:

<!-- vim: set ft=markdown: -->

:h modeline参阅该功能的完整详情。注意:这会不是出现在渲染的 Markdown 中,只要实现支持注释,我见过的大多数实现确实都支持注释。

答案2

我认为不幸的是,如果没有扩展,你将不得不手动设置syntax-typemarkdown

:set syn=markdown  

答案3

我可以通过在(链接)文件的第一行输入以下内容来实现这一点:

vim: ft=markdown

它是丑陋的,但能完成工作。

相关内容