1
0
mirror of https://github.com/jdhao/nvim-config.git synced 2025-06-08 14:14:33 +02:00

Update README.md

This commit is contained in:
jdhao 2020-08-12 17:07:14 +08:00 committed by GitHub
parent a345722eab
commit ab776cfe6f
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -1,25 +1,26 @@
# Pre-requisite # Pre-requisite
There are a few requirements if you want to use Neovim for efficient editing There are a few dependencies if we want to use Neovim for efficient editing
and development work. and development work.
## Python ## Python
A lot of Neovim plugins are mainly written in Python. To use auto-completion 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 and other features, we must install Python 3. The easiest way to install is via
via [Anaconda](https://www.anaconda.com/distribution/#download-section). Make [Anaconda](https://www.anaconda.com/distribution/#download-section) or
sure that the output of `python --version` on the command line shows that [Miniconda](https://docs.conda.io/en/latest/miniconda.html). Make sure that the
Python 3.x is installed. output of `python --version` on the command line shows that Python 3.x is
installed.
## Pynvim ## Pynvim
Neovim relies on [pynvim](https://github.com/neovim/pynvim) to communicate with 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 plugins that utilize its Python binding. Pynvim is required by plugins such as
[Deoplete](https://github.com/Shougo/deoplete.nvim). [Deoplete](https://github.com/Shougo/deoplete.nvim) and [Semshi](https://github.com/numirias/semshi).
## Jedi ## Jedi
For Python code auto-completion to work, you need to install For Python code auto-completion to work, we need to install
[Jedi](https://github.com/davidhalter/jedi): [Jedi](https://github.com/davidhalter/jedi):
``` ```
@ -31,8 +32,8 @@ pip install jedi
Git is used by the 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. other Git repositories.
Since Git is usually pre-installed on Linux and Mac, you do not need to worry Since Git is usually pre-installed on Linux and Mac, we do not need to worry
if you are on these two platforms. For Windows, install [Git for if we are on these two platforms. For Windows, install [Git for
Windows](https://git-scm.com/download/win) and make sure you can call `git` Windows](https://git-scm.com/download/win) and make sure you can call `git`
from the command line. from the command line.
@ -40,17 +41,17 @@ from the command line.
In order to use tags related plugins such as In order to use tags related plugins such as
[tagbar](/github.com/majutsushi/tagbar) and [tagbar](/github.com/majutsushi/tagbar) and
[gutentags](https://github.com/ludovicchabant/vim-gutentags), you need to [gutentags](https://github.com/ludovicchabant/vim-gutentags), we need to
install a ctags distribution. Universal ctags is preferred. install a ctags distribution. Universal ctags is preferred.
To install ctags on Mac, [use Homebrew](https://github.com/universal-ctags/homebrew-universal-ctags). To install ctags on Mac, use [Homebrew](https://github.com/universal-ctags/homebrew-universal-ctags).
To install it Windows, [use chocolatey](https://chocolatey.org/packages/universal-ctags): To install it Windows, [use chocolatey](https://chocolatey.org/packages/universal-ctags):
``` ```
choco install universal-ctags choco install universal-ctags
``` ```
To install it on Linux, you need to build it yourself. See To install it on Linux, we need to build it from source. 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. for the details.
@ -58,37 +59,38 @@ Set its PATH properly and make sure you can call `ctags` from command line.
## Ripgrep ## Ripgrep
[Ripgrep](https://github.com/BurntSushi/ripgrep), aka, rg, is fast grep tool [Ripgrep](https://github.com/BurntSushi/ripgrep), aka, `rg`, is a fast grep
available for both Linux, Windows and Mac. It is used by several searching tool available for both Linux, Windows and Mac. It is used by several searching
plugins. plugins.
For Windows and Mac, you can install it via chocolatey and homebrew For Windows and Mac, we can install it via chocolatey and homebrew
respectively. For Linux, you can download the executable file from its [release respectively. For Linux, we can download the executable file from its [release
page](https://github.com/BurntSushi/ripgrep/releases) and install it. page](https://github.com/BurntSushi/ripgrep/releases) and install it.
## Linters ## Linters
A linter is a tool to check your code for possible style issues or errors. A linter is a tool to check the source code for possible style and syntatic
Based on your programming languages, you may need to install various linters. issues. Based on the programming languages we use, we 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 + 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)). the pre-release versions because of [this issue](https://github.com/Kuniwak/vint/issues/290)).
For other linters, please consult the plugin documentation. For Neomake (which For other linters, please consult the plugin documentation. For
is the linting plugin I currently use), a list of makers (i.e., linters) for ALE(https://github.com/dense-analysis/ale) (which is the linting plugin I
different languages is listed currently use), a list of linters for different languages is
[here](https://github.com/neomake/neomake/wiki/Makers). listed [here](https://github.com/dense-analysis/ale/blob/master/supported-tools.md).
## Terminal emulators ## Terminal emulators
Which [terminal emulator](https://en.wikipedia.org/wiki/Terminal_emulator) you Which [terminal emulator](https://en.wikipedia.org/wiki/Terminal_emulator) we
choose to use greatly affects the appearance and functionalities of Neovim. choose to use greatly affects the appearance and functionalities of Neovim.
Since Neovim supports true colors, terminals which support true colors are Since Neovim supports true colors, terminals that support true colors are
preferred. For a list of terminals which support true colors, see preferred. For a list of terminals that support true colors, see
[here](https://github.com/termstandard/colors). [here](https://github.com/termstandard/colors).
For Mac, you can use [iterm2](https://www.iterm2.com/), For Mac, we can use [iterm2](https://www.iterm2.com/),
[kitty](https://sw.kovidgoyal.net/kitty/) or [kitty](https://sw.kovidgoyal.net/kitty/) or
[Alacritty](https://github.com/jwilm/alacritty). If you connect to Linux server [Alacritty](https://github.com/jwilm/alacritty). If you connect to Linux server
on Windows, I recommend [wsltty](https://github.com/mintty/wsltty) and on Windows, I recommend [wsltty](https://github.com/mintty/wsltty) and
@ -97,10 +99,10 @@ on Windows, I recommend [wsltty](https://github.com/mintty/wsltty) and
## Font ## Font
Since Vim-airline uses several symbols not available in normal font, you need Since [Vim-airline](https://github.com/vim-airline/vim-airline) uses several
to install [fonts here](https://github.com/powerline/fonts) to make vim-airline symbols not available in normal font, we need to install [fonts
look pretty. I am using here](https://github.com/powerline/fonts) to make vim-airline look pretty. I am
[Hack](https://github.com/powerline/fonts/tree/master/Hack), and it looks using [Hack](https://github.com/powerline/fonts/tree/master/Hack), and it looks
great. Another great resource for programming font is the great. Another great resource for programming font is the
[nerd-font](https://github.com/ryanoasis/nerd-fonts) project. [nerd-font](https://github.com/ryanoasis/nerd-fonts) project.
@ -113,7 +115,7 @@ There are various ways to install Neovim based on your system.
Follow the official guide and download the appimage from the [release Follow the official guide and download the appimage from the [release
page](https://github.com/neovim/neovim/releases/nightly). page](https://github.com/neovim/neovim/releases/nightly).
For some Linux systems, you may not be able to run the appimage. You can For some Linux systems, we may not be able to run the appimage. We can
directly download the binary release from 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. [here](https://github.com/neovim/neovim/releases/download/nightly/nvim-linux64.tar.gz) and extract it to run Neovim.
@ -121,7 +123,7 @@ directly download the binary release from
The easiest way to install Neovim on Windows is via The easiest way to install Neovim on Windows is via
[chocolatey](https://chocolatey.org/install). First, install chocolatey. Then [chocolatey](https://chocolatey.org/install). First, install chocolatey. Then
you can install neovim easily with we can install neovim easily with
``` ```
# install latest version of neovim # install latest version of neovim
@ -130,9 +132,9 @@ you can install neovim easily with
choco install neovim choco install neovim
``` ```
The Neovim that chocolatey installs may not the latest version. To keep The Neovim that chocolatey installs may not be up to date. To use the
up-to-date with the latest features of Neovim, you may download the latest cutting-edge features of Neovim, you may download [the nightly
[binary release](https://github.com/neovim/neovim/releases/download/nightly/nvim-win64.zip) release](https://github.com/neovim/neovim/releases/download/nightly/nvim-win64.zip)
from GitHub and manually extract it. from GitHub and manually extract it.
## Mac ## Mac
@ -147,8 +149,8 @@ brew install neovim
# brew install --HEAD neovim # brew install --HEAD neovim
``` ```
After installing Neovim, you may need to add the directory where the Neovim After installing Neovim, we need to add the directory where the Neovim
executable (`nvim` on Linux and Mac, `nvim.exe` on Windows) resides to your executable (`nvim` on Linux and Mac, `nvim.exe` on Windows) resides to the
system `PATH`. system `PATH`.
Make sure that you can call `nvim` from the command line after all these setup. Make sure that you can call `nvim` from the command line after all these setup.
@ -158,7 +160,7 @@ Make sure that you can call `nvim` from the command line after all these setup.
## How to install this configuration ## How to install this configuration
On Windows, the config directory is `$HOME/AppData/Local/nvim`[^1]. On Linux On Windows, the config directory is `$HOME/AppData/Local/nvim`[^1]. On Linux
and Mac, the directory is `~/.config/nvim`. First, you need to remove all the and Mac, the directory is `~/.config/nvim`. First, we need to remove all the
files under the config directory (including dot files), then use the following files under the config directory (including dot files), then use the following
command to install this configuration: command to install this configuration:
@ -166,10 +168,10 @@ command to install this configuration:
git clone https://github.com/jdhao/nvim-config.git . git clone https://github.com/jdhao/nvim-config.git .
``` ```
After that, when you first open nvim, all the plugins included in this After that, when we first open nvim, all the plugins included in this
configuration will be installed automatically for you. Since I use quite a lot configuration will be installed automatically for you (for Windows and Mac).
of plugins (around 60 plugins), it may take some time to install all of them, Since I use quite a lot of plugins (around 60 plugins), it may take some time
depending on your network connection speed. to install all of them, depending on your network condition.
# Automatic Installation # # Automatic Installation #