|
1 | | -# kickstart.nvim |
| 1 | +## ⚙️ My Neovim Configuration |
2 | 2 |
|
3 | | -## Introduction |
| 3 | +This is my personal neovim configuration and it's unlikely to be perfect |
| 4 | +for your use case. |
4 | 5 |
|
5 | | -A starting point for Neovim that is: |
| 6 | +What is in it? |
6 | 7 |
|
7 | | -* Small |
8 | | -* Single-file |
9 | | -* Completely Documented |
| 8 | +* *Kickstart*: based configuration |
| 9 | +* *Neovimacs*: modeless editing support, with common Emacs bindings in insert mode |
| 10 | +* *Esc*: to toggle between insert (emacs bindings) and normal (neovim mode) |
| 11 | +* *Tabs*: Prev (F1), Next (F2), New (F3), and Close (F4) to jump around |
| 12 | +* *Movement*: Arrows and Tabs (and, yes, I know) |
| 13 | +* *Batteries*: Python LSP, completion, treesitter |
10 | 14 |
|
11 | | -**NOT** a Neovim distribution, but instead a starting point for your configuration. |
| 15 | +## 📦 Installation |
12 | 16 |
|
13 | | -## Installation |
14 | | - |
15 | | -### Install Neovim |
16 | | - |
17 | | -Kickstart.nvim targets *only* the latest |
18 | | -['stable'](https://github.com/neovim/neovim/releases/tag/stable) and latest |
19 | | -['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. |
21 | | - |
22 | | -### Install External Dependencies |
23 | | - |
24 | | -External Requirements: |
25 | | -- Basic utils: `git`, `make`, `unzip`, C Compiler (`gcc`) |
26 | | -- [ripgrep](https://github.com/BurntSushi/ripgrep#installation) |
27 | | -- Clipboard tool (xclip/xsel/win32yank or other depending on platform) |
28 | | -- A [Nerd Font](https://www.nerdfonts.com/): optional, provides various icons |
29 | | - - if you have it set `vim.g.have_nerd_font` in `init.lua` to true |
30 | | -- Language Setup: |
31 | | - - If want to write Typescript, you need `npm` |
32 | | - - If want to write Golang, you will need `go` |
33 | | - - etc. |
34 | | - |
35 | | -> **NOTE** |
36 | | -> See [Install Recipes](#Install-Recipes) for additional Windows and Linux specific notes |
37 | | -> and quick install snippets |
38 | | -
|
39 | | -### Install Kickstart |
40 | | - |
41 | | -> **NOTE** |
42 | | -> [Backup](#FAQ) your previous configuration (if any exists) |
43 | | -
|
44 | | -Neovim's configurations are located under the following paths, depending on your OS: |
45 | | - |
46 | | -| OS | PATH | |
47 | | -| :- | :--- | |
48 | | -| Linux, MacOS | `$XDG_CONFIG_HOME/nvim`, `~/.config/nvim` | |
49 | | -| Windows (cmd)| `%localappdata%\nvim\` | |
50 | | -| Windows (powershell)| `$env:LOCALAPPDATA\nvim\` | |
51 | | - |
52 | | -#### Recommended Step |
53 | | - |
54 | | -[Fork](https://docs.github.com/en/get-started/quickstart/fork-a-repo) this repo |
55 | | -so that you have your own copy that you can modify, then install by cloning the |
56 | | -fork to your machine using one of the commands below, depending on your OS. |
57 | | - |
58 | | -> **NOTE** |
59 | | -> Your fork's url will be something like this: |
60 | | -> `https://github.com/<your_github_username>/kickstart.nvim.git` |
61 | | -
|
62 | | -#### Clone kickstart.nvim |
63 | | -> **NOTE** |
64 | | -> If following the recommended step above (i.e., forking the repo), replace |
65 | | -> `nvim-lua` with `<your_github_username>` in the commands below |
66 | | -
|
67 | | -<details><summary> Linux and Mac </summary> |
68 | | - |
69 | | -```sh |
70 | | -git clone https://github.com/nvim-lua/kickstart.nvim.git "${XDG_CONFIG_HOME:-$HOME/.config}"/nvim |
71 | | -``` |
72 | | - |
73 | | -</details> |
74 | | - |
75 | | -<details><summary> Windows </summary> |
76 | | - |
77 | | -If you're using `cmd.exe`: |
78 | | - |
79 | | -``` |
80 | | -git clone https://github.com/nvim-lua/kickstart.nvim.git %localappdata%\nvim\ |
81 | | -``` |
82 | | - |
83 | | -If you're using `powershell.exe` |
84 | | - |
85 | | -``` |
86 | | -git clone https://github.com/nvim-lua/kickstart.nvim.git $env:LOCALAPPDATA\nvim\ |
87 | | -``` |
88 | | - |
89 | | -</details> |
90 | | - |
91 | | -### Post Installation |
92 | | - |
93 | | -Start Neovim |
94 | | - |
95 | | -```sh |
96 | | -nvim |
97 | | -``` |
98 | | - |
99 | | -That's it! Lazy will install all the plugins you have. Use `:Lazy` to view |
100 | | -current plugin status. Hit `q` to close the window. |
101 | | - |
102 | | -Read through the `init.lua` file in your configuration folder for more |
103 | | -information about extending and exploring Neovim. That also includes |
104 | | -examples of adding popularly requested plugins. |
105 | | - |
106 | | - |
107 | | -### Getting Started |
108 | | - |
109 | | -[The Only Video You Need to Get Started with Neovim](https://youtu.be/m8C0Cq9Uv9o) |
110 | | - |
111 | | -### FAQ |
112 | | - |
113 | | -* What should I do if I already have a pre-existing neovim configuration? |
114 | | - * You should back it up and then delete all associated files. |
115 | | - * This includes your existing init.lua and the neovim files in `~/.local` |
116 | | - which can be deleted with `rm -rf ~/.local/share/nvim/` |
117 | | -* Can I keep my existing configuration in parallel to kickstart? |
118 | | - * Yes! You can use [NVIM_APPNAME](https://neovim.io/doc/user/starting.html#%24NVIM_APPNAME)`=nvim-NAME` |
119 | | - to maintain multiple configurations. For example, you can install the kickstart |
120 | | - configuration in `~/.config/nvim-kickstart` and create an alias: |
121 | | - ``` |
122 | | - alias nvim-kickstart='NVIM_APPNAME="nvim-kickstart" nvim' |
123 | | - ``` |
124 | | - When you run Neovim using `nvim-kickstart` alias it will use the alternative |
125 | | - config directory and the matching local directory |
126 | | - `~/.local/share/nvim-kickstart`. You can apply this approach to any Neovim |
127 | | - distribution that you would like to try out. |
128 | | -* What if I want to "uninstall" this configuration: |
129 | | - * See [lazy.nvim uninstall](https://github.com/folke/lazy.nvim#-uninstalling) information |
130 | | -* Why is the kickstart `init.lua` a single file? Wouldn't it make sense to split it into multiple files? |
131 | | - * The main purpose of kickstart is to serve as a teaching tool and a reference |
132 | | - configuration that someone can easily use to `git clone` as a basis for their own. |
133 | | - As you progress in learning Neovim and Lua, you might consider splitting `init.lua` |
134 | | - into smaller parts. A fork of kickstart that does this while maintaining the |
135 | | - same functionality is available here: |
136 | | - * [kickstart-modular.nvim](https://github.com/dam9000/kickstart-modular.nvim) |
137 | | - * Discussions on this topic can be found here: |
138 | | - * [Restructure the configuration](https://github.com/nvim-lua/kickstart.nvim/issues/218) |
139 | | - * [Reorganize init.lua into a multi-file setup](https://github.com/nvim-lua/kickstart.nvim/pull/473) |
140 | | -
|
141 | | -### Install Recipes |
142 | | -
|
143 | | -Below you can find OS specific install instructions for Neovim and dependencies. |
144 | | -
|
145 | | -After installing all the dependencies continue with the [Install Kickstart](#Install-Kickstart) step. |
146 | | -
|
147 | | -#### Windows Installation |
148 | | -
|
149 | | -<details><summary>Windows with Microsoft C++ Build Tools and CMake</summary> |
150 | | -Installation may require installing build tools and updating the run command for `telescope-fzf-native` |
151 | | -
|
152 | | -See `telescope-fzf-native` documentation for [more details](https://github.com/nvim-telescope/telescope-fzf-native.nvim#installation) |
153 | | -
|
154 | | -This requires: |
155 | | -
|
156 | | -- Install CMake and the Microsoft C++ Build Tools on Windows |
157 | | -
|
158 | | -```lua |
159 | | -{'nvim-telescope/telescope-fzf-native.nvim', build = 'cmake -S. -Bbuild -DCMAKE_BUILD_TYPE=Release && cmake --build build --config Release && cmake --install build --prefix build' } |
| 17 | +```bash |
| 18 | +cd ~/.config |
| 19 | +git clone [email protected]:millerjason/neovimrc.git |
| 20 | +ln -s neovimrc nvim |
160 | 21 | ``` |
161 | | -</details> |
162 | | -<details><summary>Windows with gcc/make using chocolatey</summary> |
163 | | -Alternatively, one can install gcc and make which don't require changing the config, |
164 | | -the easiest way is to use choco: |
165 | 22 |
|
166 | | -1. install [chocolatey](https://chocolatey.org/install) |
167 | | -either follow the instructions on the page or use winget, |
168 | | -run in cmd as **admin**: |
169 | | -``` |
170 | | -winget install --accept-source-agreements chocolatey.chocolatey |
171 | | -``` |
| 23 | +### References |
172 | 24 |
|
173 | | -2. install all requirements using choco, exit previous cmd and |
174 | | -open a new one so that choco path is set, and run in cmd as **admin**: |
175 | | -``` |
176 | | -choco install -y neovim git ripgrep wget fd unzip gzip mingw make |
177 | | -``` |
178 | | -</details> |
179 | | -<details><summary>WSL (Windows Subsystem for Linux)</summary> |
180 | | - |
181 | | -``` |
182 | | -wsl --install |
183 | | -wsl |
184 | | -sudo add-apt-repository ppa:neovim-ppa/unstable -y |
185 | | -sudo apt update |
186 | | -sudo apt install make gcc ripgrep unzip git xclip neovim |
187 | | -``` |
188 | | -</details> |
189 | | - |
190 | | -#### Linux Install |
191 | | -<details><summary>Ubuntu Install Steps</summary> |
192 | | - |
193 | | -``` |
194 | | -sudo add-apt-repository ppa:neovim-ppa/unstable -y |
195 | | -sudo apt update |
196 | | -sudo apt install make gcc ripgrep unzip git xclip neovim |
197 | | -``` |
198 | | -</details> |
199 | | -<details><summary>Debian Install Steps</summary> |
200 | | - |
201 | | -``` |
202 | | -sudo apt update |
203 | | -sudo apt install make gcc ripgrep unzip git xclip curl |
204 | | -
|
205 | | -# Now we install nvim |
206 | | -curl -LO https://github.com/neovim/neovim/releases/latest/download/nvim-linux64.tar.gz |
207 | | -sudo rm -rf /opt/nvim-linux64 |
208 | | -sudo mkdir -p /opt/nvim-linux64 |
209 | | -sudo chmod a+rX /opt/nvim-linux64 |
210 | | -sudo tar -C /opt -xzf nvim-linux64.tar.gz |
211 | | -
|
212 | | -# make it available in /usr/local/bin, distro installs to /usr/bin |
213 | | -sudo ln -sf /opt/nvim-linux64/bin/nvim /usr/local/bin/ |
214 | | -``` |
215 | | -</details> |
216 | | -<details><summary>Fedora Install Steps</summary> |
217 | | - |
218 | | -``` |
219 | | -sudo dnf install -y gcc make git ripgrep fd-find unzip neovim |
220 | | -``` |
221 | | -</details> |
222 | | - |
223 | | -<details><summary>Arch Install Steps</summary> |
224 | | - |
225 | | -``` |
226 | | -sudo pacman -S --noconfirm --needed gcc make git ripgrep fd unzip neovim |
227 | | -``` |
228 | | -</details> |
| 25 | +Kickstart: [kickstart.nvim](https://github.com/nvim-lua/kickstart.nvim) |
| 26 | +Kickstart Video: [Get Started with Neovim](https://youtu.be/m8C0Cq9Uv9o) |
229 | 27 |
|
0 commit comments