Dotfiles/site-modules/core/files/vim/init.vim
Ade Attwood ec470f93db fix(vim): lint files when we open buffers
Currently they are only getting saved when you save buffers. I was
missing errors when jumping around because the files do not get saved.

This will now show me the errors when the buffer opens not only when the
buffer is saved and I get to see linting errors when jumping around a
codebase.
2022-07-25 19:57:00 +01:00

86 lines
2 KiB
VimL

" Set leader as space bar
let mapleader="\<Space>"
" Use the system clipboard with yank and paste
set clipboard=unnamedplus
" Setup better searching
set ignorecase
set incsearch
set smartcase
" Stay 20 chars from the top and bottom of the buffer so I am always editing
" in context
set scrolloff=20
" Using the mouse
set mouse=a
" Tabs and indenting
set tabstop=4
set shiftwidth=4
set expandtab
set autoindent
filetype plugin indent on
" Highlight the current line where the cursor is on
set cursorline
let g:vim_json_conceal=0
" Relative line numbers, this set line numbers a swell so the current line is
" displayed correctly. If this is not set then the current line is always 0
set relativenumber
set number
set conceallevel=0
" Ensure the signcolumn is on to stop jumping for LSP diagnostics
set signcolumn=yes
" Disable swap files
set noswapfile
" Disable line wrapping
set nowrap
packadd! command-t
noremap <leader>p :CommandT<cr>
noremap <silent> <leader>q :bdelete<cr>
noremap <silent> <leader>fs :w<cr>
noremap <silent> <leader>o :Open
noremap <silent> [b :bp<cr>
noremap <silent> ]b :bn<cr>
noremap <silent> [q :cprevious<cr>
noremap <silent> ]q :cnext<cr>
inoremap <M-;> <esc>A;
noremap <leader>; gcc
"vnoremap <leader>; gc
" Lint code with nvim-lint on save. This will lint all filetypes with cspell
" and then any other filetypes will be linted per the config.
au BufWritePost,BufReadPost <buffer> lua require('lint').try_lint('cspell')
au BufWritePost,BufReadPost <buffer> lua require('lint').try_lint()
inoremap jj <esc>:w<cr>
nnoremap <leader><tab> <c-^>
" Use the CommandTWildIgnore insted of the wildignore so I can still get
" completion for :e in folders like vendor or node_modules but, they will be
" ignored from command-t file searches.
let g:CommandTWildIgnore="*/node_modules/*,*/vendor/*,*/runtime/*,*/public_html/*,*/pack/*"
" Required for complietion with nvim-cmp
set completeopt=menu,menuone,noselect
" Format code on save
augroup fmt
autocmd!
autocmd BufWritePre * undojoin | Neoformat
augroup END