This repository contains my personal [neovim](https://neovim.io/) configuration file. This way I am able to synchronize this configuration between different clients. ## Installation ### Install neovim On Ubuntu, with root rights, neovim can be installed through the packet manager with ```bash sudo add-apt-repository ppa:neovim-ppa/stable sudo apt-get update sudo apt-get install neovim ``` or with the AppImage ```bash curl -LO https://github.com/neovim/neovim/releases/download/nightly/nvim.appimage chmod u+x nvim.appimage ./nvim.appimage ``` Alternatively it has to be build from source: ```bash git clone https://github.com/neovim/neovim make CMAKE_BUILD_TYPE=RelWithDebInfo CMAKE_EXTRA_FLAGS="-DCMAKE_INSTALL_PREFIX=/full/path/" make install ``` ### Install plugin Manager To install plugins automatically from Github, run ```bash curl -fLo ~/.local/share/nvim/site/autoload/plug.vim --create-dirs https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim ``` Then, it is possible to install plugins in nvim with `:PlugInstall` and update them with `:UpdateRemotePlugins`. ### Install Prerequisites To make use of all plugins in the `init.vim` file some additional software has to be installed. With sudo rights on Ubuntu this can be done with: ```bash sudo apt-get install fonts-powerline sudo apt-get install exuberant-ctags sudo apt-get install cmake sudo apt-get install clang curl https://sh.rustup.rs -sSf | sh pip3 install --upgrade pip pip3 install jupyter ``` Without root rights the software has to be compiled manually. To install the powerline fonts, run: ```bash git clone https://github.com/powerline/fonts.git --depth=1 cd fonts ./install.sh cd .. rm -rf fonts ``` To compile the Exuberant Ctags, download the latest version from [their website](http://ctags.sourceforge.net/). Then run: ```bash tar -xzvf ctags-.tar.gz cd ctags-. ./configure --prefix=$HOME make && make install ``` ### Setup environment Since you don't want to use Vi(m) anymore after you setup this awesome environment, place an alias in your `~/.bashrc`: ```bash alias vi='nvim' ``` If you want to use Neovim for some (or all) of the editor alternatives, use the following commands: ```bash sudo update-alternatives --install /usr/bin/vi vi /usr/bin/nvim 60 sudo update-alternatives --config vi sudo update-alternatives --install /usr/bin/vim vim /usr/bin/nvim 60 sudo update-alternatives --config vim sudo update-alternatives --install /usr/bin/editor editor /usr/bin/nvim 60 sudo update-alternatives --config editor ``` Then, clone the repository into you local `~/.config/nvim` directory, using: ```bash git clone https://git.dennispotter.eu/Dennis/neovim-config ~/.config/nvim ``` To make sure the environment stays up to date, set ```bash (cd ~/.config/nvim && git pull) ``` in your `~/.bashrc` or as a crontab. #### Alternative synchronization If you want to be able to push changes back to the repository, setup a new git directory: ```bash cd ~/.config/nvim git init git remote add origin git@dennispotter.eu:Dennis/neovim-config.git git pull origin master ``` Again, to make sure the environment stays up to date, set ```bash (cd ~/.config/nvim && git pull origin master) ``` in a crontab.