LunarVim как Julia IDE

Раньше я писал о том, как использовать Vim для Julia. Недавно я изменил настройки и стал использовать новый замечательный LunarVim. Вот краткое руководство по настройке Vim (на самом деле Neovim) в качестве вашей Julia IDE.

Представляем LunarVim

Первый вопрос, на который нужно ответить: что такое LunarVim? Престо!

LunarVim - это самоуверенный, расширяемый и быстрый уровень IDE для Neovim ›= 0.5.0. LunarVim использует новейшие функции Neovim, такие как поддержка Treesitter и Language Server Protocol.

Проще говоря, это серия конфигураций по умолчанию для Neovim, которые делают его еще более удивительным. Первое требование для использования LunarVim - установить Neovim с версией не ниже 0.5. К сожалению, sudo apt install neovim не будет работать (в то время, когда я пишу это), потому что установленная версия будет ниже требуемой.

Самый простой способ установить правильную версию - добавить PPA для нестабильной версии и установить ее. Вот простые шаги:

sudo add-apt-repository ppa:neovim-ppa/unstable
sudo apt update
sudo apt install neovim

Чтобы установить LunarVim, просто запустите:

bash <(curl -s https://raw.githubusercontent.com/lunarvim/lunarvim/master/utils/installer/install.sh)

Запустив команду lvim в вашем терминале, LunarVim должен запуститься! Вы всегда можете добавить alias vim = "lvim" в свой .bashrc, чтобы запустить LunarVim вместо vim.

Настройка Юлии

Теперь, когда у вас работает LunarVim, давайте настроим язык Julia. На самом деле это на удивление просто. В вашем терминале запустите следующее:

julia --project=~/.julia/environments/nvim-lspconfig -e 'using Pkg; Pkg.add("LanguageServer")'

Это устанавливает протокол языкового сервера (LSP) для Джулии, то есть функционально автозаполнение для Джулии. Теперь, каждый раз, когда вы открываете файл «.jl», просто подождите немного, и LSP запустится.

Затем давайте установим пакет Julia-Vim, который позволит нам использовать Unicode, таким образом, написав что-то вроде \alpha и нажав Tab, мы получим альфа-кодировку Unicode, которая разрешена в Julia. Для этого перейдите в файл конфигурации LunarVim, к которому можно получить доступ, запустив lvim в терминале и выбрав параметр Configuration. Другой способ - открыть файл конфигурации напрямую, это ~/.config/lvim/config.lua.

Внутри конфигурации есть место, куда вы можете легко установить любой плагин, какой захотите. Просто перейдите туда, где находятся «- - Дополнительные плагины». Изначально все надо комментировать. Просто раскомментируйте нужные строки, напишите {"JuliaEditorSupport/julia-vim"} и сохраните. Это подскажет установку заглушки. Взгляните на рисунок ниже.

Предупреждение!

Поскольку Vim находится внутри вашего терминала, вам нужно, чтобы в вашем терминале был шрифт с включенным Unicode. Предлагаю вам установить JuliaMono, красивый шрифт, созданный для Юлии: D. После того, как шрифт установлен, просто войдите в конфигурацию вашего терминала и измените его.

Даже с включенным шрифтом Unicode в моем блокноте Julia-Vim все еще зависал после нажатия Tab без какого-либо текста. Чтобы решить эту проблему, я написал следующие две команды в моей конфигурации LunarVim:

vim.cmd("let g:latex_to_unicode_tab = 'off'")
vim.cmd("let g:latex_to_unicode_keymap = 1")

Теперь все должно работать красиво! Ваша новая среда LunarVim IDE для Julia готова к использованию.

Быстрый курс на LunarVim + Julia

Теперь вы можете прочитать документацию по LunarVim, чтобы лучше понять некоторые настройки по умолчанию. Но я дам несколько советов о том, как работает LunarVim и как использовать его с Джулией для запуска вашего кода. Вот (очень) быстрый курс по некоторым из основных команд для LunarVim:

  • В LunarVim ваш <leader> - это space, следовательно, многие сокращения будут состоять из нажатия «пробела», за которым следует что-то еще. Вот где сияет LunarVim. Если просто нажать «пробел» и немного подождать. Снизу появится меню с возможными командами.

  • LunarVim поставляется с плагином «NerdCommenter», который позволяет вам перемещаться по меню. Просто нажмите <space>+e.

  • Когда вы открываете другой файл, создается буфер, который отображается в верхней части экрана. Вы можете щелкнуть вкладку, чтобы изменить буферы, или вы можете нажать shift+h или shift+l, чтобы изменить буферы.

  • Нажмите ctrl+w, чтобы просмотреть команды, относящиеся к разделению экрана и перемещению между экранами. Вы можете нажимать ctrl+ h,l,j,k для перехода между окнами.

  • Как и в обычном Vim, вы можете нажать /, чтобы начать поиск, а затем space+h очистит выделенные термины в поиске.

  • Когда вы открываете файл Julia, вам просто нужно немного подождать, пока LSP не начнет работать. После загрузки LSP будет работать автозаполнение и многие другие полезные функции, такие как визуализация строки документации функции. Для этого нажмите g, и появится всплывающее окно со множеством ярлыков, связанных с LSP. Например, вы можете нажать g + p, чтобы просмотреть строку документации, и g + d, чтобы открыть определение функции в другом буфере. Посмотрите на рисунки ниже.

  • Наконец, вы можете нажать ctrl+t, чтобы открыть и свернуть плавающий терминал. Как только это будет сделано, вы можете запустить Julia REPL и скопировать / вставить каждую строку кода, которую вы хотите запустить.

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

Посетите мой Github для получения полного файла конфигурации.