2011-10-11 11 views
5

ファイルの特定の文字を非表示にするvimの構文ファイルを実装したいと思います。具体的には、書式設定文字の一部を表示しないMarkdownファイルを読み込むための改良されたハイライターを書きたいと思っています。例えば、私は*bold*のようなものは太字で、単にboldをレンダリング、または Vim構文のハイライト表示文字の非表示

My Header 
========= 

彼らの下線が表示されない

のような見出しを持っている必要がありますが、ちょうど別の色を表示したいです。特定の文字を表示から隠すようなvim構文ファイルの例は見つけられませんでした。これはvimで可能なことですか?もしそうなら、どうですか?

+5

私はそれに私の指を置くことはできませんが、これは恐ろしい考えのように聞こえる。 Vimは、テキストを編集するためのもので、レンダリングしません(もちろん、折り目は例外です)。 – Bradford

+1

Wysiwygエクスペリエンスで編集したマークダウン文書とブラウザウィンドウを同期させるプラグインを探す場合は、私はそれがどれだったのか覚えていないが、それは前に議論された – sehe

答えて

10

構文項目または特定の文字のみを隠すには、引数concealまたはIgnoreを使用できます。

:help hl-Ignore 
:help syn-conceal 

たとえば、crefvimの一部である構文ファイル "help.vim"を参照してください。 CRefVimは、Vimヘルプシステムに組み込まれているCリファレンスマニュアルです。 "help.vim"構文ファイルは、ヘルプファイルの標準構文強調表示を拡張しています。

例。 「$」の文字は、イタリック体でテキストを表示するために、ここで使用されます。

example on how to use Ignore syntax argument, help.vim

たぶん、この例では、さらに掘るための良い出発点である...

HABI

1

あなた可能性"太字"、 "イタリック"などを使用して、独自のシンタックスファイルをcolorthemeで作成します。それは何も隠さないので、あなたの構文は元のテキストで動作する必要があります。 例えば、これは、ヘッダー、あなたが必要となり、あなたの構文で

のためのあなたの構文のようになります。

syn match Header '^\s*\u*\.\s.*$' contains=ALL 
hi link Header ModeMsg 

とcolorthemeで

hi ModeMsg gui=bold guifg=NONE guibg=NONE cterm=bold ctermfg=NONE ctermbg=NONE term=bold 

この

1. This is my new header, being bold 
などのヘッダ

は太字で、マークアップは一切表示されません。ちなみに、ハイライトを維持しながら、TOhtml機能でエクスポートすることができます。

関連する問題