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