В связи с большим интересом к NeoVim, я решил также попробовать его в работе. Позже я напишу, как настроить IDE для Vim.
В результате мы должны получить следующий функционал:
- подсветка синтаксиса
- подсветка ошибок
- быстрое перемещение по тексту и файлам
- удобная работа с Git
- встроенная Нейросеть
- встроенный переводчик (EN-RU)
- запуск нескольких конфигураций NeoVim. (Минимум плагинов, максимум, IDE, эксперименты и прочее)
- быстрое комментирование кода
- и прочее.
Вы можете и NeoVim и GCC и GDB все устанавливать из официальных репозиториев. Но я решил установить все самое свеженькое и последнее.
(Все команды будут выполняться от имени пользователя, поэтому не будем указывать символы $ и #, так как они только затрудняют копирование текста.)
Надеюсь у вас уже стоит и make и gсс. Да для того что бы скомпилировать компилятор нам нужен компилятор, если нет надо их установить
sudo apt install make g++
Установка GCC из исходников
Внимание! Размер репозитория. почти 3.5 гигов.
cd
git clone git://gcc.gnu.org/git/gcc.git
или
git clone https://github.com/gcc-mirror/gcc.git
cd gcc
./configure
возможно у вас может появиться такая ошибка:
для ее исправления делаем следующее (Скрипт загружает необходимые предварительные требования (prerequisites) для сборки проекта. Это могут быть сторонние библиотеки, инструменты или другие ресурсы, необходимые для успешной компиляции и сборки проекта.):
./contrib/download_prerequisites
./configure
Теперь можем получить эту ошибку:
Исправляем После установки gcc-multilib позволяет компилировать 32-битные и 64-битные программы на 64-битных системах, в будущем вы сможете использовать флаги -m32 или -m64 с компилятором GCC для переключения между 32-битной и 64-битной сборкой:
sudo apt install gcc-multilib
./configure
Такое обилие ошибок связано с тем что я собирал gcc на разных машинах.
собираем теперь наш gcc и идем пить чай.
make
не долго музыка играла. еще одна ошибка :) 'flex' is missing on your system
Исправляем, устанавливаем инструмент Flex, который является генератором лексических анализаторов. Flex используется для распознавания лексических шаблонов в текстовых входных данных и выполняет действия, связанные с этими шаблонами.
sudo apt install flex
make
Теперь ругается на
Нам надо обновить конфигурацию. Давайте, все начнем с начала. Запускаем... и идем обедать. 3.5 гига быстро не скомпилируются. На сборку может понадобиться часа два если не больше.
Так же надо установить :
sudo apt-get install libgmp-dev libmpfr-dev libmpc-dev
make clean
./configure
make
sudo make install
Не прошло и трех часов... Хотя вру.. прошло больше 3х часов
sudo make install поместил наш gcc в /usr/local/bin/
версия скаченная из репозитория лежит в /usr/bin
как видим версия с гитхаба гораздо свежее, чтобы всегда использовался наш gcc надо внести изменение в файл ~/.bashrc
vim ~/.bashrc
в конце файла добавляем:
export PATH="/usr/local/bin:$PATH"
Я ожидаю что вы уже были знакомы с Vim. Хотя возможно вы захотите изучать Vim в деле используя его как IDE ( G - переместиться в конец документа. o - вставить строку снизу. <esc> выйти из режима вставки :wq<enter> - сохранить документ и выйти из vim
обновляем настройки bash. Что бы нам не перезапускать терминал. Теперь изменения вступят в силу.
source ~/.bashrc
создаем простенький main.cpp
#include <iostream>
int main (){
std::cout << "Привет мир!" << std::endl;
return 0;
}
компилируем, запускаем
g++ main.cpp
./a.out
Опять ошибка путь в ~/.bashrc к gcc указали, а к библиотекам нет.
исправляем в конце файла ~/.bashrc дописываем. Эта команда добавляет директорию /usr/local/lib64 в переменную LD_LIBRARY_PATH, которая используется для поиска динамических библиотек. Если планируете компилировать для 32 битных версий добавьте /usr/local/lib32
export LD_LIBRARY_PATH=/usr/local/lib64:$LD_LIBRARY_PATH
export LD_LIBRARY_PATH=/usr/local/lib32:$LD_LIBRARY_PATH
обновляем настройки bash. Что бы нам не перезапускать терминал. Теперь изменения вступят в силу.
source ~/.bashrc
Проверяем. Версия для 64 битных и 32 битных систем нормально собирается. Отлично
Сборка NeoVim
Устанавливать NeoVim будем из исходных кодов. Для этого скачаем исходные коды на наш компьютер.
git clone https://github.com/neovim/neovim.git
cd ~/neovim
make
Я в Ubuntu 22.04 при попытке собрать программу получил ошибку
Для того что бы исправить эту ошибку необходимо установить gettext
sudo apt install gettext
Теперь сборка make прошла без ошибок:
далее нам необходимо установить собранную программу в наш Ubuntu
sudo make install
Проверяем
nvim
Все отлично. Устанавливаем следующие программы:
sudo apt install git python3-dev gdb clang
git система для управления версиями программ.
python3-dev инструменты Питона нужны для некоторых плагинов
GDB отладчик. С его помощью мы можем отлаживать программы. Работа с ним отдельная тема.
Clang Еще один компилятор, который позволит поймать те ошибки которые пропустит g++.
Далее ... Базовая настройка NeoVim