Squeak.ru - шаблоны программирования

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

Мне нравятся редакторы mark и Mou, которые имеют прекрасную возможность предварительного просмотра результатов рендеринга на лету. Поэтому мне интересно, есть ли способ сделать то же самое в Vim?

09.02.2012

  • @TechliveZheng отлично! я собираюсь проверить это 22.08.2012
  • Это не то, о чем вы просите, но если вы еще не знаете об этом, проверьте Voom, планировщик, работающий с уценкой (:voom markdown). Это более полезно, чем рендерер «на лету», потому что позволяет вам перемещаться по заголовкам документа. 04.02.2014
  • Все плагины Vim, которые делают это, похоже, требуют какой-то внешней программы Python, Ruby, Javascript или Rust. Я предпочитаю euclio/vim-markdown-composer, он написан на Rust в бэкенде и позволяет использовать pandoc, а также генератор. По большей части это просто работает (требуется установка Rust, а затем дальнейшая компиляция, но после перезапуска работает отлично). Тогда это быстро, что для меня важнее всего. 09.11.2020

Ответы:


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.
05.02.2013
  • вы можете смягчить отсутствие автоматического обновления с помощью расширения LiveReload в Chrome, однако отсутствующий вариант GitHub для меня блокирует. 15.03.2013
  • @twomm: я не могу найти такое расширение, которое будет работать с локальными файлами. 11.10.2013
  • chrome.google.com/webstore/detail/livereload/ — и проверьте их инструкции по установке на их сайте для локальных файлов. Сам не пробовал, но должно работать. 11.10.2013
  • Упомянутый здесь плагин теперь говорит, что использует таблицу стилей Github, но я обнаружил, что ему не хватает поддержки кодовых блоков и прочего. Мне больше повезло с средством просмотра уценки. 20.12.2013
  • Вместо этого используйте Markdown Preview Plus. 17.02.2014
  • Совет: не забудьте разрешить плагину уценки читать файлы в списке расширений Chrome. 27.02.2014
  • Вот та же команда для Mac: autocmd BufEnter *.md exe 'noremap ‹F5› :! /Applications/Google\ Chrome.app/Contents/MacOS/Google\ Chrome %:p‹CR›' 03.10.2014
  • Есть ли способ просмотреть измененный раздел документа MD? Я обнаружил, что если я использую автоматическую перезагрузку, она перемещает меня в начало документа, в то время как последняя перезагрузка произошла вниз. 19.12.2017
  • Комментарий Бентли следует добавить к ответу. 22.01.2018
  • github.com/iamcco/markdown-preview.vim поддерживает mathjax 28.08.2018
  • Опаздываю на вечеринку, но кто-нибудь может объяснить, что здесь делает :p? 18.05.2019
  • @yatsky %:p заменяется на полный путь к текущему файлу. Ссылка на документацию здесь. 19.05.2019

  • 2

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

    13.02.2012
  • Я только что наткнулся на ваш плагин, и мне очень понравилась концепция. Возникли проблемы - не могли бы вы взглянуть на stackoverflow.com/questions/9321327/ и скажите, можно ли заставить его работать и в Windows? 17.02.2012
  • Это очень круто, но, к сожалению, редактор сильно тормозит и нажатия клавиш пропускаются. 24.06.2013
  • Действительно сложная настройка, у меня не работала с OSX. 17.02.2014
  • Мне нравится тот факт, что он открывает его автоматически, автоматически обновляет (даже без сохранения) и автоматически закрывает предварительный просмотр, когда я закрываю файл! 27.07.2016
  • Пожалуйста, дайте нам знать, когда это сработает с neovim! 24.11.2016
  • @Суан, спасибо. Думаю попробовать. Когда я попытался просмотреть файл .md в своем браузере с помощью ранее упомянутого расширения Google Chrome, мне пришлось его обновить. Мои документы обычно длинные, не помещаются на одной странице. После того, как я обновляю браузер, он обычно переносит меня в верхнюю часть файла md, в то время как я редактирую далеко от верхней части файла .md. Ваш плагин каким-то образом знает, где произошло последнее редактирование, и предварительно просматриваете это место на странице .md? 19.12.2017

  • 3

    Фактически вы можете использовать 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: я привязал Leader к ,

    27.12.2013
  • Я получаю E481: No range allowed при попытке скомпилировать с помощью этого ярлыка. 15.02.2021

  • 4

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

    5

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

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

    6

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

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

    09.02.2012
  • Неправда, как уже упоминал @Suan, существует vim-instant-markdown, который обеспечивает предварительный просмотр уценки в реальном времени для vim. Установка немного хлопотная, но работает! 01.05.2013
  • @chutsu: неправда: предварительный просмотр vim-instant-markdown находится не в vim, а в браузере 05.07.2013
  • Я не думаю, что это было требованием, чтобы предварительный просмотр должен отображаться в vim, просто им можно было управлять и обновлять из Vim. 09.04.2014

  • 7

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

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

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

    29.08.2014
  • Мои документы обычно длинные, не помещаются на одной странице. После того, как я обновляю браузер, он обычно переносит меня в верхнюю часть файла md, в то время как я редактирую далеко от верхней части файла .md. Этот плагин каким-то образом знает, где произошло последнее редактирование, и предварительно просматривает это место на странице .md? 19.12.2017
  • попробуйте это: github.com/iamcco/markdown-preview.vim 28.08.2018

  • 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>
    

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

    09.02.2012
  • С ним и плагином автоматической перезагрузки в браузере, два окна рядом... 10.02.2012
  • @lucapette - Эта функция в основном представляет собой урезанный плагин Нейта Сильвы, не так ли? blog.natesilva.com 17.02.2012
  • @Idigas Честно говоря, я не помню, где я взял эту функцию. Хотя я впервые смотрю на этот сайт. 17.02.2012
  • @lucapette - Плохо, я не обвинял, просто заметил сходство (моё внимание привлек yahoo css). Быстрый вопрос: знаете ли вы о плагине уценки, где вы можете использовать свой собственный CSS? 17.02.2012
  • @Идигас Нет нет. Нет проблем, правда. Дело в том, что я не помню, где я его взял. Кстати, я не искал его много, поэтому я не знаю. Возможно, есть место для плагина... 17.02.2012

  • 9

    Я наткнулся на хороший плагин, который отлично работал из коробки https://github.com/waylan/vim-markdown-extra-preview

    07.08.2013
  • Мои документы обычно длинные, не помещаются на одной странице. После того, как я обновляю браузер, он обычно переносит меня в верхнюю часть файла md, в то время как я редактирую далеко от верхней части файла .md. Этот плагин каким-то образом знает, где произошло последнее редактирование, и предварительно просматривает это место на странице .md? 19.12.2017
  • это не мой плагин, рекомендую связаться с мейнтейнером проекта 19.12.2017

  • 10

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

    10.04.2014
    Новые материалы

    Угловая структура архитектуры
    Обратите внимание, что эта статья устарела, я решил создать новую с лучшей структурой и с учетом автономных компонентов: https://medium.com/@marekpanti/angular-standalone-architecture-b645edd0d54a..

    «Данные, которые большинство людей используют для обучения своих моделей искусственного интеллекта, поставляются со встроенным…
    Первоначально опубликовано HalkTalks: https://hacktown.com.br/blog/blog/os-dados-que-a-maioria-das-pessoas-usa-para-treinar-seus-modelos-de-inteligencia-artificial- ja-vem-com-um-vies-embutido/..

    Сильный ИИ против слабого ИИ: различия парадигм искусственного интеллекта
    В последние годы изучению и развитию искусственного интеллекта (ИИ) уделяется большое внимание и прогресс. Сильный ИИ и Слабый ИИ — две основные парадигмы в области искусственного интеллекта...

    Правильный способ добавить Firebase в ваш проект React с помощью React Hooks
    React + Firebase - это мощная комбинация для быстрого и безопасного создания приложений, от проверки концепции до массового производства. Раньше (знаете, несколько месяцев назад) добавление..

    Создайте API с помощью Python FastAPI
    Создание API с помощью Python становится очень простым при использовании пакета FastAPI. После установки и импорта вы можете создать приложение FastAPI и указать несколько конечных точек. Каждой..

    Веселье с прокси-сервером JavaScript
    Прокси-серверы JavaScript — это чистый сахар, если вы хотите создать некоторую общую логику в своих приложениях, чтобы облегчить себе жизнь. Вот один пример: Связь клиент-сервер Мы..

    Получить бесплатный хостинг для разработчиков | Разместите свой сайт за несколько шагов 🔥
    Статические веб-сайты — это веб-страницы с фиксированным содержанием и его постоянным содержанием. Но теперь статические сайты также обрабатывают динамические данные с помощью API и запросов...


    © 2024 squeak.ru, Squeak.ru - шаблоны программирования