@@ -17,49 +17,65 @@ A starting point for Neovim that is:
1717Kickstart.nvim targets * only* the latest
1818[ 'stable'] ( https://github.com/neovim/neovim/releases/tag/stable ) and latest
1919[ 'nightly'] ( https://github.com/neovim/neovim/releases/tag/nightly ) of Neovim.
20- If you are experiencing issues, please make sure you have the latest versions.
20+ If you are experiencing issues, please make sure you have at least the latest
21+ stable version. Most likely, you want to install neovim via a [ package
22+ manager] ( https://github.com/neovim/neovim/blob/master/INSTALL.md#install-from-package ) .
23+ To check your neovim version, run ` nvim --version ` and make sure it is not
24+ below the latest
25+ [ 'stable'] ( https://github.com/neovim/neovim/releases/tag/stable ) version. If
26+ your chosen install method only gives you an outdated version of neovim, find
27+ alternative [ installation methods below] ( #alternative-neovim-installation-methods ) .
2128
2229### Install External Dependencies
2330
2431External Requirements:
2532- Basic utils: ` git ` , ` make ` , ` unzip ` , C Compiler (` gcc ` )
26- - [ ripgrep] ( https://github.com/BurntSushi/ripgrep#installation )
33+ - [ ripgrep] ( https://github.com/BurntSushi/ripgrep#installation ) ,
34+ [ fd-find] ( https://github.com/sharkdp/fd#installation )
35+ - [ tree-sitter CLI] ( https://github.com/tree-sitter/tree-sitter/blob/master/crates/cli/README.md#installation )
36+ - Clipboard tool (xclip/xsel/win32yank or other depending on the platform)
2737- A [ Nerd Font] ( https://www.nerdfonts.com/ ) : optional, provides various icons
2838 - if you have it set ` vim.g.have_nerd_font ` in ` init.lua ` to true
39+ - Emoji fonts (Ubuntu only, and only if you want emoji!) ` sudo apt install fonts-noto-color-emoji `
2940- Language Setup:
30- - If want to write Typescript, you need ` npm `
31- - If want to write Golang, you will need ` go `
41+ - If you want to write Typescript, you need ` npm `
42+ - If you want to write Golang, you will need ` go `
3243 - etc.
3344
34- > ** NOTE**
45+ > [ ! NOTE]
3546> See [ Install Recipes] ( #Install-Recipes ) for additional Windows and Linux specific notes
3647> and quick install snippets
3748
3849### Install Kickstart
3950
40- > ** NOTE**
51+ > [ ! NOTE]
4152> [ Backup] ( #FAQ ) your previous configuration (if any exists)
4253
4354Neovim's configurations are located under the following paths, depending on your OS:
4455
4556| OS | PATH |
4657| :- | :--- |
4758| Linux, MacOS | ` $XDG_CONFIG_HOME/nvim ` , ` ~/.config/nvim ` |
48- | Windows (cmd)| ` %userprofile%\AppData\Local \nvim\ ` |
49- | Windows (powershell)| ` $env:USERPROFILE\AppData\Local \nvim\ ` |
59+ | Windows (cmd)| ` %localappdata% \nvim\ ` |
60+ | Windows (powershell)| ` $env:LOCALAPPDATA \nvim\ ` |
5061
5162#### Recommended Step
5263
5364[ Fork] ( https://docs.github.com/en/get-started/quickstart/fork-a-repo ) this repo
5465so that you have your own copy that you can modify, then install by cloning the
5566fork to your machine using one of the commands below, depending on your OS.
5667
57- > ** NOTE**
58- > Your fork's url will be something like this:
68+ > [ ! NOTE]
69+ > Your fork's URL will be something like this:
5970> ` https://github.com/<your_github_username>/kickstart.nvim.git `
6071
72+ You likely want to remove ` lazy-lock.json ` from your fork's ` .gitignore ` file
73+ too - it's ignored in the kickstart repo to make maintenance easier, but it's
74+ [ recommended to track it in version control] ( https://lazy.folke.io/usage/lockfile ) .
75+
6176#### Clone kickstart.nvim
62- > ** NOTE**
77+
78+ > [ !NOTE]
6379> If following the recommended step above (i.e., forking the repo), replace
6480> ` nvim-lua ` with ` <your_github_username> ` in the commands below
6581
@@ -76,13 +92,13 @@ git clone https://github.com/nvim-lua/kickstart.nvim.git "${XDG_CONFIG_HOME:-$HO
7692If you're using ` cmd.exe ` :
7793
7894```
79- git clone https://github.com/nvim-lua/kickstart.nvim.git %userprofile%\AppData\Local\ nvim\
95+ git clone https://github.com/nvim-lua/kickstart.nvim.git "%localappdata%\ nvim"
8096```
8197
8298If you're using ` powershell.exe `
8399
84100```
85- git clone https://github.com/nvim-lua/kickstart.nvim.git $ env:USERPROFILE\AppData\Local\ nvim\
101+ git clone https://github.com/nvim-lua/kickstart.nvim.git "${ env:LOCALAPPDATA}\ nvim"
86102```
87103
88104</details >
@@ -96,22 +112,27 @@ nvim
96112```
97113
98114That's it! Lazy will install all the plugins you have. Use ` :Lazy ` to view
99- current plugin status. Hit ` q ` to close the window.
115+ the current plugin status. Hit ` q ` to close the window.
116+
117+ #### Read The Friendly Documentation
100118
101119Read through the ` init.lua ` file in your configuration folder for more
102120information about extending and exploring Neovim. That also includes
103121examples of adding popularly requested plugins.
104122
123+ > [ !NOTE]
124+ > For more information about a particular plugin check its repository's documentation.
125+
105126
106127### Getting Started
107128
108129[ The Only Video You Need to Get Started with Neovim] ( https://youtu.be/m8C0Cq9Uv9o )
109130
110131### FAQ
111132
112- * What should I do if I already have a pre-existing neovim configuration?
133+ * What should I do if I already have a pre-existing Neovim configuration?
113134 * You should back it up and then delete all associated files.
114- * This includes your existing init.lua and the neovim files in ` ~/.local `
135+ * This includes your existing init.lua and the Neovim files in ` ~/.local `
115136 which can be deleted with ` rm -rf ~/.local/share/nvim/ `
116137* Can I keep my existing configuration in parallel to kickstart?
117138 * Yes! You can use [ NVIM_APPNAME] ( https://neovim.io/doc/user/starting.html#%24NVIM_APPNAME ) ` =nvim-NAME `
@@ -125,12 +146,12 @@ examples of adding popularly requested plugins.
125146 `~/.local/share/nvim-kickstart`. You can apply this approach to any Neovim
126147 distribution that you would like to try out.
127148* What if I want to "uninstall" this configuration:
128- * See [lazy.nvim uninstall](https://github.com/ folke/lazy.nvim #-uninstalling) information
149+ * See [lazy.nvim uninstall](https://lazy. folke.io/usage #-uninstalling) information
129150* Why is the kickstart `init.lua` a single file? Wouldn't it make sense to split it into multiple files?
130151 * The main purpose of kickstart is to serve as a teaching tool and a reference
131152 configuration that someone can easily use to `git clone` as a basis for their own.
132153 As you progress in learning Neovim and Lua, you might consider splitting `init.lua`
133- into smaller parts. A fork of kickstart that does this while maintaining the
154+ into smaller parts. A fork of kickstart that does this while maintaining the
134155 same functionality is available here:
135156 * [kickstart-modular.nvim](https://github.com/dam9000/kickstart-modular.nvim)
136157 * Discussions on this topic can be found here:
@@ -141,7 +162,7 @@ examples of adding popularly requested plugins.
141162
142163Below you can find OS specific install instructions for Neovim and dependencies.
143164
144- After installing all the dependencies continue with the [Install Kickstart](#Install-Kickstart ) step.
165+ After installing all the dependencies continue with the [Install Kickstart](#install-kickstart ) step.
145166
146167#### Windows Installation
147168
@@ -169,10 +190,10 @@ run in cmd as **admin**:
169190winget install --accept-source-agreements chocolatey.chocolatey
170191```
171192
172- 2 . install all requirements using choco, exit previous cmd and
193+ 2 . install all requirements using choco, exit the previous cmd and
173194open a new one so that choco path is set, and run in cmd as ** admin** :
174195```
175- choco install -y neovim git ripgrep wget fd unzip gzip mingw make
196+ choco install -y neovim git ripgrep wget fd unzip gzip mingw make tree-sitter
176197```
177198</details >
178199<details ><summary >WSL (Windows Subsystem for Linux)</summary >
@@ -182,7 +203,7 @@ wsl --install
182203wsl
183204sudo add-apt-repository ppa:neovim-ppa/unstable -y
184205sudo apt update
185- sudo apt install make gcc ripgrep unzip neovim
206+ sudo apt install make gcc ripgrep fd-find tree-sitter-cli unzip git xclip neovim
186207```
187208</details >
188209
@@ -192,37 +213,111 @@ sudo apt install make gcc ripgrep unzip neovim
192213```
193214sudo add-apt-repository ppa:neovim-ppa/unstable -y
194215sudo apt update
195- sudo apt install make gcc ripgrep unzip git neovim
216+ sudo apt install make gcc ripgrep fd-find tree-sitter-cli unzip git xclip neovim
196217```
197218</details >
198219<details ><summary >Debian Install Steps</summary >
199220
200221```
201222sudo apt update
202- sudo apt install make gcc ripgrep unzip git curl
223+ sudo apt install make gcc ripgrep fd-find tree-sitter-cli unzip git xclip curl
203224
204225# Now we install nvim
205- curl -LO https://github.com/neovim/neovim/releases/latest/download/nvim-linux64 .tar.gz
206- sudo rm -rf /opt/nvim-linux64
207- sudo mkdir -p /opt/nvim-linux64
208- sudo chmod a+rX /opt/nvim-linux64
209- sudo tar -C /opt -xzf nvim-linux64 .tar.gz
226+ curl -LO https://github.com/neovim/neovim/releases/latest/download/nvim-linux-x86_64 .tar.gz
227+ sudo rm -rf /opt/nvim-linux-x86_64
228+ sudo mkdir -p /opt/nvim-linux-x86_64
229+ sudo chmod a+rX /opt/nvim-linux-x86_64
230+ sudo tar -C /opt -xzf nvim-linux-x86_64 .tar.gz
210231
211232# make it available in /usr/local/bin, distro installs to /usr/bin
212- sudo ln -sf /opt/nvim-linux64 /bin/nvim /usr/local/bin/
233+ sudo ln -sf /opt/nvim-linux-x86_64 /bin/nvim /usr/local/bin/
213234```
214235</details >
215236<details ><summary >Fedora Install Steps</summary >
216237
217238```
218- sudo dnf install -y gcc make git ripgrep fd-find unzip neovim
239+ sudo dnf install -y gcc make git ripgrep fd-find tree-sitter-cli unzip neovim
219240```
220241</details >
221242
222243<details ><summary >Arch Install Steps</summary >
223244
224245```
225- sudo pacman -S --noconfirm --needed gcc make git ripgrep fd unzip neovim
246+ sudo pacman -S --noconfirm --needed gcc make git ripgrep fd tree-sitter-cli unzip neovim
247+ ```
248+ </details >
249+
250+ ### Alternative neovim installation methods
251+
252+ For some systems it is not unexpected that the [ package manager installation
253+ method] ( https://github.com/neovim/neovim/blob/master/INSTALL.md#install-from-package )
254+ recommended by neovim is significantly behind. If that is the case for you,
255+ pick one of the following methods that are known to deliver fresh neovim versions very quickly.
256+ They have been picked for their popularity and because they make installing and updating
257+ neovim to the latest versions easy. You can also find more detail about the
258+ available methods being discussed
259+ [ here] ( https://github.com/nvim-lua/kickstart.nvim/issues/1583 ) .
260+
261+
262+ <details ><summary >Bob</summary >
263+
264+ [ Bob] ( https://github.com/MordechaiHadad/bob ) is a Neovim version manager for
265+ all platforms. Simply install
266+ [ rustup] ( https://rust-lang.github.io/rustup/installation/other.html ) ,
267+ and run the following commands:
268+
269+ ``` bash
270+ rustup default stable
271+ rustup update stable
272+ cargo install bob-nvim
273+ bob use stable
274+ ```
275+
276+ </details >
277+
278+ <details ><summary >Homebrew</summary >
279+
280+ [ Homebrew] ( https://brew.sh ) is a package manager popular on Mac and Linux.
281+ Simply install using [ ` brew install ` ] ( https://formulae.brew.sh/formula/neovim ) .
282+
283+ </details >
284+
285+ <details ><summary >Flatpak</summary >
286+
287+ Flatpak is a package manager for applications that allows developers to package their applications
288+ just once to make it available on all Linux systems. Simply [ install flatpak] ( https://flatpak.org/setup/ )
289+ and setup [ flathub] ( https://flathub.org/setup ) to [ install neovim] ( https://flathub.org/apps/io.neovim.nvim ) .
290+
291+ </details >
292+
293+ <details ><summary >asdf and mise-en-place</summary >
294+
295+ [ asdf] ( https://asdf-vm.com/ ) and [ mise] ( https://mise.jdx.dev/ ) are tool version managers,
296+ mostly aimed towards project-specific tool versioning. However both support managing tools
297+ globally in the user-space as well:
298+
299+ <details ><summary >mise</summary >
300+
301+ [ Install mise] ( https://mise.jdx.dev/getting-started.html ) , then run:
302+
303+ ``` bash
304+ mise plugins install neovim
305+ mise use neovim@stable
306+ ```
307+
308+ </details >
309+
310+ <details ><summary >asdf</summary >
311+
312+ [ Install asdf] ( https://asdf-vm.com/guide/getting-started.html ) , then run:
313+
314+ ``` bash
315+ asdf plugin add neovim
316+ asdf install neovim stable
317+ asdf set neovim stable --home
318+ asdf reshim neovim
226319```
320+
227321</details >
228322
323+ </details >
0 commit comments