From 1dcbc1ae185bc56342ce8182a143a1462fd8fcfc Mon Sep 17 00:00:00 2001 From: jdhao Date: Thu, 26 Dec 2019 01:07:49 +0800 Subject: [PATCH] Update doc on Nvim install and setup --- docs/README.md | 60 +++++++++++++++++++++++++++----------------------- 1 file changed, 33 insertions(+), 27 deletions(-) diff --git a/docs/README.md b/docs/README.md index f91129e..0f0eaf7 100644 --- a/docs/README.md +++ b/docs/README.md @@ -5,16 +5,17 @@ and development work. ## Python -To use auto-completion and other features, you must install Python 3. The -easiest way to install Python 3 is via -[Anaconda](https://www.anaconda.com/distribution/#download-section). Make sure -that the output of `python --version` shows that Python 3.x is installed. +A lot of Neovim plugins are mainly written in Python. To use auto-completion +and other features, you must install Python 3. The easiest way to install is +via [Anaconda](https://www.anaconda.com/distribution/#download-section). Make +sure that the output of `python --version` on the command line shows that +Python 3.x is installed. ## Pynvim Neovim relies on [pynvim](https://github.com/neovim/pynvim) to communicate with plugins which utilizes its Python binding. Pynvim is required by plugin such as -Deoplete. +[Deoplete](https://github.com/Shougo/deoplete.nvim). ## Jedi @@ -27,7 +28,7 @@ pip install jedi ## Git -Git is used by plugin manager vim-plug to download plugins from GitHub or +Git is used by the plugin manager vim-plug to download plugins from GitHub or other Git repositories. Since Git is usually pre-installed on Linux and Mac, you do not need to worry @@ -50,26 +51,27 @@ choco install universal-ctags ``` To install it on Linux, you need to build it yourself. See -[here](https://askubuntu.com/questions/796408/installing-and-using-universal-ctags-instead-of-exuberant-ctags/836521#836521). +[here](https://askubuntu.com/questions/796408/installing-and-using-universal-ctags-instead-of-exuberant-ctags/836521#836521) +for the details. Set its PATH properly and make sure you can call `ctags` from command line. ## Ripgrep -Ripgrep is fast grep tool available for both Linux, Windows and Mac. It is used -by several searching plugins. +[Ripgrep](https://github.com/BurntSushi/ripgrep), aka, rg, is fast grep tool +available for both Linux, Windows and Mac. It is used by several searching +plugins. -For Windows and Mac, you can install it via chocolatey and homebrew. For Linux, -you can download from its [release +For Windows and Mac, you can install it via chocolatey and homebrew +respectively. For Linux, you can download the executable file from its [release page](https://github.com/BurntSushi/ripgrep/releases) and install it. ## Linters -A linter is a tool to check your code for possible issues or errors. Based on -your programming languages, you may need to install various linters. +A linter is a tool to check your code for possible style issues or errors. +Based on your programming languages, you may need to install various linters. -+ Python: [pylint](https://github.com/PyCQA/pylint) and - [flake8](https://github.com/PyCQA/flake8). ++ Python: [pylint](https://github.com/PyCQA/pylint) and [flake8](https://github.com/PyCQA/flake8). + Vim script: [vint](https://github.com/Kuniwak/vint) (You may need to install the pre-release versions because of [this issue](https://github.com/Kuniwak/vint/issues/290)). @@ -81,13 +83,15 @@ different languages is listed ## Terminal emulators Which [terminal emulator](https://en.wikipedia.org/wiki/Terminal_emulator) you -are using greatly affects the appearance and functionalities of Neovim. Since -Neovim supports true colors, terminals which support true colors are -recommended. For a list of terminals which support true colors, see +choose to use greatly affects the appearance and functionalities of Neovim. +Since Neovim supports true colors, terminals which support true colors are +preferred. For a list of terminals which support true colors, see [here](https://github.com/termstandard/colors). -For Mac, you can use [iterm2](https://www.iterm2.com/). If you connect to Linux -server on Windows, I recommend [wsltty](https://github.com/mintty/wsltty) and +For Mac, you can use [iterm2](https://www.iterm2.com/), +[kitty](https://sw.kovidgoyal.net/kitty/) or +[Alacritty](https://github.com/jwilm/alacritty). If you connect to Linux server +on Windows, I recommend [wsltty](https://github.com/mintty/wsltty) and [Cygwin](https://www.cygwin.com/), both of them use [mintty](https://github.com/mintty/mintty) as the terminal emulator. @@ -97,9 +101,10 @@ Since Vim-airline uses several symbols not available in normal font, you need to install [fonts here](https://github.com/powerline/fonts) to make vim-airline look pretty. I am using [Hack](https://github.com/powerline/fonts/tree/master/Hack), and it looks -great. +great. Another great resource for programming font is the +[nerd-font](https://github.com/ryanoasis/nerd-fonts) project. -# How to Install Neovim +# Install Neovim There are various ways to install Neovim based on your system. @@ -109,9 +114,8 @@ Follow the official guide and download the appimage from the [release page](https://github.com/neovim/neovim/releases/nightly). For some Linux systems, you may not be able to run the appimage. You can -directly download the tar ball from -[here](https://github.com/neovim/neovim/releases/download/nightly/nvim-linux64.tar.gz) -and extract it to run Neovim. +directly download the binary release from +[here](https://github.com/neovim/neovim/releases/download/nightly/nvim-linux64.tar.gz) and extract it to run Neovim. ## Windows @@ -128,7 +132,8 @@ choco install neovim The Neovim that chocolatey installs may not the latest version. To keep up-to-date with the latest features of Neovim, you may download the latest -release from GitHub and manually extract it. +[binary release](https://github.com/neovim/neovim/releases/download/nightly/nvim-win64.zip) +from GitHub and manually extract it. ## Mac @@ -173,4 +178,5 @@ To set up a workable Neovim environment in Linux, I use the script dependencies, Neovim itself and Nvim configs in this repo. Note that the variable `PYTHON_INSTALLED`, `SYSTEM_PYTHON` and -`ADD_TO_SYSTEM_PATH` should be set properly based on your situation. +`ADD_TO_SYSTEM_PATH` in the script should be set properly based on your +environment.