Продвинутый WezTerm в Windows
Lua конфигурация
Конфигурация как код
WezTerm превращает настройку терминала из редактирования статичного файла в написание небольшой программы. Вся магия происходит в файле .wezterm.lua, который находится в вашем домашнем каталоге в Windows (%USERPROFILE%). Это исполняемый скрипт на языке Lua, что открывает почти безграничные возможности для кастомизации.
В основе всего лежит функция wezterm.config_builder(). Она создает объект конфигурации, который мы будем наполнять нашими настройками. Это обеспечивает типобезопасность: если вы опечатаетесь в названии параметра, WezTerm сообщит об ошибке.
-- Импортируем модуль wezterm
local wezterm = require 'wezterm'
-- Создаем объект для нашей конфигурации
local config = wezterm.config_builder()
-- Здесь будут наши настройки
-- Возвращаем готовый объект
return config
Это минимальный рабочий конфиг. Он ничего не меняет, но является отправной точкой. Все параметры, которые мы будем добавлять, размещаются между созданием config и его возвратом.
Сохранив изменения в
.wezterm.lua, просто нажмитеCTRL+SHIFT+Rдля «горячей перезагрузки». WezTerm применит новую конфигурацию на лету, без перезапуска.
Настройка и отладка
Все настройки — это поля в Lua-таблице, которую представляет наш объект config. Вы просто присваиваете значения нужным ключам. Например, давайте изменим размер шрифта и цветовую схему.
local wezterm = require 'wezterm'
local config = wezterm.config_builder()
-- Устанавливаем размер шрифта
config.font_size = 12.0
-- Выбираем встроенную цветовую схему
config.color_scheme = 'Dracula'
-- Включаем размытие фона, если ОС это поддерживает
config.window_background_opacity = 0.85
config.win32_system_backdrop = 'Mica'
return config
Что-то пошло не так? Или вы хотите проверить значение переменной? На помощь приходят инструменты отладки. Самый простой способ — вывести информацию в лог с помощью wezterm.log_info().
Чтобы увидеть эти сообщения и другие ошибки, используйте — специальное окно, которое вызывается по CTRL+SHIFT+L. Это ваш главный инструмент для поиска проблем в конфигурации.
Умный конфиг с логикой
Сила Lua в том, что вы можете использовать условную логику. Например, можно применять разные настройки в зависимости от операционной системы или даже имени пользователя. Для определения ОС используется переменная wezterm.target_os.
local wezterm = require 'wezterm'
local config = wezterm.config_builder()
-- Проверяем, запущена ли программа в Windows
if wezterm.target_os == 'Windows' then
config.font = wezterm.font 'JetBrains Mono'
wezterm.log_info('Windows-конфигурация загружена, шрифт JetBrains Mono')
else
-- Настройки для других ОС, например, Linux или macOS
config.font = wezterm.font 'Fira Code'
wezterm.log_info('Загружена конфигурация для ' .. wezterm.target_os)
end
config.font_size = 12.0
return config
В этом примере мы устанавливаем шрифт JetBrains Mono, если скрипт выполняется в Windows, и Fira Code — в других системах. Отладочное сообщение в Debug Overlay подтвердит, какая ветка кода была выполнена.
Это только начало. Используя Lua, вы можете создавать функции для генерации цветовых схем, динамически формировать списки вкладок или даже интегрироваться с внешними скриптами. Ваш терминал становится по-настоящему вашим.
