Skip to content

Commit 20a1009

Browse files
committed
Update
2 parents 38f8d88 + 76cb865 commit 20a1009

File tree

11 files changed

+726
-349
lines changed

11 files changed

+726
-349
lines changed

.github/ISSUE_TEMPLATE/bug_report.md

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,13 @@ assignees: ''
99

1010
<!-- Any bug report not following this template will be immediately closed. Thanks -->
1111

12+
## Before Reporting an Issue
13+
- I have read the kickstart.nvim README.md.
14+
- I have read the appropriate plugin's documentation.
15+
- I have searched that this issue has not been reported before.
16+
17+
- [ ] **By checking this, I confirm that the above steps are completed. I understand leaving this unchecked will result in this report being closed immediately.**
18+
1219
## Describe the bug
1320
<!-- A clear and concise description of what the bug is. -->
1421

@@ -18,8 +25,8 @@ assignees: ''
1825

1926
## Desktop
2027
<!-- please complete the following information. -->
21-
- OS:
22-
- Terminal:
28+
- OS:
29+
- Terminal:
2330

2431
## Neovim Version
2532
<!-- Output of running `:version` from inside of neovim. -->

.github/pull_request_template.md

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
***************************************************************************
2+
**NOTE**
3+
Please verify that the `base repository` above has the intended destination!
4+
Github by default opens Pull Requests against the parent of a forked repository.
5+
If this is your personal fork and you didn't intend to open a PR for contribution
6+
to the original project then adjust the `base repository` accordingly.
7+
**************************************************************************
8+

README.md

Lines changed: 117 additions & 93 deletions
Original file line numberDiff line numberDiff line change
@@ -21,33 +21,54 @@ If you are experiencing issues, please make sure you have the latest versions.
2121

2222
### Install External Dependencies
2323

24-
> **NOTE**
25-
> [Backup](#FAQ) your previous configuration (if any exists)
26-
2724
External Requirements:
2825
- Basic utils: `git`, `make`, `unzip`, C Compiler (`gcc`)
2926
- [ripgrep](https://github.com/BurntSushi/ripgrep#installation)
27+
- Clipboard tool (xclip/xsel/win32yank or other depending on the platform)
3028
- A [Nerd Font](https://www.nerdfonts.com/): optional, provides various icons
3129
- if you have it set `vim.g.have_nerd_font` in `init.lua` to true
30+
- Emoji fonts (Ubuntu only, and only if you want emoji!) `sudo apt install fonts-noto-color-emoji`
3231
- Language Setup:
33-
- If want to write Typescript, you need `npm`
34-
- If want to write Golang, you will need `go`
32+
- If you want to write Typescript, you need `npm`
33+
- If you want to write Golang, you will need `go`
3534
- etc.
3635

37-
> **NOTE**
38-
> See [Windows Installation](#Windows-Installation) to double check any additional Windows notes
36+
> [!NOTE]
37+
> See [Install Recipes](#Install-Recipes) for additional Windows and Linux specific notes
38+
> and quick install snippets
39+
40+
### Install Kickstart
41+
42+
> [!NOTE]
43+
> [Backup](#FAQ) your previous configuration (if any exists)
3944
4045
Neovim's configurations are located under the following paths, depending on your OS:
4146

4247
| OS | PATH |
4348
| :- | :--- |
4449
| Linux, MacOS | `$XDG_CONFIG_HOME/nvim`, `~/.config/nvim` |
45-
| Windows (cmd)| `%userprofile%\AppData\Local\nvim\` |
46-
| Windows (powershell)| `$env:USERPROFILE\AppData\Local\nvim\` |
50+
| Windows (cmd)| `%localappdata%\nvim\` |
51+
| Windows (powershell)| `$env:LOCALAPPDATA\nvim\` |
4752

48-
### Install Kickstart
53+
#### Recommended Step
54+
55+
[Fork](https://docs.github.com/en/get-started/quickstart/fork-a-repo) this repo
56+
so that you have your own copy that you can modify, then install by cloning the
57+
fork to your machine using one of the commands below, depending on your OS.
58+
59+
> [!NOTE]
60+
> Your fork's URL will be something like this:
61+
> `https://github.com/<your_github_username>/kickstart.nvim.git`
62+
63+
You likely want to remove `lazy-lock.json` from your fork's `.gitignore` file
64+
too - it's ignored in the kickstart repo to make maintenance easier, but it's
65+
[recommended to track it in version control](https://lazy.folke.io/usage/lockfile).
66+
67+
#### Clone kickstart.nvim
4968

50-
Clone kickstart.nvim:
69+
> [!NOTE]
70+
> If following the recommended step above (i.e., forking the repo), replace
71+
> `nvim-lua` with `<your_github_username>` in the commands below
5172
5273
<details><summary> Linux and Mac </summary>
5374

@@ -62,13 +83,13 @@ git clone https://github.com/nvim-lua/kickstart.nvim.git "${XDG_CONFIG_HOME:-$HO
6283
If you're using `cmd.exe`:
6384

6485
```
65-
git clone https://github.com/nvim-lua/kickstart.nvim.git %userprofile%\AppData\Local\nvim\
86+
git clone https://github.com/nvim-lua/kickstart.nvim.git "%localappdata%\nvim"
6687
```
6788

6889
If you're using `powershell.exe`
6990

7091
```
71-
git clone https://github.com/nvim-lua/kickstart.nvim.git $env:USERPROFILE\AppData\Local\nvim\
92+
git clone https://github.com/nvim-lua/kickstart.nvim.git "${env:LOCALAPPDATA}\nvim"
7293
```
7394

7495
</details>
@@ -82,109 +103,61 @@ nvim
82103
```
83104

84105
That's it! Lazy will install all the plugins you have. Use `:Lazy` to view
85-
current plugin status.
86-
87-
Read through the `init.lua` file in your configuration folder for more
88-
information about extending and exploring Neovim.
89-
90-
### Getting Started
106+
the current plugin status. Hit `q` to close the window.
91107

92-
[The Only Video You Need to Get Started with Neovim](https://youtu.be/m8C0Cq9Uv9o)
93-
94-
### Recommended Steps
95-
96-
[Fork](https://docs.github.com/en/get-started/quickstart/fork-a-repo) this repo
97-
(so that you have your own copy that you can modify) and then install. You
98-
can install it on your machine using the methods above.
99-
100-
> **NOTE**
101-
> Your fork's url will be something like this: `https://github.com/<your_github_username>/kickstart.nvim.git`
102-
103-
#### Examples of adding popularly requested plugins
104-
105-
NOTE: You'll need to uncomment the line in the init.lua that turns on loading custom plugins.
106-
107-
<details>
108-
<summary>Adding autopairs</summary>
108+
#### Read The Friendly Documentation
109109

110-
This will automatically install [windwp/nvim-autopairs](https://github.com/windwp/nvim-autopairs) and enable it on startup. For more information, see documentation for [lazy.nvim](https://github.com/folke/lazy.nvim).
111-
112-
In the file: `lua/custom/plugins/autopairs.lua`, add:
113-
114-
```lua
115-
-- File: lua/custom/plugins/autopairs.lua
116-
117-
return {
118-
"windwp/nvim-autopairs",
119-
-- Optional dependency
120-
dependencies = { 'hrsh7th/nvim-cmp' },
121-
config = function()
122-
require("nvim-autopairs").setup {}
123-
-- If you want to automatically add `(` after selecting a function or method
124-
local cmp_autopairs = require('nvim-autopairs.completion.cmp')
125-
local cmp = require('cmp')
126-
cmp.event:on(
127-
'confirm_done',
128-
cmp_autopairs.on_confirm_done()
129-
)
130-
end,
131-
}
132-
```
133-
134-
</details>
135-
<details>
136-
<summary>Adding a file tree plugin</summary>
110+
Read through the `init.lua` file in your configuration folder for more
111+
information about extending and exploring Neovim. That also includes
112+
examples of adding popularly requested plugins.
137113

138-
This will install the tree plugin and add the command `:Neotree` for you. For more information, see the documentation at [neo-tree.nvim](https://github.com/nvim-neo-tree/neo-tree.nvim).
114+
> [!NOTE]
115+
> For more information about a particular plugin check its repository's documentation.
139116
140-
In the file: `lua/custom/plugins/filetree.lua`, add:
141117

142-
```lua
143-
-- Unless you are still migrating, remove the deprecated commands from v1.x
144-
vim.cmd([[ let g:neo_tree_remove_legacy_commands = 1 ]])
145-
146-
return {
147-
"nvim-neo-tree/neo-tree.nvim",
148-
version = "*",
149-
dependencies = {
150-
"nvim-lua/plenary.nvim",
151-
"nvim-tree/nvim-web-devicons", -- not strictly required, but recommended
152-
"MunifTanjim/nui.nvim",
153-
},
154-
config = function ()
155-
require('neo-tree').setup {}
156-
end,
157-
}
158-
```
118+
### Getting Started
159119

160-
</details>
120+
[The Only Video You Need to Get Started with Neovim](https://youtu.be/m8C0Cq9Uv9o)
161121

162122
### FAQ
163123

164-
* What should I do if I already have a pre-existing neovim configuration?
124+
* What should I do if I already have a pre-existing Neovim configuration?
165125
* You should back it up and then delete all associated files.
166-
* This includes your existing init.lua and the neovim files in `~/.local` which can be deleted with `rm -rf ~/.local/share/nvim/`
126+
* This includes your existing init.lua and the Neovim files in `~/.local`
127+
which can be deleted with `rm -rf ~/.local/share/nvim/`
167128
* Can I keep my existing configuration in parallel to kickstart?
168-
* Yes! You can use [NVIM_APPNAME](https://neovim.io/doc/user/starting.html#%24NVIM_APPNAME)`=nvim-NAME` to maintain multiple configurations. For example, you can install the kickstart configuration in `~/.config/nvim-kickstart` and create an alias:
129+
* Yes! You can use [NVIM_APPNAME](https://neovim.io/doc/user/starting.html#%24NVIM_APPNAME)`=nvim-NAME`
130+
to maintain multiple configurations. For example, you can install the kickstart
131+
configuration in `~/.config/nvim-kickstart` and create an alias:
169132
```
170133
alias nvim-kickstart='NVIM_APPNAME="nvim-kickstart" nvim'
171134
```
172-
When you run Neovim using `nvim-kickstart` alias it will use the alternative config directory and the matching local directory `~/.local/share/nvim-kickstart`. You can apply this approach to any Neovim distribution that you would like to try out.
135+
When you run Neovim using `nvim-kickstart` alias it will use the alternative
136+
config directory and the matching local directory
137+
`~/.local/share/nvim-kickstart`. You can apply this approach to any Neovim
138+
distribution that you would like to try out.
173139
* What if I want to "uninstall" this configuration:
174-
* See [lazy.nvim uninstall](https://github.com/folke/lazy.nvim#-uninstalling) information
140+
* See [lazy.nvim uninstall](https://lazy.folke.io/usage#-uninstalling) information
175141
* Why is the kickstart `init.lua` a single file? Wouldn't it make sense to split it into multiple files?
176142
* The main purpose of kickstart is to serve as a teaching tool and a reference
177143
configuration that someone can easily use to `git clone` as a basis for their own.
178144
As you progress in learning Neovim and Lua, you might consider splitting `init.lua`
179-
into smaller parts. A fork of kickstart that does this while maintaining the
145+
into smaller parts. A fork of kickstart that does this while maintaining the
180146
same functionality is available here:
181147
* [kickstart-modular.nvim](https://github.com/dam9000/kickstart-modular.nvim)
182148
* Discussions on this topic can be found here:
183149
* [Restructure the configuration](https://github.com/nvim-lua/kickstart.nvim/issues/218)
184150
* [Reorganize init.lua into a multi-file setup](https://github.com/nvim-lua/kickstart.nvim/pull/473)
185151
186-
### Windows Installation
152+
### Install Recipes
187153
154+
Below you can find OS specific install instructions for Neovim and dependencies.
155+
156+
After installing all the dependencies continue with the [Install Kickstart](#Install-Kickstart) step.
157+
158+
#### Windows Installation
159+
160+
<details><summary>Windows with Microsoft C++ Build Tools and CMake</summary>
188161
Installation may require installing build tools and updating the run command for `telescope-fzf-native`
189162
190163
See `telescope-fzf-native` documentation for [more details](https://github.com/nvim-telescope/telescope-fzf-native.nvim#installation)
@@ -196,7 +169,8 @@ This requires:
196169
```lua
197170
{'nvim-telescope/telescope-fzf-native.nvim', build = 'cmake -S. -Bbuild -DCMAKE_BUILD_TYPE=Release && cmake --build build --config Release && cmake --install build --prefix build' }
198171
```
199-
172+
</details>
173+
<details><summary>Windows with gcc/make using chocolatey</summary>
200174
Alternatively, one can install gcc and make which don't require changing the config,
201175
the easiest way is to use choco:
202176

@@ -207,10 +181,60 @@ run in cmd as **admin**:
207181
winget install --accept-source-agreements chocolatey.chocolatey
208182
```
209183

210-
2. install all requirements using choco, exit previous cmd and
184+
2. install all requirements using choco, exit the previous cmd and
211185
open a new one so that choco path is set, and run in cmd as **admin**:
212186
```
213187
choco install -y neovim git ripgrep wget fd unzip gzip mingw make
214188
```
189+
</details>
190+
<details><summary>WSL (Windows Subsystem for Linux)</summary>
191+
192+
```
193+
wsl --install
194+
wsl
195+
sudo add-apt-repository ppa:neovim-ppa/unstable -y
196+
sudo apt update
197+
sudo apt install make gcc ripgrep unzip git xclip neovim
198+
```
199+
</details>
200+
201+
#### Linux Install
202+
<details><summary>Ubuntu Install Steps</summary>
203+
204+
```
205+
sudo add-apt-repository ppa:neovim-ppa/unstable -y
206+
sudo apt update
207+
sudo apt install make gcc ripgrep unzip git xclip neovim
208+
```
209+
</details>
210+
<details><summary>Debian Install Steps</summary>
211+
212+
```
213+
sudo apt update
214+
sudo apt install make gcc ripgrep unzip git xclip curl
215+
216+
# Now we install nvim
217+
curl -LO https://github.com/neovim/neovim/releases/latest/download/nvim-linux-x86_64.tar.gz
218+
sudo rm -rf /opt/nvim-linux-x86_64
219+
sudo mkdir -p /opt/nvim-linux-x86_64
220+
sudo chmod a+rX /opt/nvim-linux-x86_64
221+
sudo tar -C /opt -xzf nvim-linux-x86_64.tar.gz
222+
223+
# make it available in /usr/local/bin, distro installs to /usr/bin
224+
sudo ln -sf /opt/nvim-linux-x86_64/bin/nvim /usr/local/bin/
225+
```
226+
</details>
227+
<details><summary>Fedora Install Steps</summary>
228+
229+
```
230+
sudo dnf install -y gcc make git ripgrep fd-find unzip neovim
231+
```
232+
</details>
233+
234+
<details><summary>Arch Install Steps</summary>
235+
236+
```
237+
sudo pacman -S --noconfirm --needed gcc make git ripgrep fd unzip neovim
238+
```
239+
</details>
215240

216-
Then, continue with the [Install Kickstart](#Install-Kickstart) step.

0 commit comments

Comments
 (0)