Делаем из vim ide

Обновлено: 07.07.2024

Есть два популярных модуля управления, а именно Vundle и Pathogen.

Патоген простой и удобный, эффективный, установленный в плагине:

Сначала создайте две папки :

Установка успешна, присоединиться к ./VIMRC:

Способ добавления плагина прямо в Github:

Далее введите: HELPTAGS генерируют файлы справки в VIM, вы можете ввести: помочь VIM-разумной справочной справочной документ

Это установлено в этом, откройте документ справки, а затем выполните подробную конфигурацию следующего шага.

3. Установите плагин Nerdtree

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

Установка, введите команду на терминале:

После установки, Re-Open VIM, Тип: Helptags Открыть: Help Nerd_tree.txt можно настроить .vimrc

Введите команду в Vim: Nerdtree может просматривать файл.

Мой файл .vimrc добавляет следующий код:

  1. «Ярлык: используйте F3, чтобы выключить
  2. map <F3> :NERDTreeMirror <CR>
  3. map <F3> :NERDTreeToggle <CR>
  4. Конфигурация Nerdtree
  5. Пусть nerdchristmasree = 1 "показать улучшение
  6. Пусть Nerdtreautocenter = 1 "автоматическая корректировка регулировки
  7. Пусть nerdtreeshowfiles = 1 "файл дисплея
  8. Пусть nerdtreeshowlineumbers = 1 "номер линии отображения
  9. Пусть nerdtreehightcursorline = 1 "выделяет текущий файл
  10. Пусть nerdtreeshowhidden = 0 "показать скрытые файлы
  11. Пусть nerdtreyInimui = 0 "не отображает« Bookmarks 'Label »на прессу? За помощью
  12. Пусть nerdtreewinsize = 31 "ширина окна

Ярлык Nerdtree
O Включите файл OFF или каталог
T Открыть на вкладке
T Открыть на вкладке «Фон
! Выполните этот файл
P в верхний список
P в корневой каталог
К первому узлу
J до последнего узла
Вы открываете верхний список
M Меню отображения файловой системы (добавить, удалить, мобильную работу)
? помощь
Q закрыто

Часто используется: Ctrl +] Ctrl + T o

4. Автоматическое завершение: плагин Supertab

С VS2010 и Code :: Blocks, их автоматическое завершение их автоматического макияжа действительно сильна, а SuperTab имеет хорошую грамматическую полную функцию (ссылка:supertab)

После завершения установки добавьте код в .VIMRC:

  1. «Настройка SuperTab.
  2. Пусть G: SuperTabretainCompletionType = 2 "запомнить последний метод завершения до тех пор, пока не нажмет Esc, чтобы выйти из режима вставки
  3. Пусть g: supertabdefaultcompletionType = "<c-x> <c-o>" "после нажатия нажатия вкладки, полномасштабная полномасштабная« C-P »теперь изменяется, и теперь она изменяется на <C-X> <C-O>

Есть еще много полных способов, которые вы можете войти: Help Ins-Company или: Help Come Amni Больше

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

5.CCTAGS и Plugins Taglist

Инструмент CTAGS используется для генерации файла тегов по всему файлу исходного кода, который можно использовать редакторами или другими инструментами для быстрого поиска символов (тег / символ) в исходном коде позиционирования, например, имена переменной, имена функций. Например, файл тегов является основой для TagList и OmnicPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPCELETE. Программа PCTAGS называется «Exuberant CTAGS».

Чтобы облегчить использование исходного кода чтения VIM, список тегов этот плагин VIM незаменим. Это плагин VIM для просмотра исходного кода. Очень удобно использовать его, мы можем обзорной структуре исходного кода и просмотра прыжка в каждом исходном файле. Плагин списка тегов требует поддержки CTAGS (динамически сгенерированный файл тега).

Есть два способа установки CTAGS:

Введите команду для установки: sudo apt-get install ctags

Введите папку и введите в терминал:

  1. $./configure
  2. $make
  3. $sudo make install

Введите команду в папке исходного кода вашего проекта:

«$ CTAGS -R *»: «- R» означает рекурсивное создание, которое включает в себя все подкаталоги в соответствии с корневым каталогом исходного кода (текущий каталог). «*» Означает все файлы. Эта команда генерирует файл «тегов» в текущем каталоге, который автоматически загружает этот файл тегов при запуске VI в текущем каталоге.

После декомпрессии находится непосредственно ниже

/ .vim / bundle, (возникшая проблема не открывать: helptags) может открывать taglist.txt для настройки в соответствии с информацией внутри

То же самое в .vimrc плюс следующий код конфигурации

  1. Информация о конфигурации Taglist
  2. let Tlist_Auto_Open=1 " Let the tag list open automatically
  3. let Tlist_Auto_Update=1 " Update the tag list automatically
  4. let Tlist_Compact_Format=1 " Hide help menu
  5. let Tlist_Ctags_Cmd='ctags' " Location of ctags
  6. let Tlist_Enable_Fold_Column=0 "do show folding tree
  7. let Tlist_Process_File_Always=1 " Always process the source file
  8. let Tlist_Show_One_File=1 " Only show the tag list of current file
  9. let Tlist_Exist_OnlyWindow=1 " If you are the last, kill yourself
  10. let Tlist_File_Fold_Auto_Close=0 " Fold closed other trees
  11. let Tlist_Sort_Type="name" " Order by name
  12. let Tlist_WinWidth=30 " Set the window 40 cols wide.
  13. let Tlist_Close_On_Select=1 " Close the list when a item is selected
  14. let Tlist_Use_SingleClick=1 "Go To Target By SingleClick
  15. Пусть tlist_use_right_window = 1 "отображение справа
  16. «Открыть закрыть ярлык
  17. map <silent> <F2> :TlistToggle<CR>

Это очень удобно использовать: используйте команду: $ ctags -r введите vim откройте f2

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

6. Мой файл .vimrc и фактическая диаграмма эффекта


Фактическое изображение эффекта заключается в следующем, Hotkeys F2, F3 (включите дерево каталога тегов и Taglist), вкладку клавишу (автоматическое многократное)



Есть еще много отличных плагинов, эта яма ждет и т. Д.

Больше инструкций можно ввести в VIM: Помощь Просмотр различных ручной справочники

Привет, коллеги. Интегрированные среды разработки, кратко IDE, часто идут в комплекте с компилятором для того или иного языка и облегчают процесс разработки программного обеспечения. Я тоже начинал с таких, но потом, когда пришлось работать, в основном, на кластере через ssh или на Перл, привык к командной строке. А потом освоил Вим и теперь мне не нужны никакие IDE: Вим дает все возможности, сам являясь отличной IDE. При минимуме настройки.

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

Итак, что мы ждем от IDE?

Редактор исходного текста

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

Все это в Виме есть. Подсветка синтаксиса имеется ( :syntax on ), причем для большинства языков, о которых вы слыхали. Если нет для какой-то экзотики, можно скачать. Если вдруг и скачать еще нельзя, можно сделать файл синтаксиса самому, это не так сложно, особенно по образцу. Явные ошибки подсвечиваются тревожно-красным.

Вкладки ( :tabnew ) позволяют независимо редактировать много файлов, а в каждой вкладке можно открыть несколько окон ( :split или :vsplit ). Кроме того, есть список файлов ( :args ), длина которого вообще не ограничена, и можно переходить от одного к другому ( :next , :prev ).

Для сравнения файлов есть инструмент vimdiff , но те же возможности можно настроить для двух окон вручную ( :set diff , :set foldmethod=diff , :set cursorbind в каждом из двух окон).

Номера строк , абсолютные и относительные, тоже есть ( :set number , :set relativenumber ).

Фолдинг , сворачивание блоков кода, есть ручной (:set foldmethod=manual), по синтаксису (set foldmethod=syntax) и иные. Для начала работы с автоматическим фолдингом хватит команд zo и zc (одна раскравает фолд, другая закрывает).

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

Отступы делаются автоматически или восстанавливаются одной командой =. Например, gg=G расставит отступы во всем файле.

Уверен, у кого-то возникнет вопрос: «Зачем в 2021-ом пользоваться -vim- neovim, когда есть замечательный Goland?». Я до какого-то времени сам пользовался только продуктами от JetBrains, но вот уже более 1.5 лет пишу исключительно в vim.

Основной причиной для моего перехода с Goland стала его прожорливость. Отдавать по 3-4 Гб программе, которая просто подсказывает мне названия методов, запускает тесты и реализует «Go to definition», очень расточительно. Вкупе с непонятной политикой индексации проекта, когда у тебя в момент взывают куллеры, а батарейка на глазах тает, привело меня к vim.

Наша сборка будет зиждиться на двух китах: vim-go и coc.nvim, как LSP клиент к gopls. Vim-go будет отвечать за сборку нашего проект, запуск тестов, форматирование кода, отладку, Go Docs. Coc.nvim + gopls будут отвечать за реализацию «Go to definition», автокомплит, переименование, короче за все то, что из простого редактора делает удобный в использовании инструмент.

Установка необходимых зависимостей

Чтобы настроить neovim его необходимо сначала поставить 😄. Для macOS, а именно на этой системе я работаю, установка происходит в одну команду:

После установки стоит создать файл

/.config/nvim/init.vim . Это аналог .vimrc , в нем происходит вся настройка neovim.

brew это пакетный менеджер. Более подробно о том, как его установить можно прочить на официальном сайте.

vim-plug — менеджер плагинов для vim/neovim. Установка проста:

yarn необходим coc.nvim для автокомплита. Установка, как и в случае с vim-plug в одну команду:

Установка vim-go

И так, мы установили все необходимы зависимости, а следовательно, готовы перейти к главной части. Сначала установим vim-go.

Все очень просто. Открываем созданный нами ранее файл

/.config/nvim/init.vim и вписываем в него следующий текст:

В этом блоке мы описываем те плагины, которые хотим установить в neovim, мы еще не раз к нему вернемся. После изменения

/.config/nvim/init.vim в консоле выполняем последовательно две команды:

Установка coc.nvim

/.config/nvim/init.vim и добавляем Plug 'neoclide/coc.nvim', после строки Plug 'fatih/vim-go' . На данный момент ваш init.vim файл должен выглядит так:

Устанавливаем плагин командой nvim +PlugInstall .

После установки рекомендую дополнить свой init.vim файл для начала дефолтной конфигураций coc.nvim. Также стоит добавить в init.vim следующую строчку, которая отключает «Go to definition» через сочетание gd в vim-go, мы же хотим, чтобы этим занимался gopls:

Чтобы проверить, что все установилось правильно зайдите в neovim и выполните :CocInfo . Команда должна вывести что-то похожее на:

Настройка coc.nvim

Для настройки coc.nvim создайте файл

/.config/nvim/coc-settings.json со следующим содержимым:

Последние штрихи

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

Устанавливаем nerdtree

Чтобы удобно работать необходимо иметь возможность видеть дерево проекта. В этом нам поможет nerdtree. Добавляем плагин в init.vim Plug 'preservim/nerdtree’ и устанавливаем nvim +PlugInstall . Приправим nerdtree небольшой настройкой в init.vim:

А как же глобальный поиск?

Иногда «Go to definition» недостаточно и нужен поиск по всему проекту. В этом нам поможет fzf. В init.vim добавляем плагин:

Устанавливаем уже знакомой командой nvim +PlugInstall . Остался последний шаг установить the_silver_searcher. Тут тоже все просто: brew install the_silver_searcher . Теперь мы можем искать по всему проекту простой командой :Ag <то что хотим найти> .

Т.е., vim , конечно, прекрасен и сам по себе, но сейчас начал в очередной раз ковырять Golang, и очень напрягает писать функции в ЭтОмВоТдУрАцКоМкЕмЕлСтАйЛе и постоянно shift-тить, а потому начал искать плагин для автодополнения имён.

Установка плагинов

Путь к ней определяется в vim параметром runtimepath , проверить его можно с помощью :set runtimepath? :



При необходимости его можно изменить, задав в

Установка vim-plug

Дальнейшие примеры будут с использование менеджера vim-plug .

Загружаем файл плагина в каталог .vim/autoload , что бы бы загружался при запуске vim :

Цветовая схема

Просмотреть имещиеся можно с помощью :colorscheme +пробел+Ctrl+D:


Большая коллекция схем тут>>>.


И вызываем :PlugInstal :


(vim поддерживает автодополнение команд по TAB, а обновить плагины, установленные с помощью vim-plug можно с помощью PlugUpdate )


Добавляем тему в .vimrc :


Полезные плагины

lightline

Добавляем Plug 'itchyny/lightline.vim' :




NERDTree

Ещё один плагин, который очень упрощает навигацию по каталогам-файлам, не выходя из vim .


Повторяем установку, как в примерах выше, и вызываем меню по Ctrl+n:






vim-go

Проверяем PATH в

Выполняем :source .vimrc , :PlugInstall , и вызываем :GoInstallBinaries :


Запускаем vim , и проверяем:


Кроме автоподстановки vim-go умеет и многое другое, см. команды тут>>>.

syntastic

Рекомендуемые опции для него:

Читайте также: