vimで編集されたマークダウンファイルの結果をプレビューする方法


8

私はvimを使用して編集していますlatexが、latexは日常的に気軽にメモを取るには少し重すぎるため、代わりにマークダウンを使用することにしました。

それで、\lvコマンド を使用してマークダウン形式のファイルを表示できるようにvimを構成したいと思います

使用していMac OS X 10.11ます。.vimrcファイルを変更するにはどうすればよいですか?


3
このようなプラグインを検索しましたか?
statox

3
マークダウンをプレビューする必要はありません。
romainl 2016

1
@romainlできればいいですね。
トム

2
@romainlええ、私は構文の強調表示は必要ありません。それが有用であるという事実を軽視しません。
トミーA

2
@romainl私は「必要と必要」の対比を描いていました。
トミーA

回答:


10

私は@romainlコメントにほとんど同意しますが(マークダウンはプレビューを必要としないように明示的に作成されました)、これをさまざまな方法で行うことができます。

[OSX / Unixの] インスタント値下げプラグインは溶液です。node.jsをインストールし、次のコマンドを使用する必要があります。

[sudo] npm -g install instant-markdown-d

また、パッケージを持っている必要がありxdg-utilscurlおよびnodejs-legacyインストールされています。

これで、マークダウンバッファーを開くと、HTMLページがWebブラウザーで開かれ、変更がリアルタイムで表示されます。


[Unix] この回答は、daringfireballマークダウンプログラムを使用することを示唆しています。

ダウンロードしたら、次のコマンドを使用してlynxのファイルを確認できます。

./Markdown.pl ~/testfile.markdown | lynx -stdin

次のようなVimコマンドで使用できます。

:!./Markdown.pl % | lynx -stdin

[Unix]役立つ可能性のある別のプラグインは、いくつかの依存関係があるように見えるvim-previewですが、markdown、rdoc、textile、ronnおよびrtsファイルで動作するはずです。


[Windows / OSX]最後に、githubユーザーnatesilvaが非常に優れた要点を作成しましmarkdown。これは、パスにコマンドが必要なだけです。ソースを取得すると、スクリプト,pはデフォルトのブラウザーでマークダウンを開きます。

"
" While editing a Markdown document in Vim, preview it in the
" default browser.
"
" Author: Nate Silva
"
" To install: Place markdown.vim in ~/.vim/ftplugin or
" %USERPROFILE%\vimfiles\ftplugin.
"
" To use: While editing a Markdown file, press ',p' (comma p)
"
" Tested on Windows and Mac OS X. Should work on Linux if you set
" BROWSER_COMMAND properly.
"
" Requires the `markdown` command to be on the system path. If you
" do not have the `markdown` command, install one of the following:
"
" http://www.pell.portland.or.us/~orc/Code/discount/
" http://www.freewisdom.org/projects/python-markdown/
"
function!PreviewMarkdown()
    " **************************************************************
    " Configurable settings

    let MARKDOWN_COMMAND = 'markdown'

    if has('win32')
        " note important extra pair of double-quotes
        let BROWSER_COMMAND = 'cmd.exe /c start ""'
    else
        let BROWSER_COMMAND = 'open'
    endif

    " End of configurable settings
    " **************************************************************

    silent update
    let output_name = tempname() . '.html'

    " Some Markdown implementations, especially the Python one,
    " work best with UTF-8. If our buffer is not in UTF-8, convert
    " it before running Markdown, then convert it back.
    let original_encoding = &fileencoding
    let original_bomb = &bomb
    if original_encoding != 'utf-8' || original_bomb == 1
        set nobomb
        set fileencoding=utf-8
        silent update
    endif

    " Write the HTML header. Do a CSS reset, followed by setting up
    " some basic styles from YUI, so the output looks nice.
    let file_header = ['<html>', '<head>',
        \ '<meta http-equiv="Content-Type" content="text/html; charset=utf-8">',
        \ '<title>Markdown Preview</title>',
        \ '<link rel="stylesheet" type="text/css" href="http://yui.yahooapis.com/3.3.0/build/cssreset/reset-min.css">',
        \ '<link rel="stylesheet" type="text/css" href="http://yui.yahooapis.com/3.3.0/build/cssbase/base-min.css">',
        \ '<link rel="stylesheet" type="text/css" href="http://yui.yahooapis.com/3.3.0/build/cssfonts/fonts-min.css">',
        \ '<style>body{padding:20px;}div#container{background-color:#F2F2F2;padding:0 20px;margin:0px;border:solid #D0D0D0 1px;}</style>',
        \ '</head>', '<body>', '<div id="container">']
    call writefile(file_header, output_name)

    let md_command = '!' . MARKDOWN_COMMAND . ' "' . expand('%:p') . '" >> "' .
        \ output_name . '"'
    silent exec md_command

    if has('win32')
        let footer_name = tempname()
        call writefile(['</div></body></html>'], footer_name)
        silent exec '!type "' . footer_name . '" >> "' . output_name . '"'
        exec delete(footer_name)
    else
        silent exec '!echo "</div></body></html>" >> "' .
            \ output_name . '"'
    endif

    " If we changed the encoding, change it back.
    if original_encoding != 'utf-8' || original_bomb == 1
        if original_bomb == 1
            set bomb
        endif
        silent exec 'set fileencoding=' . original_encoding
        silent update
    endif

    silent exec '!' . BROWSER_COMMAND . ' "' . output_name . '"'

    exec input('Press ENTER to continue...')
    echo
    exec delete(output_name)
endfunction

" Map this feature to the key sequence ',p' (comma lowercase-p)
map ,p :call PreviewMarkdown()<CR>

@TommyAを編集してください。グリップも推奨されpip install gripます。これはvimプラグインではありませんが、でインストールできます。このプログラムの主な利点は、GitHubのマークダウンAPIを使用することです。そのため、レンダリングは、Githubページでのマークダウンの外観にかなり近いはずです。

このプログラムはlocalhost:6419、デフォルトでマークダウンファイルを提供します。あなたはVimからそれを呼び出すことができるはずです:!grip


GitHub風味のマークダウンをレンダリングするグリップもあります。
トミーA

@TommyAインスタントマークダウンもGitHub風味のマークダウンをレンダリングしますが、別の代替手段も有効です。それは(あなたが使用した後、多くの依存関係を持っていないため、グリップは良い方法だと思われpip、それはあなたに行くにしているの良いように思えます)。ご意見ありがとうございます!
スタトックス

ああ、それを逃した。ただし、gripはGitHubのmarkdown APIを使用します。したがって、言語の強調表示や絵文字など、GitHubでの表示方法とほぼ同じようにレンダリングする必要があります。ウィキリンクをレンダリングするためのプルリクエストもあります。
トミーA

@statox 拡張機能でinstant-markdown pluginトリガーされるようにvimを設定する方法はあり.mdますか?
トム

@TommyA:ああ、それは知っておくと良いですね。それを私の回答に追加しますか、
それとも
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.