Created
October 16, 2021 15:57
neovim configuration 2021
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
" Plug | |
call plug#begin() | |
Plug 'ayu-theme/ayu-vim' | |
Plug 'morhetz/gruvbox' | |
Plug 'Pocco81/Catppuccino.nvim' | |
Plug 'junegunn/goyo.vim' | |
Plug 'junegunn/fzf', { 'dir': '~/.fzf', 'do': './install --all' } | |
Plug 'junegunn/fzf.vim' | |
Plug 'junegunn/vim-journal' | |
Plug 'junegunn/rainbow_parentheses.vim' | |
Plug 'tpope/vim-surround' | |
Plug 'tpope/vim-fugitive' | |
Plug 'junegunn/gv.vim' | |
Plug 'airblade/vim-gitgutter' | |
Plug 'Yggdroot/indentLine' | |
Plug 'scrooloose/nerdtree' | |
Plug 'scrooloose/nerdcommenter' | |
" Elixir | |
Plug 'slashmili/alchemist.vim' | |
Plug 'elixir-editors/vim-elixir' | |
Plug 'mhinz/vim-mix-format' | |
Plug 'jiangmiao/auto-pairs' | |
" JavaScript | |
Plug 'pangloss/vim-javascript' | |
Plug 'moll/vim-node' | |
Plug 'mxw/vim-jsx' | |
Plug 'yuezk/vim-js' | |
Plug 'maxmellon/vim-jsx-pretty' | |
Plug 'othree/yajs.vim' | |
Plug 'styled-components/vim-styled-components', { 'branch': 'main' } | |
Plug 'w0rp/ale' | |
call plug#end() | |
" Coloring | |
syntax on | |
set background=dark | |
set termguicolors | |
"colorscheme gruvbox | |
"colorscheme ayu | |
colorscheme catppuccino | |
" Other configurations | |
filetype plugin indent on | |
autocmd FileType markdown setlocal shiftwidth=2 tabstop=2 softtabstop=2 | |
set foldmethod=syntax | |
set tabstop=2 | |
set softtabstop=2 | |
set shiftwidth=2 | |
set expandtab | |
set smarttab | |
set autoindent | |
set title | |
set ruler | |
set scrolloff=8 | |
set noswapfile | |
set guicursor=i:block | |
set encoding=utf-8 | |
set ruler laststatus=2 showcmd showmode | |
set number | |
set relativenumber | |
set wrap breakindent | |
set incsearch ignorecase smartcase hlsearch | |
set list listchars=trail:»,tab:»- | |
set fillchars+=vert:\ | |
set lazyredraw | |
" Will comment this following settings since i am not sure yet what it does. | |
"highlight Pmenu guibg=white guifg=black gui=bold | |
"highlight Comment gui=bold | |
"highlight Normal gui=none | |
" Mappings | |
let mapleader=" " | |
nmap <Tab> <C-w>w | |
nnoremap <C-s> <C-c>:w<Enter> | |
inoremap <C-s> <C-c>:w<Enter> | |
vnoremap <C-s> <C-c>:w<Enter> | |
nnoremap <silent> <leader><leader> :noh<CR> | |
"nnoremap <leader>r :so ~/.config/nvim/init.vim<CR> | |
nmap <leader>d :NERDTreeToggle<CR> | |
nmap <leader>f :NERDTreeFind<CR> | |
" Replace word and press `.` to replace matched words | |
nnoremap <leader>r *#cgn | |
nmap <C-p> :GFiles<CR> | |
vnoremap <C-c> :w !pbcopy<CR><CR> | |
" Reverse lines | |
" Normal mode reverse lines | |
nnoremap <C-j> :m .+1<CR>== | |
nnoremap <C-k> :m .-2<CR>== | |
" Insert mode reverse lines | |
inoremap <C-j> :m .+1<CR>== | |
inoremap <C-k> :m .-2<CR>== | |
" Window vertical resize | |
nnoremap <leader>+ 5<C-w>+ | |
nnoremap <leader>- 5<C-w>- | |
" Yank current cursor to the end of the line | |
nnoremap Y y$ | |
" Center search | |
nnoremap n nzzzv | |
nnoremap N Nzzzv | |
nnoremap J mzJ`z | |
" Undo break points | |
inoremap , ,<c-g>u | |
inoremap . .<c-g>u | |
inoremap [ [<c-g>u | |
inoremap " "<c-g>u | |
inoremap { {<c-g>u | |
inoremap ( (<c-g>u | |
inoremap ! !<c-g>u | |
inoremap ? ?<c-g>u | |
" Initialize fugitive window | |
"nnoremap <Leader>gs :G<CR> | |
nnoremap <Leader>g :tabe <CR>:G <CR> :only<CR> | |
" New empty tab | |
nnoremap <Leader>t :tabe <CR> | |
" Edit file relative to directory | |
nnoremap <Leader><tab> :e %:h<CR> | |
augroup CursorLine | |
au! | |
au VimEnter,WinEnter,BufWinEnter * setlocal cursorline | |
au WinLeave * setlocal nocursorline | |
augroup END | |
" rainbow parenthesis | |
let g:rainbow#max_level = 16 | |
" fzf | |
let g:fzf_layout = {'up':'~90%', 'window': { 'width': 0.8, 'height': 0.8,'yoffset':0.5,'xoffset': 0.5, 'highlight': 'Todo', 'border': 'sharp' } } | |
let $BAT_THEME='gruvbox-dark' | |
let $FZF_DEFAULT_OPTS = '--layout=reverse --info=inline' | |
let g:fzf_action = { | |
\ 'ctrl-t': 'tab split', | |
\ 'ctrl-s': 'split', | |
\ 'ctrl-v': 'vsplit' } | |
let g:fzf_colors = | |
\ { 'fg': ['fg', 'Normal'], | |
\ 'bg': ['bg', 'Normal'], | |
\ 'hl': ['fg', 'Comment'], | |
\ 'fg+': ['fg', 'CursorLine', 'CursorColumn', 'Normal'], | |
\ 'bg+': ['bg', 'CursorLine', 'CursorColumn'], | |
\ 'hl+': ['fg', 'Statement'], | |
\ 'info': ['fg', 'Type'], | |
\ 'border': ['fg', 'Ignore'], | |
\ 'prompt': ['fg', 'Character'], | |
\ 'pointer': ['fg', 'Exception'], | |
\ 'marker': ['fg', 'Keyword'], | |
\ 'spinner': ['fg', 'Label'], | |
\ 'header': ['fg', 'Comment'] } | |
" Auto format code on save Elixir | |
let g:mix_format_on_save = 1 | |
let g:alchemist#elixir_erlang_src = "/Users/Bryan/.asdf/shims/elixir" | |
"" NERDTree | |
let NERDTreeShowHidden=1 | |
let g:NERDTreeDirArrowExpandable = '↠' | |
let g:NERDTreeDirArrowCollapsible = '↡' | |
" ALE JavaScript | |
""" Ale configuration for JS | |
"let g:ale_javascript_eslint_executable = 'eslint' | |
let g:ale_linters = { | |
"\ 'javascript': ['eslint'], | |
"\ 'jsx': ['eslint'], | |
\ 'elixir': [] | |
\} | |
"let g:ale_fixers = { 'javascript': ['eslint'] } | |
let g:ale_fix_on_save = 1 | |
let g:ale_sign_error = 'x' | |
let g:goyo_width = 160 | |
" LUA | |
lua << EOF | |
local catppuccino = require("catppuccino") | |
-- configure it | |
catppuccino.setup( | |
{ | |
colorscheme = "neon_latte", | |
transparency = false, | |
styles = { | |
comments = "italic", | |
functions = "italic", | |
keywords = "italic", | |
strings = "NONE", | |
variables = "NONE", | |
}, | |
integrations = { | |
treesitter = true, | |
native_lsp = { | |
enabled = true, | |
styles = { | |
errors = "italic", | |
hints = "italic", | |
warnings = "italic", | |
information = "italic" | |
} | |
}, | |
lsp_trouble = false, | |
lsp_saga = false, | |
gitgutter = false, | |
gitsigns = false, | |
telescope = false, | |
nvimtree = false, | |
which_key = false, | |
indent_blankline = false, | |
dashboard = false, | |
neogit = false, | |
vim_sneak = false, | |
fern = false, | |
barbar = false, | |
bufferline = false, | |
markdown = false, | |
} | |
} | |
) | |
-- load it | |
catppuccino.load() |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment