마크 다운 파일 미리보기를위한 Vim 플러그인이 있습니까?
즉시 렌더링 결과를 미리 볼 수있는 뛰어난 기능을 갖춘 Marked 및 Mou 편집기를 좋아합니다. 그래서 Vim에서 동일한 작업을 수행 할 수있는 방법이 있는지 궁금합니다.
최근에 Chrome에서 마크 다운 파일을 제대로 열고 표시 할 수 있도록하는 Chrome 확장 프로그램 인 Markdown preview를 찾았습니다 .
그런 다음 Vim에서 키를 매핑하여 Chrome으로 파일을 여는 것이 문제였습니다. 내 모습은 다음과 같습니다.
" Open markdown files with Chrome.
autocmd BufEnter *.md exe 'noremap <F5> :!start C:\Users\tomas\AppData\Local\Google\Chrome\Application\chrome.exe %:p<CR>'
물론 파일에 ".md"확장자가없는 경우 다른 키에 매핑을 원하거나 Chrome이 다른 위치에있는 경우이 명령을 편집해야합니다.
이제 ".md"파일을 편집 할 때마다 <F5>
Chrome에서 파일을 열 수 있습니다 . 완벽한 해결책은 Chrome이 몇 초마다 자동으로 다시로드되도록하는 것이지만 로컬 파일에서 작동하는 확장 프로그램을 찾을 수없는 것 같습니다.
장점 :
- 실행중인 서버 나 특수 코드 없이도 버튼을 눌러 마크 다운 파일을 미리 볼 수 있습니다.
- Vim 및 Chrome을 지원하는 모든 플랫폼에서 작동하며 거의 모든 플랫폼을 포함합니다.
단점 :
- 자동 새로 고침
<F5>
이 없으므로 파일을 미리보고 싶을 때마다 눌러야합니다. - Github 풍미의 마크 다운이 없습니다.
운이 좋으시군요-방금 실시간 Markdown 미리보기 기능이있는 vim 플러그인을 작성했습니다. github Markdown과 스타일도 사용합니다 : https://github.com/suan/vim-instant-markdown
Marked.app 을 사용 하여 Markdown 파일을 미리 봅니다 . 그리고 <leader>p
미리보기를 위해 매핑 했습니다.
function! s:setupMarkup()
nnoremap <leader>p :silent !open -a Marked.app '%:p'<cr>
endfunction
au BufRead,BufNewFile *.{md,markdown,mdown,mkd,mkdn} call s:setupMarkup()
당신이 Marked.app에 $ 4 드롭하지 않으려는 경우에 당신은 시도 할 수 Hammer.vim을 . 행을 다음으로 변경하십시오.
map <buffer> <leader>p :Hammer<CR>
실제로 pandoc 을 사용 하여 선택한 문서 형식으로 컴파일하고 외부 기본 명령을 사용하여 볼 수 있습니다. 예를 들어 나는 그것을 pdf로 미리보기를 좋아하고 Ubuntu에서 다음 설정을 사용합니다.
" pandoc , markdown
command! -nargs=* RunSilent
\ | execute ':silent !'.'<args>'
\ | execute ':redraw!'
nmap <Leader>pc :RunSilent pandoc -o /tmp/vim-pandoc-out.pdf %<CR>
nmap <Leader>pp :RunSilent gnome-open /tmp/vim-pandoc-out.pdf<CR>
나는 문서를 사용하여 컴파일 ,pc
및 미리보기를 사용하여 ,pp
. 우분투 evince
에서는 기본 뷰어 이므로 변경된 파일을 자동으로로드합니다. 당신 ,pc
은 당신의 변경 사항을 반영하기 위해서만하게됩니다 .
추신 : 리더가에 매핑되어 있습니다.
@Codemonkey의 대답에 추가하면 OSX를 사용하는 경우 .vimrc 파일에서 다음을 사용할 수 있습니다.
" Open markdown files with Chrome.
autocmd BufEnter *.md exe 'noremap <F5> :!open -a "Google Chrome.app" %:p<CR>'
아니, 등등 여러 빔 구문 강조를위한 플러그인, 조각과가 있지만, 빔 표시 텍스트와 텍스트는 , 그러므로 당신은 마크 다운 가질 수 없습니다 (또는 다른 종류)를 빔에 미리보기를 .
실시간 미리보기에 관심이 있다면 MarkdownPad 가 더 적합 할 것입니다.
다음은 Chrome에서 Markdown을 볼 수있는 간단한 vim 플러그인입니다.이 플러그인은 루비 나 다른 멋진 것이 필요하지 않으며 vim 버퍼에 쓸 때 미리보기를 새로 고침합니다 (핫키로 활성화 할 수도 있음).
또한 미리보기는 백그라운드에서 이루어 지므로 vim을 떠나지 않아도됩니다.
https://github.com/JamshedVesuna/vim-markdown-preview
내 .vim 디렉토리에 기능이 있습니다.
function! markdown#preview()
silent update
let output_name = tempname() . '.html'
let file_header = ['<html>', '<head>',
\ '<meta http-equiv="Content-Type" content="text/html; charset=utf-8">',
\ '<title>'.expand('%:p').'</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)
silent exec '!markdown "' . expand('%:p') . '" >> "' . output_name . '"'
silent exec '!echo "</div></body></html>" >> "' . output_name . '"'
silent exec '!sensible-browser "' . output_name . '" &'
endfunction
이를 통해 다음 매핑도 있습니다.
inoremap <buffer> <F7> <ESC>:call markdown#preview()<CR>
nmap <buffer> <F7> :call markdown#preview()<CR>
It's not perfect and it's not realtime but it's good enough for my limited needs.
I came across a nice plugin which worked great out of the box https://github.com/waylan/vim-markdown-extra-preview
I don't think preview markdown in vim is a good idea. But you can convert your markdown in HTML just by typing %!markdown
, presumably you have markdown installed. Then save that file and open it in a browser.
참고URL : https://stackoverflow.com/questions/9212340/is-there-a-vim-plugin-for-previewing-markdown-files
'IT박스' 카테고리의 다른 글
Android 기기에 HelloWorld.apk를 설치하지 못했습니다 (null) 오류 (0) | 2020.11.14 |
---|---|
Scala의 유형 클래스는 무엇에 유용합니까? (0) | 2020.11.14 |
Json.net의 null 필드 무시 (0) | 2020.11.14 |
XML 레이아웃에 조각을 추가하는 방법 (0) | 2020.11.14 |
“Non Zero Exit Status”R 3.0.1 'XML'및 'RCurl' (0) | 2020.11.14 |