LINUX.ORG.RU

Neovim


53

3

Всего сообщений: 14

Пятница. Почти ночь. Улыбаемся и продолжаем работу работать

На всех парах Ergo Framework движется к релизу 3.0. На экране кипит работа над сетевым стеком. Планы были выпустить релиз в конце осени, но реальность их перекроила. Теперь ближе к весне только получится.

Из того что на экране. Набор инструментов все тот же – nvim, tmux, zsh, vifm, tig. Не так давно, правда, переехал с nixos на arch. Ну и конфигурацию neovim’a переделал – взял nvchad. То, что нужно.

Практически все из коробки, работа напильником сведена к минимуму. Доволен. Раньше юзал vim-go. Но это вещь в себе без оглядки на экосистему lsp в neovim. Сейчас и erlang, и golang, и пара других языков – без костылей, каждый со своим lsp. Ну не счастье ли? :)

PS тема в большинстве используется catppuccin (жаль, для vifm ее нет).

>>> Просмотр (3840x1600, 1119 Kb)

 , ,

ergo
()

Когда не помещается все в голову

Это идет работа над Ergo Framework 3.0. Из вкусняшек, которые в ней появятся:

  • улучшена производительность обмена сообщениями внутри ноды до 100млн сообщ/сек (пруф https://twitter.com/halturin/status/1634165290564034562);
  • будет переработан сетевой стек. (сейчас он дает около 1 млн сообщ/сек между нодами по сети. ожидается улучшение до 15-20 млн);
  • работа с процессами будет проще и понятней;
  • вся эрланговская специфика будет вынесена в отдельный пакет (собственно она и была главным шоу-стопером в перформансе).

На скриншоте творческий момент редизайна внутренностей. Сложно удерживать в голове сразу кучу связанных сущностей, посему приходится держать их на виду. Благо экран широкий, позволяет.

Из инструментов — NixOS, NeoVim, Tmux, ViFM, Zsh.

На остальных экранах — всякие браузеры со спотифаями.

>>> Просмотр (3840x1600, 889 Kb)

 , , , ,

ergo
()

Чукча писатель

Пришло время вспомнить, как слова в предложения складываются и чтобы еще со смыслом получалось. В общем, написание документации - процесс крайне утомительный, если в этом нет опыта. А у меня его не было и нет :)

На экране, собственно, сам процесс. Гитбуку отдельное спасибо за «community» тариф, который открывает весь функционал платного сервиса, но за бесплатно. Возможно не лучший сервис, но для моих нужд пришелся весьма ко двору.

В остальном - urxvt с tmux’ом и остальными neovim’ами vifm’ами. К слову, отдельная благодарность @xaizek за vifm. Это лучший файловый менеджер по моему опыту.

В левом верхнем - cava. Просто красиво под музыку «столбики» прыгают. Должен отметить, только в urxvt нормально работает - очень быстро отрисовывает, цпу не ест. Тот же alacritty от cava с ума сходит - течет по памяти, цпу как не в себя.

До этого рабочим терминалом был gnome-terminal. Он вполне себе справляется со всеми моими задачами. На urxvt перешел недавно, как только разобрался, почему не рисовал нормально некоторые utf-символы (оказалось, нужно было просто правильно шрифт указать) и из желания некоего однообразия.

Окружение: NixOS (unstable channel), Gnome 42.3 (полный дефолт кроме обоины и шрифта - везде использую Iosevka)

>>> Просмотр (3840x1600, 1342 Kb)

 , , ,

ergo
()

Мой Neovim

Решил показать Neovim на моем компьютере под управлением OS Manjaro Linux KDE.

Перешёл полностью с (Sublime Text и PyCharm) на NeoVim для кодинга на python.

Плагины, привносящие функциональность:

  • coc.nvim и coc-python coc-pyright - для автодополнений и вывода функций;
  • NERDTree - файловый менеджер;
  • tagbar - отображений тегов исходников;
  • toogleterm - встроенный терминал. Сам конфиг:
:set number
:set guifont=JetBrains\ Mono:h10
:set autoindent
:set tabstop=4
:set shiftwidth=4
:set smarttab
:set softtabstop=4
:set mouse=a



call plug#begin()

    Plug 'https://github.com/vim-airline/vim-airline'
    Plug 'https://github.com/preservim/tagbar' 
    Plug 'preservim/nerdtree'
    Plug 'https://github.com/rafi/awesome-vim-colorschemes'
    Plug 'https://github.com/ryanoasis/vim-devicons'
    Plug 'https://github.com/neoclide/coc.nvim'
    Plug 'akinsho/toggleterm.nvim'
    Plug 'crispgm/nvim-tabline'
    
    set encoding=UTF-8
nmap <F8> :TagbarToggle<CR>
:set completeopt-=preview 
source ~/.local/share/nvim/plugged/awesome-vim-colorschemes/colors/minimalist.vim
call plug#end()
:set guitablabel=%N\ %f

g:tablineclosebutton

autocmd TermEnter term://*toggleterm#*
      \ tnoremap <silent><c-t> <Cmd>exe v:count1 . 

nnoremap <C-Left> :tabprevious<CR>
nnoremap <C-Right> :tabnext<CR>
nnoremap <C-P> :tabnew<CR>
nnoremap <C-q> :tabclose<CR>
nnoremap <silent><c-t> <Cmd>exe v:count1 . "ToggleTerm"<CR>
inoremap <silent><c-t> <Esc><Cmd>exe v:count1 . 

nnoremap <C-g> :NERDTree<CR>
nnoremap <C-f> :NERDTreeToggle<CR>

Ссылки:

>>> Просмотр (1920x1080, 160 Kb)

 , , , ,

enep
()

Розовенький, или как я познал зен с Flatpak и Neovim

Что-то я многовато скриншотов в последнее время делаю… Однако, здраствуйте.

Вчера у меня случился рецидив «синдрома переустановки», про который я уже писал. Что его спровоцировало – не уверен, но остановиться я смог только часа в два ночи. Слава богу, взял себя в руки и остановился.

Одним из последствий этого стало то, что я внезапно захотел себе светлую тему интерфейса, ибо обнаружил, что с ней мне легче фокусироваться на «стенах» текста. Естественно, какая-нибудь синюшная, как в «дефолтной» «федоре» с KDE, отпадала сразу, я не враг своим глазам. Ибо светлая тема, ИМХО, должна иметь тёплые оттенки, бежевый там, оранжевый. Как я дошёл до розового – уже и не помню, но пришлось по нраву. Хотя тему иконок надо другую, монохромные из Papirus-а плохо ладят с бледно-розовым фоном.

Ещё я начал миграцию на Neovim с VS Code. Почему? Да потому, что «по дефолту» свободная сборка оного не желает работать с несвободными расширениями навроде одного для удалённого SSH-доступа (от самих «мелкомягких»), плюс репозитории сменили недавно, теперь фиг найдёшь правильное расширение, которое раньше по имени автора находил. Решается всё это правкой нескольких строк «конфига», но мы же лёгких путей не ищем! Да и проникся я в последнее время «вимом», так что буду учить команды, «обмазываться» расширениями и таки добавлю для консольного и Qt-варианта розовую тему!

И насчёт Flatpak. Я таки понял, в чём его прелесть, когда перелез с Chromium на FF+Thunderbird. Конечно, толком вникнуть я не успел за день, но возможность ограничить доступ приложения до нескольких каталогов является несомненным плюсом. Теперь-то СБУ не узнает, какие «конфиги» у меня в $HOME лежат, муахахахаха!

Шутка.

( читать дальше... )

>>> Просмотр (1920x1080, 735 Kb)

 , , ,

Korchevatel
()

Унылое небо

  • xmonad
  • urxvt
  • nvim
  • коньки
  • полибар

Вроде всё. На фоне, кстати, видеообоина, не знаю зачем, она почти всегда на паузе стоит

>>> Просмотр (1920x1080, 926 Kb)

 , , , ,

rk-d
()

joker.vim

Допилил тему для Вима/Неовима: https://github.com/ksevelyar/joker.vim

Пример конфига и плагины https://github.com/ksevelyar/dotfiles/blob/master/home/.config/nvim/init.vim

Использую ее с Alacritty (быстр и поддерживает прозрачность) и lightline.vim (быстр и простое апи).

Источник вдохновения: https://github.com/whatyouhide/vim-gotham

>>> Просмотр (2560x1080, 239 Kb)

 , ,

ksevelyar
()

NixOS + Xmonad

Перелез на NixOS после долгих лет арчевания. Пока не могу собрать только neovide: https://discourse.nixos.org/t/rust-curl-tls-neovide-failed-to-run-custom-build-command-for-sdl2-sys-v0-34-0/7086

Систему проще настраивать и обслуживать, но если в пакете нет нужных тебе опций или нет самого пакета, то возиться придется дольше, чем с AUR.

sudo nix-channel --add https://nixos.org/channels/nixos-19.09 stable
sudo nix-channel --add https://nixos.org/channels/nixos-unstable nixos

Сижу на unstable, если пакет ломается, то меняю cura на stable.cura. Механизм даунгрейда пакетов / пининга намного приятнее чем в Арче.

Можно сделать наоборот, сидеть на стабильной ветке и некоторые пакеты ставить из unstable.

Вот так можно настроить Nginx + Let’s Encrypt:

{
  security.acme.acceptTerms = true;

  services.nginx = {
    # Use recommended settings
    recommendedGzipSettings = true;
    recommendedOptimisation = true;
    recommendedProxySettings = true;
    recommendedTlsSettings = true;

    commonHttpConfig = ''
      charset utf-8;
      source_charset utf-8;
    '';

    enable = true;
    virtualHosts."host.dev" = {
      enableACME = true;
      forceSSL = true;
      root = "/var/www/host";
    };
  };
  # Optional: You can configure the email address used with Let's Encrypt.
  # This way you get renewal reminders (automated by NixOS) as well as expiration emails.
  security.acme.certs = {
    "host.dev".email = "admin@foo.bar";
  };
}

Просто собрать live usb под себя, реиспользуя модули из основной конфигурации.

Больше скринов и конфиги: https://github.com/ksevelyar/dotfiles

>>> Просмотр (2560x2160, 3593 Kb)

 , , , ,

ksevelyar
()

Дождливый XMonad

Терминал — urxvt, бар — polybar

Конфиги: https://github.com/malyutinegor/rainy

Видео с обоями: https://i.imgur.com/CTiwPki.mp4 (они обычно всегда отключены, включаю чисто чтобы помедитировать)

>>> Просмотр (1366x768, 752 Kb)

 , , , ,

rk-d
()

Смотрите, я тут супертемную тему для вима нарисовал

Ну точнее для neovim’а. Блин, болею, подумал чем бы заняться и изобразил вот это.

Забрать можно тут: https://github.com/neg-serg/neovim-colorschemes

>>> Просмотр (1920x1200, 1444 Kb)

 ,

e7z0x1
()

Suckless

  • dwm
  • st
  • nvim

Вроде бы всё

>>> Просмотр (1366x768, 162 Kb)

 , , ,

rk-d
()

1024x600, пустота

  • Void
  • Коньки (отрисовка происходит через lua)
  • Neovim
  • i3 с гапсами
  • Urxvt с заблюреным фоном

Бар не нужен (тем более с таким разрешением), вместо него отведён отдельный воркспейс для лицезрения коньков.

>>> Просмотр (1024x600, 864 Kb)

 , , , ,

egorcod
()

It's awesome! ...again

Кратко:

  • Переполз с SpaceFM на ranger — нет лишних окон, вимовое управление, не нужно отрывать руки от клавиатуры;
  • Темы, иконки и ШГ (да, ШГ; да, не исправил) всё те же;
  • Виджет музыки;
  • Виджет, показывающий статус UPS (так как USB HID и polling, потому и забор инфы по таймеру);
  • Индикатор индикаторов клавиатуры (увы, сигналов для этого дела нет, потому тоже таймер), так как клавиатура у меня задвинута далеко за монитор;
  • Активный клиент в тасклисте сдвигается в сторону рабочей области, свёрнутый становится полупрозрачным и задвигается влево.

Собственно, в этот раз я принёс показать виджет музыки. Киллерфича: работающие слайдеры, лол. Уведомление при смене трека, если вибокс скрыт (с вибоксом оно и не нужно). Изначально уведомления планировалось реализовать показом вибокса со скрытием по таймеру, но таймер, вызванный из другого таймера ведёт себя крайне странно, и бороться с ним у меня просто не хватило терпения. Не работает только смена обложек, так как не реализован фетч обложек; просто не знаю, откуда их брать по Artist/Album.

На старте жрёт 404 мегабайта оперативной памяти (из шестнадцати гигабайт) по причине nut, deluge, tor и всякого ещё.

Конфиги там же.

JB, ты говорил, что тайловые WM все одинаковые?

Вопрос к обладателям трекболов (предлагатели трекпадов, клиторов и прочих планшетов могут смело идти в пешее эротическое путешествие, да): коты, оно сделает мне хорошо?

>>> mutt (1920x1080, 149 Kb)

>>> ranger + neovim (1920x1080, 177 Kb)

>>> Просмотр (1920x1080, 1603 Kb)

 , , ,

r3lgar
()

awesome, unity + gnome-shell style

Снова awesome, снова из master.

В этот раз решил воскресить идею unity + gnome-shell style, которая в прошлый раз в галерею не влезла по причине отсутствия описания.

Собственно, идея реализовать именно такой подход возникла по причине того, что с широкой панелью сверху на широкоформатном мониторе совсем печаль, а в боковую панель не всё можно запихать так, чтобы оно не превратилось в говно.

Сейчас в master творятся приятные метаморфозы, awesome готовится к очередному релизу, 3.6. Например, в gears я заметил то, что теперь можно применять шейп, причём, с учётом того, что окна являются тоже сурфейсом, то и на них это распространяется (правда, композитный менеджер не в курсе этого дела, и тень отрисовывает не обращая внимания на применение шейпа, и выглядит это как говно).

Про виджет раскладки многие уже в курсе, так как он уже промелькнул в галерее, но и его я немного подпилил, воткнув иконку клавиатуры прямо в виджет. Изначально я сделал флаги, но выглядят они страшненько при любых обстоятельствах, потому выпилил, оставив одну иконку.

Трей у меня скрывается, но, как известно, при скрытии остаются отрисованные значки, потому он у меня помещается в wibox, который находится за пределами видимости, и при перерисовке трея в другой виджет его контент с панели скрывается нормально. Кстати, теперь у трея есть опция, позволяющая сделать отступы между иконками.

Тасклист перепилен, мне было лень заниматься с аргументами, потому всё вхардкодил, всё равно при каждом изменении я лезу в код виджета, так даже удобнее.

Раньше был виджет календаря, но почти с каждым коммитом мне приходилось его чинить и переписывать, потому я от него отказался, по крайней мере до релиза, может тогда API устаканится.

Виджет часов показывается даже в fullscreen, что очень удобно.

Как и в прошлый раз, заголовок окна вынес отдельно, ибо иначе нельзя отличить сохранённый файл от несохранённого, например, в GIMP, не представляю, как можно без этого, но и заголовки окон я не признаю, и ценю пространство.

ШГ в браузере так и не починил, потому показывать его не стану. Да и не изменилось там ничего.

  • Тема иконок по-прежнему Evolvere Flat Vivid Sunken Dark.
  • Тема GTK+ 2.x, Qt4 и Qt5 — самописная, на murrine.

А ещё я так и не выложил конфиги с прошлого раза, так как причесал их только пару часов назад. Конфиги лежат здесь.

>>> Просмотр (1920x1080, 90 Kb)

 , ,

r3lgar
()