~ Минимальная настройка Neovim
Конфиг в ~/.config/nvim/init.lua
vim.schedule(function()
vim.o.clipboard = 'unnamedplus'
end)
vim.o.syntax = "on"
vim.g.maplocalleader = " "
vim.g.mapleader = " "
vim.opt.termguicolors = true
vim.g.have_nerd_font = true
Для импорта файлов надо require(""), Напр: require("config.config") для загрузки файла ~/.config/nvim/lua/config/config.lua
Для биндов надо использовать vim.keymap.set(), Напр: vim.keymap.set("n", "m", ":Sex<CR>", { noremap = true, silent = true }) для бинда :Sex на m
Для установки плагин менеджера Lazy надо добавить в свою конфигурацию
local lazypath = vim.fn.stdpath("data") .. "/lazy/lazy.nvim" -- Lazy autoinstall
if not vim.loop.fs_stat(lazypath) then
vim.fn.system({
"git", "clone", "--filter=blob:none",
"https://github.com/folke/lazy.nvim.git", "--branch=stable", -- latest stable release
lazypath
})
end
vim.opt.rtp:prepend(lazypath)
Для настройки его надо использовать require("lazy").setup({}), напр:
require("lazy").setup({
spec = {
{ import = "plugins"},
},
defaults = {
lazy = false,
version = false,
},
})
{import = "plugins"}
это значит импорт ~/.config/nvim/plugins/*
И для установки плагинов из импортированого файла напримере treesitter для подсветки кода надо:
return {
{'nvim-treesitter/nvim-treesitter',
config = function()
require'nvim-treesitter.configs'.setup {
highlight = {
enable = true,
additional_vim_regex_highlighting = false,
},}
end},
и написать :TSInstall all для установки парсеров от treesitter
///w///
Основы helix, мини гайд
Привет, пикабушники, сегодня будет мини гайд по модальному текстовому редактору helix.
Helix модальный, быстрый редактор на rust с поддержкой lsp.
В данном гайде мы рассмотрим основные функции и кейбинды.
Helix в отличие от своих собратьев vim/kakoune имеет встроенный lsp.
Первый запуск, просто введите в терминале helix, откроется пустой файл, вы можете указать, какой файл открыть просто helix путь к файлу, или через command mode :e (нажатием :).
Основные кейбинды:
hjkl перемещение, esc выход из любого режима. Рассмотрим основные режимы i режим вставки (для печати текста), также активируется a, но тогда печать начнется после курсора. v - визуальный режим для выделения, x выделяет всю строку, а hjkl работают и тут. Примечание, shift часто инвертирует действие, u для отмены.
Все команды в helix можно комбинировать, а указание цифр тоже работает, например 3l скачок курсором на 3 слова, w на одно слово, b на одно слово назад. d ВЫРЕЗАТЬ выделение/символ.
Работа с буферами:
Для копирования y, для вставки p. По умолчанию копируется в дефолтный буфер, но через "x y вы скопируете в регистр x, + системный регистр, _ это нулевой буфер. чтобы именно удалить что-то нужно "_d написать. Вы можете применять буферы ко всем командам вставки.
Ещё пару полезных команд - o на строку ниже, m match mode для обертывания текста, очень удобно кстати например напишите текст -
test. Выделите его, нажмите ms" и слово обернется в кавычки, mi" удалит кавычки.
f перейти к символу, shift f в обратном направлении. Пробел без режима space mode, в нем попробуйте нажать f, будет поиск файлов. c для удаления выделенного текста и перех в insert mode, r для замены конкретного символа на курсоре
Мульти курсоры и выделение:
Для создания курсора нажмите shift c для создания курсора снизу, для колапсирования курсоров.
Выделение и мультикурсоры
Выделение происходит в областях, через v можете задать свой диапазон, либо % весь текст.
После выделения области нажмите s, наберите слово и helix подсветит, выделит их, поставит мульти курсоры. Смотрите ниже. Для поиска используется /
вот небольшой showcase от меня.
Полный кеймап здесь
BobaVim — браузерная игра для изучения и тренировки движений в Vim (режимы соло и 1 на 1)
Всем привет,
Я только что запустил BobaVim — браузерную игру, которая помогает освоить и практиковать движения в Vim через увлекательные задания и соревнования.
Можно играть в одиночку для тренировки или соревноваться с другими игроками в режиме 1 на 1 в реальном времени. В игре есть:
Учебник и справочник
Таблица лидеров для отслеживания прогресса
Уровни, сфокусированные на реальных Vim-командах
Этот проект — моя небольшая дань уважения Браму Муленаару, создателю Vim. Его труд и философия вдохновили меня на создание этого инструмента для сообщества.
Я разработал игру на HTML, CSS, JavaScript и Go, и заодно многому научился — от клиентского предсказания до обработки конкуренции и многопользовательской синхронизации в реальном времени.
Ссылки:
Сайт игры: https://www.bobavim.com/
Демонстрация геймплея: https://www.youtube.com/watch?v=vrwJ3-c9ptE
Буду рад отзывам, вопросам или предложениям по улучшению!
Florent
Ответ на пост «И что теперь сводному брату с ней делать?»1
Вим лучший редактор, а для выхода q, q!, x, wq для сохранения и выхода
Neovim: Минимализм & Удобство
Расскажу о том, почему я использую Neovim как основной текстовый редактор, а также о том, как я им пользуюсь.
Почему Neovim?
По сравнению с VS Code и другими IDE, Neovim очень минималистичный и простой. Единственное, что нужно знать – это то, какие клавиши за что отвечают.
После того как вы привыкаете к способу управления, появляется второе преимущество – удобство. После этого вам будет не хватать vim-раскладки в обычных редакторах.
Вопрос не в скорости
Хоть vim-раскладка увеличивает скорость печати, это не главное, так как при 10 часах дебага она вам не поможет. Дело тут именно в удобстве.
Читщит для ленивых
Команда Действие
Esc – перейти в NORMAL режим
hjkl – перемещение
Ctrl-d/u – пол страницы вверх/вниз
gg/G – вверх/низ файла
yy/p – скопировать/вставить строчку
o/O – вставить пустую строчку снизу/сверху
I/A – переход в начало/конец строки
:w(q) – сохранить (и выйти)
:q! – выйти без сохранения
Настройка
По настройке Neovim очень много статей, инструкций и т.д. Я опишу только свою конфигурацию.
Как я уже сказал, я люблю минимализм.
Из плагинов использую Telescope для навигации по проекту, Treesitter для подсветки синтаксиса и LSP для автодополнения и аннотаций. В качестве темы использую Gruvbox.
GitHub с конфигурацией если вам интересно.
Команды
Единственная сложность при знакомстве с Neovim – vim-раскладка.
В Neovim есть 5 режимов. Каждый из них нужен для выполнения какой-то отдельной задачи.
NORMAL
Основной режим. Для перехода в него нажмите либо Esc, либо Ctrl-c.
Перемещение
h – влево
j – вниз
k – вверх
l – вправо
Ctrl-d – пол страницы вниз
Ctrl-u – пол страницы вверх
I – в начало строки
A – в конце строки
gg – в начало файла
G – в низ файла
Окна
Экран можно разделить на несколько частей. Для того чтобы разделить экран вертикально, напишите :vs, а для горизонтального разделения – :sp.
Для перемещения между окнами у меня настроены эти клавиши.
wh – перейти в окно слева
wj – перейти в окно снизу
wk – перейти в окно сверху
wl – перейти в окно справа
Вставка & удаление
o – вставить пустую линию под текущей
O – вставить пустую линию над текущей
dd – удалить линию
Копирование
yy – скопировать линию в буфер обмена
p – вставить скопированное
При удалении чего-либо, удаленный текст копируется в буфер обмена.
VISUAL
Позволяет выделять текст и манипулировать им.
Для того чтобы выделить текст, нажмите v в режиме NORMAL. Также, можно выделить всю линию, для этого нажмите V.
После выделения можно приступить к его редактированию.
d – удалить
u – перевести в нижний регистр
U – перевести в верхний регистр
y – скопировать в буфер обмена
p – вставить текст из буфера вместо выделенного текста.
INSERT
Обычный режим для набора текста. Тоже что и в других редакторах.
Чтобы вернутся в NORMAL, нужно нажать Esc.
COMMAND
Перейти в него можно нажав : в NORMAL режиме. После каждой команды для выполнения нужно нажимать Enter.
:w – сохранить файл
:wq – сохранить и выйти
:q! – выйти без сохранения
Замена текста
Находясь в VISUAL режиме, напечатайте :s/, впишите текст или регулярное выражение которое хотите заменить, потом / и текст на который хотите изменить.
SEARCH
Нажмите / и впишите то, что хотите найти. После этого нажмите Enter и перемещайтесь по найденным результатам с помощью n.
Telescope
Помогает искать файлы по названию. Я долгое время использовал Nvimtree, но после того как установил Telescope нужда в нём пропала.
Live Grep
Live Grep – плагин, дополняющий Telescope, который помогает искать код по всей кодовой базе с молниеносной скоростью.
Ещё плюшки
Встроенный терминал
Для вызова напишите :te. В этом же окне откроется терминал, с возможностью использования vim-раскладки.
Открытие больших файлов
При открытии больших файлов редактор можно запускать в чистом виде без плагинов, затормаживающих открытие и редактирование.
nvim --clean
GUI версия
Иногда использую GUI версию Neovim под названием Neovide. Люблю его из-за очень красивой анимации перемещения курсора и того что он написан на Rust.
Как выйти?
Если вам нужно выйти из редактора, просто наберите :q!.
:wq
Надеюсь статья была полезной. Больше статей в моём блоге.








