Обзор

В нескольких моих предыдущих статьях я продемонстрировал, как настроить LSP, DAP и Fuzzy Finder для Neovim, плагины, которые помогут вам кодировать быстрее, а также как преобразовать .vimrc / init.vim в init. lua . В этой статье давайте рассмотрим несколько нишевых плагинов Neovim, которые служат очень конкретным целям.

Для демонстрации я собираюсь использовать конфигурацию на основе Lua, созданную в моей предыдущей статье. Конечно, вы можете установить эти плагины, используя встроенную поддержку пакетов Vim (:h package) или любые другие менеджеры плагинов, такие как vim-plug.



Firenvim

Firenvim превращает браузер в клиент Neovim. Просто нажмите на любой textarea, и он будет немедленно заменен экземпляром Firenvim. Этот плагин будет очень полезным для тех, кто много печатает или кодирует в Интернете в Chrome или Firefox (поддерживаемые в настоящее время браузеры).

Помимо установки подключаемого модуля Neovim, вам также необходимо установить надстройку Firenvim для вашего браузера из Mozilla или Google.

vim-oscyank

Vim-oscyank - это плагин Vim / Neovim для копирования текста в системный буфер обмена из удаленного сеанса SSH с использованием последовательности ANSI OCS52.

OSC означает Команда операционной системы, категория управляющих последовательностей ANSI, которые инструктируют эмулятор терминала выполнять определенные действия.

OSC52 - одна из таких последовательностей, которая сообщает терминалу, что передаваемая строка должна быть скопирована в системный буфер обмена.

Если ваша повседневная работа требует, чтобы вы входили на удаленные серверы через эмулятор терминала, выполняли некоторые задачи и копировали текст с удаленных серверов в буфер обмена локального компьютера, то этот плагин будет вам очень полезен.

vscode-neovim

На самом деле это не плагин Neovim, а плагин для Visual Studio Code. Подобно Firenvim, который встраивает Neovim в браузеры, vscode-neovim встраивает Neovim в Visual Studio Code.

Этот плагин предназначен для тех, кому нужен полный опыт Neovim в Visual Studio Code.

VSCodeVim также поддерживает интеграцию с Neovim, но все еще находится на экспериментальной стадии.

Безупречный

Vimpeccable - это плагин для Neovim, который позволяет вам легко заменить ваш _3 _ / _ 4_, основанный на Vimscript, на модуль на основе Lua. Vimpeccable дополняет существующий API Neovim Lua, добавляя новые команды Lua, чтобы легко отображать ключи непосредственно в Lua.

Если вам нужна конфигурация на основе Lua, не углубляясь в Lua и API Neovim, этот плагин для вас. Он отражает стандартные API Vim и имеет все варианты nnoremap, nmap, xnnoremap и т. Д., С которыми вы, вероятно, уже знакомы.

Юпитер-Вим

Jupyter-Vim обеспечивает двустороннюю интеграцию между Vim и Jupyter. Разрабатывайте код на ноутбуке Jupyter, не выходя из терминала. Отправьте строки из Vim в консоль Jupyter / Qt-console. Имейте MATLAB-подобный режим ячейки.

Если вам нужна бесшовная интеграция между Jupyter и Vim / Neovim, этот плагин для вас.

Чтобы этот плагин работал, убедитесь, что вы установили Jupyter Console или Qt Console.

После настройки вы можете запустить выбранные строки кода или отправить весь файл в консоль Jupyter.

codi.vim

Codi.vim представляет собой интерактивный блокнот для хакеров с интерфейсом, аналогичным Numi. Он открывает панель, синхронизированную с вашим основным буфером, которая отображает результаты оценки каждой строки по мере ввода (с NeoVim или Vim с +job и +channel, асинхронно). Он расширяется практически до любого языка, который предоставляет REPL (интерактивный интерпретатор)!

Языки со встроенной поддержкой: Python, JavaScript, CoffeeScript, Haskell, PureScript, Ruby, OCaml, R, _18 _ / _ 19_, PHP, Lua, C++, Julia, Elm, Elixir, TypeScript, math.js

Ниже приведен пример скриншота. Вы можете видеть, что stdout сразу доступен справа.

Этот плагин может быть полезен разработчикам, предпочитающим интерактивную среду программирования.

vim-слизь, neoterm, vim-floaterm

Подобно jupyter-vim, который интегрирует Vim с Jupyter, vim-slime интегрирует Vim с REPL, который может быть на Python, R, Clojure и т. Д.

Вы можете настроить в качестве цели экран GNU, tmux, терминал Vim, терминал Neovim, kitty, conemu и т. Д.

На приведенном ниже экране я настроил цель как терминал Neovim и запустил Python REPL в терминале. Затем я могу нажать C-c C-c, чтобы отправить код Python в REPL.

Неотерм позволяет использовать терминал для всего. Основная цель этого плагина - легко повторно использовать терминал. Все команды открывают терминал, если он еще не существует.

  • Вспомогательные функции / команды терминала Neovim / Vim.
  • Оборачивает REPL для получения текущего файла, строки или выделения.
  • Поддержка нескольких терминалов.

На приведенном ниже экране я использую команды neoterm (TREPLSendFile, TREPLSendLine, TREPLSendSelection) для отправки кода в Python REPL.

Другой вариант для вас - vim-floaterm, который также позволяет вам отправлять код на плавающий терминал при запущенном REPL. На приведенном ниже экране я использую команду FloatermSend для отправки кода Python во всплывающее окно REPL.

vim-tex

Для тех, кто пишет техническую или научную документацию с использованием LaTeX, VimTex может быть полезен. Помимо того, что это плагин типа файла и синтаксиса для файлов LaTeX, он интегрируется с другими инструментами для компиляции документов и просмотра PDF.

Резюме

Лично я считаю vim-oscyank полезным для меня, поскольку моя работа требует от меня входа на серверы, и часто мне нужно копировать текст на локальную машину.

Точечные файлы, которые я использовал в этой статье, можно найти в этом репозитории.

Обязательно ознакомьтесь со следующими статьями.





Если вы еще не являетесь участником Medium и хотите им стать, нажмите здесь. (Часть вашей абонентской платы будет использована для поддержки alpha2phi.)