add options

03-plugins
christianchiarulli 2 years ago
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,3 @@
require "user.options"

@ -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…
Cancel
Save