Alacritty + NeoVim + NVChad
В общем, c момента того как пересел на Linux, сразу стал большим энтузиастом терминала. Конечно без всяких браузеров, мессенджеров и кино в терминале. Сейчас более разумно - только программирование и администрование.
Вообщем, мой небольшой сетап. Установим, настроим и опробуем на деле. Что нам нужно:
- Alacritty
- tmux (обычно изначально уже стоит в многим дистрибутивах)
- NeoVim с NVChad Конфигом на борту.
- Nerd Fonts для терминала.
Alacritty
Alacritty — это современный, высокопроизводительный терминал с открытым исходным кодом, ориентированный на скорость и минимализм. Вот его ключевые особенности:
Основные характеристики:
Производительность
Использует GPU для рендеринга (через OpenGL), что делает его одним из самых быстрых терминалов, особенно при работе с большими объёмами текста или частыми обновлениями экрана.Минимализм
Нет встроенных вкладок или разделения экрана (эти функции реализуются через внешние менеджеры окон, например, tmux).
Для кого?
- Разработчики, которые много работают в терминале.
- Энтузиасты, ценящие скорость и кастомизацию.
Установка:
- Ubuntu:
sudo apt install alacritty
- Fedora Workstation:
sudo dnf install alacritty
Если вы часто работаете в терминале и хотите максимальной скорости, Alacritty — отличный выбор. В случае если нужны вкладки - Alacritty вам не подойдет. Я же пользуюсь Alacritty вместе с tmux, поэтому мне хватает.
Настройка Alacritty
Настройка занимает всего ничего, а дает неплохой результат, который позже, вкупе с Nvim покажется очень удобным. Начнем. Изменяем конфиг. Находится он обычно в ~/.config/alacritty/alacritty.toml
С помощью голого NeoVim внесем конфиг, который нам нужен:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
[env]
TERM = "xterm-256color"
[window]
dimensions = { columns = 160, lines = 40}
padding.x = 20
padding.y = 20
decorations = "Full"
opacity = 0.96
blur = true
[font]
normal.family = "JetBrainsMono Nerd Font"
[keyboard]
bindings = [
{ key="ArrowUp", mods="Control|Shift", action="ScrollLineUp" },
{ key="ArrowDown", mods="Control|Shift", action="ScrollLineDown" }
]
[!Заметка] Параметры конфигурации тут - https://alacritty.org/config-alacritty.html
NeoVim
Neovim (Nvim) — это современный форк текстового редактора Vim, созданный для улучшения расширяемости, производительности и удобства разработки. Install using package manager or Build from source
Зависимости для Вима
1
sudo apt-get install ninja-build gettext cmake unzip curl build-essential
Шрифты с иконками
Nerd Font - это шрифты с поддержкой иконок. Web Site: https://www.nerdfonts.com/ GitHub Nerd Fonts: https://github.com/ryanoasis/nerd-fonts/ Я обычно качаю JetBrains Mono Nerd Font
NVChad
NVChad — это популярная предварительно настроенная конфигурация для Neovim, созданная для мгновенного превращения “голого” редактора в мощную IDE-подобную среду. Official Website: https://nvchad.com
Устанавливаем NVChad
NV Chad Docs Install: https://nvchad.com/docs/quickstart/install
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
# Linux / MacOS (unix)
rm -rf ~/.config/nvim
rm -rf ~/.local/state/nvim
rm -rf ~/.local/share/nvim
# Flatpak (linux)
rm -rf ~/.var/app/io.neovim.nvim/config/nvim
rm -rf ~/.var/app/io.neovim.nvim/data/nvim
rm -rf ~/.var/app/io.neovim.nvim/.local/state/nvim
# Windows CMD
rd -r ~\AppData\Local\nvim
rd -r ~\AppData\Local\nvim-data
# Windows PowerShell
rm -Force ~\AppData\Local\nvim
rm -Force ~\AppData\Local\nvim-data
1
git clone https://github.com/NvChad/starter ~/.config/nvim && nvim
Ставим нужную тему для работы. В моем случае - catppuccin
Другие конфиги которые можно попробовать:
Дополнительные материалы
Видео под теме Nvim: Изучаем Vim, команды и макросы. Зачем текстовый редактор Vim в 2018? Урок Vim БОЖЕСТВЕННЫЙ nvim как IDE для Python, Rust и всех-всех-всех — встречаем LSP!
Непосредственно видео по настройке NVChad на русском:
NvChad 2.5 - обновление сборки для NeoVim
Видео по теме Alacritty: Красивый терминал на MacOS / Linux и Windows
Дополнительное видео про Вима: Видео про Вима
Спасибо за внимание. Это все заметки работы над своим окружением и изучением информатики. Ничего из этого не советую использовать ибо многое не представляет особой ценности для действительно крутых программистов и хакеров.