web-dev-qa-db-ja.com

formatoptions + = aを使用して箇条書きを再フォーマットしないでください

Vim:ドキュメントのワードラップ で説明されているようにformatoptions +=aでVimを使用して、ドキュメント、特にMarkdownドキュメントの作成中に行を自動的にフォーマットしています。

私の問題は、各箇条書きの間に空白行があるため、Vimが箇条書きも再フォーマットしたいということです。

何が起こっているのかは、vimが再フォーマットすることです

This is wath we will do:

* task 1,
* task 2,
* task 3.

This is wath we will do:

* task 1,   task 2,   task 3.

(この再フォーマットプロセスでアスタリスクが消える理由もわかりません。)

Vimにこれらのリストの再フォーマットを停止させるにはどうすればよいですか?

8
gioele

これを試して:

  • nformatoptionsに追加して、vimがリストを認識するようにします(:set fo+=n
  • アスタリスクを箇条書きとして認識するようにformatlistpatオプションを設定します(set flp+=\\\|^\\*\\s*)(バックスラッシュの数はmagicnessレベルに依存することに注意してください)。

私のテストでは完璧ではありませんが、近いようです。

4
jw013

Markdownファイルを編集するときにfiletypeオプションがmarkdownに設定されていますか? :verbose set filetype?を使用して、現在の値を調べることができます。

:filetype plugin onを実行し(たとえば、.vimrcから)、filetypemarkdownに設定されている場合、Vimは $VIMRUNTIME/ftplugin/markdown.vim これは、マークダウンリストアイテムのフォーマットに役立ついくつかのオプション(commentsformatlistpat、およびformatoptions)を設定します。

注:一般的なMarkdownファイル名パターン*.mdは、実際には modula2 によって$VIMRUNTIME/filetype.vimファイルタイプにマップされます。 Markdownファイルにこのファイル名パターンを一般的に使用する場合は、この設定を上書きすることをお勧めします。これを.vimrcファイルに入れることでそれを行うことができます:

autocmd! filetypedetect BufNewFile,BufRead *.md setfiletype markdown

または、各ファイルに modeline を追加することもできます。

<!-- vim: set filetype=markdown : -->
2
Chris Johnsen