Mặc dù tôi hầu hết đồng ý với nhận xét @romainl (đánh dấu được thực hiện đủ rõ ràng để không cần xem trước), bạn có thể thực hiện việc này theo nhiều cách khác nhau:
[OSX / Unix] Các instant-markdown Plugin là một giải pháp. Bạn cần cài đặt node.js và sử dụng lệnh sau:
[sudo] npm -g install instant-markdown-d
Bạn cũng cần phải có các gói xdg-utils
, curl
và nodejs-legacy
cài đặt.
Với điều đó khi bạn mở bộ đệm đánh dấu, một trang html sẽ được mở trong trình duyệt web của bạn và bạn sẽ thấy những thay đổi trong thời gian thực.
[Unix] Câu trả lời này gợi ý sử dụng chương trình đánh dấu táo bạo .
Khi bạn đã tải xuống, bạn có thể sử dụng lệnh sau để xem tệp trong lynx :
./Markdown.pl ~/testfile.markdown | lynx -stdin
Bạn có thể sử dụng nó trong một lệnh Vim với một cái gì đó như thế:
:!./Markdown.pl % | lynx -stdin
[Unix] Một plugin khác có thể hữu ích là vim-preview nó dường như có một số phụ thuộc nhưng nên hoạt động trên các tệp markdown, rdoc, dệt, ronn và rts.
[Windows / OSX] Cuối cùng, người dùng github natesilva đã tạo ra một ý chính rất tốt chỉ yêu cầu markdown
lệnh trong đường dẫn của bạn. Khi bạn đã tạo tập lệnh, ,psẽ mở phần đánh dấu của bạn trong trình duyệt mặc định.
"
" 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>
Chỉnh sửa @TommyA cũng đề xuất kẹp đây không phải là plugin vim nhưng nó có thể được cài đặt pip install grip
. Ưu điểm chính của chương trình này là nó sử dụng API đánh dấu của GitHub, do đó kết xuất sẽ khá gần với giao diện đánh dấu của bạn sẽ trông như thế nào trên các trang Github.
Chương trình này sẽ phục vụ các tệp markdown của bạn localhost:6419
theo mặc định. Bạn có thể gọi nó từ Vim với:!grip