mirror of
https://github.com/anthonyoteri/dotfiles.git
synced 2026-06-05 23:56:52 -04:00
Add neo-vim configuration
This commit is contained in:
@@ -0,0 +1,155 @@
|
||||
"--------------------------------------------------------------------------
|
||||
" General settings
|
||||
"--------------------------------------------------------------------------
|
||||
|
||||
set expandtab
|
||||
set shiftwidth=4
|
||||
set tabstop=4
|
||||
set hidden
|
||||
set signcolumn=yes:2
|
||||
set relativenumber
|
||||
set number
|
||||
set termguicolors
|
||||
set undofile
|
||||
set spell
|
||||
set title
|
||||
set ignorecase
|
||||
set smartcase
|
||||
set wildmode=longest:full,full
|
||||
set nowrap
|
||||
set list
|
||||
set mouse=a
|
||||
set scrolloff=8
|
||||
set sidescrolloff=8
|
||||
set nojoinspaces
|
||||
set splitright
|
||||
set clipboard=unnamedplus
|
||||
set confirm
|
||||
set exrc
|
||||
set backup
|
||||
set backupdir=~/.local/share/nvim/backup//
|
||||
set updatetime=300 " Reduce time for highlighting other references
|
||||
set redrawtime=10000 " Allow more time for loading syntax on large files
|
||||
set cc=80
|
||||
set cursorline
|
||||
|
||||
"--------------------------------------------------------------------------
|
||||
" Key maps
|
||||
"--------------------------------------------------------------------------
|
||||
|
||||
let mapleader = "\<space>"
|
||||
|
||||
nmap <leader>ve :edit ~/.config/nvim/init.vim<cr>
|
||||
nmap <leader>vc :edit ~/.config/nvim/coc-settings.json<cr>
|
||||
nmap <leader>vr :source ~/.config/nvim/init.vim<cr>
|
||||
|
||||
nmap <leader>k :nohlsearch<CR>
|
||||
nmap <leader>Q :bufdo bdelete<cr>
|
||||
|
||||
" Allow gf to open non-existent files
|
||||
map gf :edit <cfile><cr>
|
||||
|
||||
" Reselect visual selection after indenting
|
||||
vnoremap < <gv
|
||||
vnoremap > >gv
|
||||
|
||||
" Maintain the cursor position when yanking a visual selection
|
||||
" http://ddrscott.github.io/blog/2016/yank-without-jank/
|
||||
vnoremap y myy`y
|
||||
vnoremap Y myY`y
|
||||
|
||||
" When text is wrapped, move by terminal rows, not lines, unless a count is provided
|
||||
noremap <silent> <expr> j (v:count == 0 ? 'gj' : 'j')
|
||||
noremap <silent> <expr> k (v:count == 0 ? 'gk' : 'k')
|
||||
|
||||
" Paste replace visual selection without copying it
|
||||
vnoremap <leader>p "_dP
|
||||
|
||||
" Make Y behave like the other capitals
|
||||
nnoremap Y y$
|
||||
|
||||
" Keep it centered
|
||||
nnoremap n nzzzv
|
||||
nnoremap N Nzzzv
|
||||
nnoremap J mzJ`z
|
||||
|
||||
" Open the current file in the default program
|
||||
nmap <leader>x :!xdg-open %<cr><cr>
|
||||
|
||||
" Quicky escape to normal mode
|
||||
imap jj <esc>
|
||||
|
||||
" Easy insertion of a trailing ; or , from insert mode
|
||||
imap ;; <Esc>A;<Esc>
|
||||
imap ,, <Esc>A,<Esc>
|
||||
|
||||
cmap w!! %!sudo tee > /dev/null %
|
||||
|
||||
"--------------------------------------------------------------------------
|
||||
" Plugins
|
||||
"--------------------------------------------------------------------------
|
||||
|
||||
" Automatically install vim-plug
|
||||
let data_dir = has('nvim') ? stdpath('data') . '/site' : '~/.vim'
|
||||
if empty(glob(data_dir . '/autoload/plug.vim'))
|
||||
silent execute '!curl -fLo '.data_dir.'/autoload/plug.vim --create-dirs https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim'
|
||||
autocmd VimEnter * PlugInstall --sync | source $MYVIMRC
|
||||
endif
|
||||
|
||||
call plug#begin(data_dir . '/plugins')
|
||||
|
||||
" source ~/.config/nvim/plugins/abolish.vim
|
||||
source ~/.config/nvim/plugins/airline.vim
|
||||
source ~/.config/nvim/plugins/arduino.vim
|
||||
source ~/.config/nvim/plugins/coc.vim
|
||||
source ~/.config/nvim/plugins/commentary.vim
|
||||
source ~/.config/nvim/plugins/context-commentstring.vim
|
||||
source ~/.config/nvim/plugins/dispatch.vim
|
||||
source ~/.config/nvim/plugins/dracula.vim
|
||||
source ~/.config/nvim/plugins/editorconfig.vim
|
||||
source ~/.config/nvim/plugins/eunuch.vim
|
||||
source ~/.config/nvim/plugins/exchange.vim
|
||||
source ~/.config/nvim/plugins/firenvim.vim
|
||||
source ~/.config/nvim/plugins/floaterm.vim
|
||||
source ~/.config/nvim/plugins/fugitive.vim
|
||||
source ~/.config/nvim/plugins/fzf.vim
|
||||
source ~/.config/nvim/plugins/heritage.vim
|
||||
source ~/.config/nvim/plugins/lastplace.vim
|
||||
source ~/.config/nvim/plugins/lion.vim
|
||||
source ~/.config/nvim/plugins/markdown-preview.vim
|
||||
source ~/.config/nvim/plugins/nerdtree.vim
|
||||
source ~/.config/nvim/plugins/pasta.vim
|
||||
source ~/.config/nvim/plugins/peekaboo.vim
|
||||
source ~/.config/nvim/plugins/phpactor.vim
|
||||
source ~/.config/nvim/plugins/polyglot.vim
|
||||
source ~/.config/nvim/plugins/projectionist.vim
|
||||
source ~/.config/nvim/plugins/quickscope.vim
|
||||
source ~/.config/nvim/plugins/repeat.vim
|
||||
source ~/.config/nvim/plugins/rooter.vim
|
||||
source ~/.config/nvim/plugins/sayonara.vim
|
||||
source ~/.config/nvim/plugins/sensible.vim
|
||||
source ~/.config/nvim/plugins/smooth-scroll.vim
|
||||
source ~/.config/nvim/plugins/splitjoin.vim
|
||||
source ~/.config/nvim/plugins/surround.vim
|
||||
source ~/.config/nvim/plugins/targets.vim
|
||||
source ~/.config/nvim/plugins/textobj-xmlattr.vim
|
||||
source ~/.config/nvim/plugins/tmux-navigator.vim
|
||||
source ~/.config/nvim/plugins/unimpaired.vim
|
||||
source ~/.config/nvim/plugins/vim-test.vim
|
||||
source ~/.config/nvim/plugins/visual-multi.vim
|
||||
source ~/.config/nvim/plugins/visual-star-search.vim
|
||||
source ~/.config/nvim/plugins/which-key.vim
|
||||
|
||||
call plug#end()
|
||||
doautocmd User PlugLoaded
|
||||
|
||||
"--------------------------------------------------------------------------
|
||||
" Miscellaneous
|
||||
"--------------------------------------------------------------------------
|
||||
|
||||
augroup FileTypeOverrides
|
||||
autocmd!
|
||||
" Use '//' instead of '/* */' comments
|
||||
autocmd FileType php setlocal commentstring=//%s
|
||||
autocmd TermOpen * setlocal nospell
|
||||
augroup END
|
||||
|
||||
Reference in New Issue
Block a user