LINUX.ORG.RU

Мой Neovim

 , , , ,


4

1

Решил показать 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)

★★★★★

Проверено: hobbit ()
Последнее исправление: hobbit (всего исправлений: 4)

Окна бы разбил на несколько, кода побольше впихал былоб красивее.

У меня вот так https://i.ibb.co/dgwTh9t/2022-02-18-022404-1920x1080-scrot.png =)

К стати рекомендую startify накатить https://i.ibb.co/d2stwSZ/2022-02-18-02-32-32.png

Под симсоном должны быть цитаты как тут https://github.com/fedor-elizarov/vim-startify/blob/master/images/startify-menu.png но я только сейчас заметил что фортуна удалена, хотя вроде не удалял, а так было вот так https://github.com/fedor-elizarov/vim-startify/blob/master/autoload/startify/fortune.vim

LINUX-ORG-RU ★★★★★
()
Ответ на: комментарий от enep

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

LINUX-ORG-RU ★★★★★
()
Последнее исправление: LINUX-ORG-RU (всего исправлений: 1)

coc.nvim и coc-python coc-pyright - для автодополнений и вывода функций;

Почему не lsp? Клиент встроен в nvim

bubvalet
()

у neovim gui есть оказывается, непонятно зачем конечно

bubvalet
()

PyCharm

Фаталити. VIM же вообще анскильный, а пайчарм заряженный. Как можно было променять?

ox55ff ★★★★★
()

Выделение и копирование текста мышкой внутри неовима и в другие приложения нормально работает?

Exmor_RS ★★★
()

мне не нравится сочетание темного вима и ультра светлого заголовка. некрасиво.

coc.nvim и coc-python coc-pyright - для автодополнений и вывода функций;

автоматически заменяют master/slave и black/white?

crypt ★★★★★
()
Последнее исправление: crypt (всего исправлений: 2)
Ответ на: комментарий от bubvalet

Тебе, видимо, очень повезло с языком. Разработчики neovim уже пол года после релиза не могут починить расстановку отступов при включенном treesitter. Несколько недель назад они переписали модуль ответственный за растановку отступов и разломали все еще больше.

Ну и у самого treesitter проблем хватает - куча косяков в подсветке (как минимум, на C/C++), библиотека может запросто зависнуть при парсинге больших файлов.

Vovka-Korovka ★★★★★
()
Ответ на: комментарий от Vovka-Korovka

Разработчики neovim уже пол года после релиза не могут починить расстановку отступов при включенном treesitter

да-да, было такое, там еще курсор скакал непонятно куда из-за этого.

Непонятно, нафиг вообще нужна эта фича, если отступы и без нее отлично расставляются

Lrrr ★★★★★
()

Использовать coc и tagbar в одном неовиме - это сильно. Тут надо либо труселя скинуть, либо крестик надеть.

Ещё, конечно, можно обратить внимание на vista.vim.

pon4ik ★★★★★
()
Ответ на: комментарий от pon4ik

Использовать coc и tagbar в одном неовиме - это сильно. Тут надо либо труселя скинуть, либо крестик надеть.

Расскажите об этом подробней, плес.

Im_not_a_robot ★★★★★
()
Ответ на: комментарий от ox55ff

Ну да, будешь спрашивать виммера, что такое coc - он те расскажет про плагинную архитектуру для поддержки задач связанных с написанием кода :)

pon4ik ★★★★★
()
Ответ на: комментарий от Im_not_a_robot

Ну типа coc на основе LSP работает, а tagbar - на основе ctags и подобных. Т.е. нужно на одну кодовую базу натравить минимум две тулзы, из совершенно разных «технологических укладов». Т.е. как минимум - зависимостей больше.

pon4ik ★★★★★
()
Ответ на: комментарий от patron13

В дух словах о проекте над которым работаешь можно узнать?

Изучение Формальной грамматики и языков и теории трансляции и компиляции.

enep ★★★★★
() автор топика
Ответ на: комментарий от pon4ik

Приходишь такой на собес, тебя спрашивают - уважаешь CoC? Отвечаешь - конечно уважаю, особенно мне нравится плагин для C#.

pon4ik ★★★★★
()
Ответ на: комментарий от ox55ff

Пока заряженный пайчарм загружается, среднестатистический виммер уже отправляет патч на ревью :)

pon4ik ★★★★★
()
Ответ на: комментарий от Vovka-Korovka

Тебе, видимо, очень повезло с языком

java

Разработчики neovim уже пол года после релиза не могут починить расстановку отступов при включенном treesitter.

Не сталкивался, можно пример, чтобы повторить? Может что-то и правда плохо работает, а я думаю что так и должно быть.

bubvalet
()
Ответ на: комментарий от bubvalet

coc.nvim и coc-python coc-pyright - для автодополнений и вывода функций;
Почему не lsp? Клиент встроен в nvim

Можешь написать подробнее? Что надо использовать в nvim и как?

Im_not_a_robot ★★★★★
()
Ответ на: комментарий от Im_not_a_robot

Надо установить Python jedi и yarn

pip install jedi
npm  i -g yarn 

после в директории где установлен coc.nvim, В Моем случае это «~/.local/share/nvim/plugged/coc.nvim/»

cd ~/.local/share/nvim/plugged/coc.nvim/
yarn install

В дальнейшем нужно установить плагины в редакторе

:CocInstall coc-python coc-pyright
enep ★★★★★
() автор топика
Ответ на: комментарий от bubvalet

Изучи форматирование что бы удобней читать было

enep ★★★★★
() автор топика
Ответ на: комментарий от pon4ik

Ну типа coc на основе LSP работает, а tagbar - на основе ctags и подобных.

Оба два ненужно. В виме работа с тегами из коробки. Ну если уж очень хочется список, есть fzf или ctrlp, которые всяко будут полезны. Кок это совсем уже чудо-юдо из другого измерения. Оно хоть работает у кого-то? По-моему эту срань сделали только для того, чтобы кодер помучавшись сбежал на vscode, а потом всем рассказывал какое вим УГ.

bread
()
Ответ на: комментарий от bubvalet

Не сталкивался, можно пример, чтобы повторить?

Из того, что разломали пару недель назад

https://github.com/nvim-treesitter/nvim-treesitter/issues/2499 (Python)

https://github.com/nvim-treesitter/nvim-treesitter/issues/2507 (Ruby)

https://github.com/nvim-treesitter/nvim-treesitter/issues/2515 (JavaScript)

https://github.com/nvim-treesitter/nvim-treesitter/issues/2518 (Lua)

Vovka-Korovka ★★★★★
()
Последнее исправление: Vovka-Korovka (всего исправлений: 1)
Ответ на: комментарий от bread

ты ошибаешься, CoC как раз эмулирует работу VSCode, даже сервера его же использует. У CoC большая инфраструктура по дополнениям.

короче, потыкаешь настройки и у тебя поведение vscode, только в vim.

modest
()
Ответ на: комментарий от enep

В дальнейшем нужно установить плагины в редакторе

один раз пишешь array плагинов и само ставит. Там руками только кнопки назначать да действия в конфиге, всё.

modest
()
Ответ на: комментарий от patron13

Да просто форк движка Corange https://github.com/orangeduck/Corange поделки на нём и игрушка. А на снимке экрана упаковщик картинок, ну когда хочется или надо несколько текстур квадратных, но разного размера в одну упаковать. Ну и кучка других штук как моих так и уже тех что были в оригинале для разных преобразований.

LINUX-ORG-RU ★★★★★
()
Ответ на: комментарий от bubvalet

можно, например в telescope есть команда lsp_document_symbols(), показывающая примерно то же что tagbar

Lrrr ★★★★★
()
Ответ на: комментарий от patron13

Если про vim

Plugin 'justinmk/vim-syntax-extra'
Plugin 'tiagofumo/vim-nerdtree-syntax-highlight'



    set background=dark
    let g:gruvbox_contrast_dark='medium'
    let g:gruvbox_italic=v:false
    colorscheme gruvbox
    let g:airline_theme='gruvbox'
    highlight Normal    guifg=#e0e0e0 guibg=#242B3C
    highlight VertSplit guibg=#1F2531 guifg=#1F2531

Если про рабочее окружение то Arc-dark.

LINUX-ORG-RU ★★★★★
()
Последнее исправление: LINUX-ORG-RU (всего исправлений: 1)
Ответ на: комментарий от modest

короче, потыкаешь настройки и у тебя поведение vscode, только в vim.

Ну понятно. Но зачем превращать вим в это чудище?

bread
()
Ответ на: комментарий от bread

не, ты снова не понял. CoC даёт прослойку на довольно много плагинов, к которым конкретно привыкли пользователи vscode. Только без электрона, в терминале. Красит, дополняет, проверяет в реале на ошибки, быстро, без телеметрии (что тбы там апологеты не пели, а сами сервера запущены с отправкой всего и вся, htop в зубы и сразу палятся потоки нашего MS редактора, ага), ну и всякие понты - переименование, линтеры, переход на функцию, доки…

modest
()
Ответ на: комментарий от modest

Не верю, что всё это хозяйство нормально работает в виме. Ну допустим. Но оно же концептуально тормозное. Зачем же превращать вим в тормозящее подобие IDE, если есть нативное IDE, которое хоть и тормозит, но скорее всего работает без оговорок, и к нему уже все привыкли. Кроме телеметрии не вижу серьезных аргументов. То есть вопрос: зачем пользователям vscode вим, а вимерам кордебалет с нодежс, lsp и какими-то чужеродными субплагинами. Извращенцы какие-то по обе стороны. Впрочем, это же из хипстерского вима лезет, чему я удивляюсь.

bread
()
Ответ на: комментарий от enep

Так я в самом первом сообщении картинку дал первой ссылкой на второй строчке прям под твоим постом =) Ну на ещё один, у меня в vimrc каша манная никак не приберусь, да и хрен со всем. Но касаемо темы тоже на картинке https://i.ibb.co/N7XM94D/2022-02-19-22-45-35.png

LINUX-ORG-RU ★★★★★
()
Последнее исправление: LINUX-ORG-RU (всего исправлений: 2)
Ответ на: комментарий от bread

Ты спецом? Я тебе русским пишу - летает всё. Вообще, удачная реализация, хоть и на ТS. Ты просто не пробовал. Если ещё и разобраться, что ставить, то вообще «ракета». Я не агитирую, просто хипстеры давили на тех, кто умеет. Причёсывали годами, вот и получилось. остальные реализации LSP слабее и тормознее ))

modest
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.