Подтвердить что ты не робот

Есть ли vim плагин для предварительного просмотра файла уценки?

Мне нравится отмеченный редактор Mou, который обладает большой возможностью предварительного просмотра результата рендеринга на лету. Так что мне интересно, есть ли способ сделать sam в vim?

4b9b3361

Ответ 1

Недавно я обнаружил расширение Chrome, которое позволяет Chrome правильно открывать и отображать файлы разметки: Предварительный просмотр Markdown.

Тогда это просто вопрос сопоставления ключа в 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.

Ответ 2

Вам повезло - я только что написал плагин vim с предварительным просмотром Markdown в режиме реального времени. Он также использует github Markdown и стили: https://github.com/suan/vim-instant-markdown

Ответ 3

Я использую 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()

Если вы не хотите сбросить $4 на Marked.app, вы можете попробовать Hammer.vim. Измените строку на:

map <buffer> <leader>p :Hammer<CR>

Ответ 4

Фактически вы можете использовать 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. Поскольку в ubuntu evince используется средство просмотра по умолчанию и автоматически загружает измененные файлы. В итоге вы делаете только ,pc, чтобы ваши изменения отражались.

PS: У меня есть Лидер, сопоставленный с,

Ответ 5

Нет, есть несколько плагинов Vim для подсветки синтаксиса, фрагментов и т.д., но Vim отображает только текст и текст, поэтому у вас не может быть Markdown (или любой другой вид) предварительный просмотр в Vim.

Если вас интересует предварительный просмотр в реальном времени, возможно, MarkdownPad будет лучше соответствовать вашим потребностям.

Ответ 6

Добавление в ответ @Codemonkey, если вы используете OSX, вы можете использовать следующее в вашем файле .vimrc.

" Open markdown files with Chrome.
autocmd BufEnter *.md exe 'noremap <F5> :!open -a "Google Chrome.app" %:p<CR>'

Ответ 7

Вот простой плагин vim для просмотра Markdown в Chrome - он не требует рубинов или чего-то необычного и обновит предварительный просмотр при записи в буфер vim (его также можно активировать с помощью горячей клавиши)

Кроме того, предварительный просмотр происходит в фоновом режиме, поэтому вам никогда не придется покидать vim.

https://github.com/JamshedVesuna/vim-markdown-preview

Ответ 8

У меня есть функция в моем .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>

Это не идеально, и это не в реальном времени, но это достаточно хорошо для моих ограниченных потребностей.

Ответ 10

Я не думаю, что предварительная уценка в vim - хорошая идея. Но вы можете преобразовать свою уценку в HTML, просто набрав %!markdown, предположительно, у вас установлена ​​уценка. Затем сохраните этот файл и откройте его в браузере.