在Vim中使用Markdown列表,在回车时自动创建新的项目符号

9

我在Vim中使用Markdown写很多文本。我想知道,如果我正在列表中编辑一行文本,并按下回车键,是否可能使Vim自动使用圆点“*”或“-”开头的下一行?

许多其他文本编辑器都可以实现此功能(例如Notational Velocity),因此如果Vim也可以实现这一点,那就太好了。

我希望Vim能够做到以下几点:

- List element 1
- List element 2[press enter]
- (We are automatically here, with the bullet)

我只希望这个功能适用于Markdown文件。希望你能理解!谢谢!
1个回答

7

您需要设置几个vim变量来实现它。

以“-”为例:

:set com=s1:/*,mb:*,ex:*/,://,b:#,:%,:XCOMM,n:>,b:-

这里最后的'b:-'非常重要。它意味着,Vim会将'-'和空格([tab]也是)视为注释标志,并在你按下Enter或o键(正常模式)后自动添加。这是通过:set formatoptions设置的。请参见以下行。

您可以检查一下。

:h comments
:h format-comments 

详细信息请看

:set formatoptions=tcroqln

这里使用了'r'和'o'来满足您的需求。

:h formatoptions 
:h fo-table

详细内容请参考:

编辑

添加Markdown文件类型。网上有很多资源。只需在Google上尝试一下,就可以找到一个:

http://technicalpickles.com/posts/using-markdown-in-vim/

au更改为上面的设置,应该可以正常工作。


1
为了更好的上下文,我相信肯特建议您改变Vim解释注释的方式,然后将语法定义为如果Markdown列表是内联注释。@kent,你应该添加如何进行文件检测以便在他的vimrc中自动运行此操作,这是我的投票建议。 - Conrad.Dean
@Kent 感谢回复,但我尝试后似乎无法工作。运行你的命令后没有其他反应。我使用的是MacVim,但我想这不应该是问题。 - eivindml
@eivindml,你在配置中设置了粘贴选项“on”吗?将其注释掉并尝试一下。这将禁用格式选项。 - Kent
@Conrad.Dean 是的,我正在尝试使用注释格式进行一些技巧。ft检测已添加为链接 :) - Kent
尝试使用以下代码实现类似TextMate的缩进:imap <D-]> <C-t> imap <D-[> <C-d> - zelk
显示剩余2条评论

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接