parent
d1b2f56a7f
commit
538590e84e
@ -1 +1,58 @@
|
|||||||
# neovim-from-scratch
|
# Neovim from scratch
|
||||||
|
|
||||||
|
## Try out this config
|
||||||
|
|
||||||
|
Make sure to remove or move your current `nvim` directory
|
||||||
|
|
||||||
|
```
|
||||||
|
git clone git@github.com:ChristianChiarulli/Neovim-from-scratch.git ~/.config/nvim
|
||||||
|
```
|
||||||
|
|
||||||
|
Run `nvim` and wait for the plugins to be installed
|
||||||
|
|
||||||
|
**NOTE** (You will notice treesitter pulling in a bunch of parsers the next time you open Neovim)
|
||||||
|
|
||||||
|
|
||||||
|
each video will be associated with a branch so checkout the one you are interested in
|
||||||
|
|
||||||
|
## Get healthy
|
||||||
|
|
||||||
|
Open `nvim` and enter the following:
|
||||||
|
|
||||||
|
```
|
||||||
|
:checkhealth
|
||||||
|
```
|
||||||
|
|
||||||
|
You'll probably notice you don't have support for copy/paste also that python and node haven't been setup
|
||||||
|
|
||||||
|
So let's fix that
|
||||||
|
|
||||||
|
First we'll fix copy/paste
|
||||||
|
|
||||||
|
- On mac `pbcopy` should be builtin
|
||||||
|
|
||||||
|
- On Ubuntu
|
||||||
|
|
||||||
|
```
|
||||||
|
sudo apt install xsel
|
||||||
|
```
|
||||||
|
|
||||||
|
- On Arch Linux
|
||||||
|
|
||||||
|
```
|
||||||
|
sudo pacman -S xsel
|
||||||
|
```
|
||||||
|
|
||||||
|
Next we need to install python support (node is optional)
|
||||||
|
|
||||||
|
- Neovim python support
|
||||||
|
|
||||||
|
```
|
||||||
|
pip install pynvim
|
||||||
|
```
|
||||||
|
|
||||||
|
- Neovim node support
|
||||||
|
|
||||||
|
```
|
||||||
|
npm i -g neovim
|
||||||
|
```
|
||||||
|
@ -0,0 +1,46 @@
|
|||||||
|
local options = {
|
||||||
|
backup = false, -- creates a backup file
|
||||||
|
clipboard = "unnamedplus", -- allows neovim to access the system clipboard
|
||||||
|
cmdheight = 2, -- more space in the neovim command line for displaying messages
|
||||||
|
completeopt = { "menuone", "noselect" }, -- mostly just for cmp
|
||||||
|
conceallevel = 0, -- so that `` is visible in markdown files
|
||||||
|
fileencoding = "utf-8", -- the encoding written to a file
|
||||||
|
hlsearch = true, -- highlight all matches on previous search pattern
|
||||||
|
ignorecase = true, -- ignore case in search patterns
|
||||||
|
mouse = "a", -- allow the mouse to be used in neovim
|
||||||
|
pumheight = 10, -- pop up menu height
|
||||||
|
showmode = false, -- we don't need to see things like -- INSERT -- anymore
|
||||||
|
showtabline = 2, -- always show tabs
|
||||||
|
smartcase = true, -- smart case
|
||||||
|
smartindent = true, -- make indenting smarter again
|
||||||
|
splitbelow = true, -- force all horizontal splits to go below current window
|
||||||
|
splitright = true, -- force all vertical splits to go to the right of current window
|
||||||
|
swapfile = false, -- creates a swapfile
|
||||||
|
-- termguicolors = true, -- set term gui colors (most terminals support this)
|
||||||
|
timeoutlen = 1000, -- time to wait for a mapped sequence to complete (in milliseconds)
|
||||||
|
undofile = true, -- enable persistent undo
|
||||||
|
updatetime = 300, -- faster completion (4000ms default)
|
||||||
|
writebackup = false, -- if a file is being edited by another program (or was written to file while editing with another program), it is not allowed to be edited
|
||||||
|
expandtab = true, -- convert tabs to spaces
|
||||||
|
shiftwidth = 2, -- the number of spaces inserted for each indentation
|
||||||
|
tabstop = 2, -- insert 2 spaces for a tab
|
||||||
|
cursorline = true, -- highlight the current line
|
||||||
|
number = true, -- set numbered lines
|
||||||
|
relativenumber = false, -- set relative numbered lines
|
||||||
|
numberwidth = 4, -- set number column width to 2 {default 4}
|
||||||
|
signcolumn = "yes", -- always show the sign column, otherwise it would shift the text each time
|
||||||
|
wrap = false, -- display lines as one long line
|
||||||
|
scrolloff = 8, -- is one of my fav
|
||||||
|
sidescrolloff = 8,
|
||||||
|
guifont = "monospace:h17", -- the font used in graphical neovim applications
|
||||||
|
}
|
||||||
|
|
||||||
|
vim.opt.shortmess:append "c"
|
||||||
|
|
||||||
|
for k, v in pairs(options) do
|
||||||
|
vim.opt[k] = v
|
||||||
|
end
|
||||||
|
|
||||||
|
vim.cmd "set whichwrap+=<,>,[,],h,l"
|
||||||
|
vim.cmd [[set iskeyword+=-]]
|
||||||
|
vim.cmd [[set formatoptions-=cro]] -- TODO: this doesn't seem to work
|
Loading…
Reference in new issue