Обзор
В нескольких моих предыдущих статьях я продемонстрировал, как настроить 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.)