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
Надеюсь статья была полезной. Больше статей в моём блоге.
Ультимативный ресурс по программированию: сборник бесплатных чит-листов по программированию
В мире программирования чит-листы — это секретное оружие каждого разработчика. От новичков до опытных программистов, эти чит-листы помогают быстро найти нужную информацию и повысить продуктивность. Сегодня я собрал для вас лучший набор чит-листов по различным языкам программирования и инструментам, от Python до Docker. Обязательно сохраняйте в закладки!
1. Python
Python — это высокоуровневый язык программирования, который широко используется для различных приложений. В этом чит-листе собраны основные синтаксические конструкции, структуры данных и популярные библиотеки Python.
Python чит-лист
2. Git
Git — это самая популярная система управления версиями на данный момент. Этот чит-лист поможет вам легко справляться с коммитами кода, управлением ветками и разрешением конфликтов.
Git чит-лист
3. JavaScript
JavaScript — это основной язык фронтенд-разработки. В этом чит-листе собраны основные синтаксические конструкции, работа с DOM и часто используемые функции JavaScript.
JavaScript чит-лист
4. Bash
Bash — это стандартный командный интерпретатор для систем Linux и Unix. В этом чит-листе собраны основные команды Bash и советы по написанию скриптов.
Bash чит-лист
5. SQL
SQL — это стандартный язык для управления и работы с реляционными базами данных. В этом чит-листе собраны основные SQL-запросы, манипуляции данными и команды управления базами данных.
SQL чит-лист
6. HTML
HTML — это основной язык для создания веб-страниц. В этом чит-листе собраны основные теги HTML, атрибуты и структура.
HTML чит-лист
7. CSS
CSS используется для управления стилем и макетом веб-страниц. В этом чит-листе собраны основные селекторы CSS, атрибуты и советы по макету.
CSS чит-лист
8. Sass
Sass — это препроцессор CSS, который предоставляет более мощные функции и лаконичный синтаксис. В этом чит-листе собраны основные конструкции и функции Sass.
Sass чит-лист
9. Tailwind
Tailwind — это утилитарный CSS-фреймворк, предлагающий множество предопределенных классов. Этот чит-лист поможет вам быстро найти нужные классы Tailwind.
Tailwind чит-лист
10. React.js
React.js — это библиотека JavaScript для создания пользовательских интерфейсов. В этом чит-листе собраны основные концепции React, компоненты и часто используемые API.
React.js чит-лист
11. Angular
Angular — это фреймворк для создания динамических веб-приложений. В этом чит-листе собраны основные концепции Angular, директивы и сервисы.
Angular чит-лист
12. Vim
Vim — это высоконастраиваемый текстовый редактор, любимый многими разработчиками. В этом чит-листе собраны основные команды Vim и горячие клавиши.
Vim чит-лист
13. Linux
Linux — это операционная система с открытым исходным кодом, широко используемая на серверах и в средах разработки. В этом чит-листе собраны основные команды Linux и советы по работе с системой.
Linux чит-лист
14. Docker
Docker — это контейнерная технология, упрощающая развертывание и управление приложениями. В этом чит-листе собраны основные команды и операции Docker.
Docker чит-лист
Надеюсь, эти чит-листы помогут вам на вашем пути в программировании. Если у вас есть другие рекомендации по чит-листам, поделитесь ими в комментариях!