dotfiles/README.md

98 lines
3.1 KiB
Markdown
Raw Normal View History

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
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-<X>.<Y.>tar.gz
cd ctags-<X>.<Y>
./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 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)
```
in a crontab.