mirror of
https://github.com/donovanglover/nix-config.git
synced 2025-01-30 17:48:40 +01:00
wip: Neoify vim config
Removing old and outdated stuff that is no longer relevant or doesn't apply to neovim specifically.
This commit is contained in:
parent
be51dac62a
commit
1128ee65fd
@ -6,6 +6,19 @@
|
|||||||
extraConfig = ''
|
extraConfig = ''
|
||||||
set undofile
|
set undofile
|
||||||
set spell
|
set spell
|
||||||
|
set number
|
||||||
|
set clipboard=unnamedplus
|
||||||
|
|
||||||
|
autocmd VimLeave * set guicursor=a:block-blinkon1
|
||||||
|
|
||||||
|
map <MiddleMouse> <Nop>
|
||||||
|
imap <MiddleMouse> <Nop>
|
||||||
|
map <2-MiddleMouse> <Nop>
|
||||||
|
imap <2-MiddleMouse> <Nop>
|
||||||
|
map <3-MiddleMouse> <Nop>
|
||||||
|
imap <3-MiddleMouse> <Nop>
|
||||||
|
map <4-MiddleMouse> <Nop>
|
||||||
|
imap <4-MiddleMouse> <Nop>
|
||||||
'';
|
'';
|
||||||
plugins = with pkgs.vimPlugins; [
|
plugins = with pkgs.vimPlugins; [
|
||||||
{
|
{
|
||||||
|
@ -1,16 +0,0 @@
|
|||||||
" New Start: A modern Arch workflow built with an emphasis on functionality.
|
|
||||||
" Copyright (C) 2017-2018 Donovan Glover
|
|
||||||
|
|
||||||
set runtimepath^=~/.vim runtimepath+=~/.vim/after
|
|
||||||
|
|
||||||
let &packpath = &runtimepath
|
|
||||||
|
|
||||||
" Enable global clipboard support for all vim commands in neovim
|
|
||||||
" NOTE: It may be better to just add a keybind for "+(y), or just
|
|
||||||
" use that instead.
|
|
||||||
set clipboard=unnamedplus
|
|
||||||
|
|
||||||
" Change cursor back to blink after exiting neovim
|
|
||||||
autocmd VimLeave * set guicursor=a:block-blinkon1
|
|
||||||
|
|
||||||
source ~/.vimrc
|
|
@ -1,15 +0,0 @@
|
|||||||
# neovim
|
|
||||||
|
|
||||||
[neovim][neovim] is a vim fork with modern defaults.
|
|
||||||
|
|
||||||
## Use Cases
|
|
||||||
|
|
||||||
neovim can be used to:
|
|
||||||
|
|
||||||
- Simplify the process of learning vim, since it uses standard defaults
|
|
||||||
|
|
||||||
You should not use neovim if:
|
|
||||||
|
|
||||||
- You should use neovim.
|
|
||||||
|
|
||||||
[neovim]: https://github.com/neovim/neovim
|
|
119
vim/.vimrc
119
vim/.vimrc
@ -1,14 +1,3 @@
|
|||||||
" New Start: A modern Arch workflow built with an emphasis on functionality.
|
|
||||||
" Copyright (C) 2017-2023 Donovan Glover
|
|
||||||
|
|
||||||
let plugsys = glob('/usr/share/vim/vimfiles/autoload/plug.vim')
|
|
||||||
let plugusr = glob('~/.vim/autoload/plug.vim')
|
|
||||||
|
|
||||||
if empty(plugsys) && empty(plugusr)
|
|
||||||
silent !curl -fLo ~/.vim/autoload/plug.vim --create-dirs
|
|
||||||
\ https://raw.githubusercontent.com/junegunn/vim-plug/0.10.0/plug.vim
|
|
||||||
endif
|
|
||||||
|
|
||||||
let g:ale_disable_lsp = 1
|
let g:ale_disable_lsp = 1
|
||||||
|
|
||||||
autocmd FileType javascript let g:ale_linters = {
|
autocmd FileType javascript let g:ale_linters = {
|
||||||
@ -16,19 +5,12 @@ autocmd FileType javascript let g:ale_linters = {
|
|||||||
\}
|
\}
|
||||||
|
|
||||||
call plug#begin('~/.vim/plugged')
|
call plug#begin('~/.vim/plugged')
|
||||||
Plug 'dylanaraps/wal.vim' " Color scheme
|
|
||||||
Plug 'preservim/nerdtree'
|
|
||||||
Plug 'airblade/vim-gitgutter' " Git diff
|
|
||||||
Plug 'itchyny/lightline.vim' " Status line
|
|
||||||
Plug 'dense-analysis/ale' " Syntax checker
|
Plug 'dense-analysis/ale' " Syntax checker
|
||||||
Plug 'tpope/vim-fugitive' " Git wrapper
|
|
||||||
Plug 'junegunn/fzf.vim' " fzf wrapper
|
|
||||||
Plug 'lunarWatcher/auto-pairs' " {Pair} completion
|
Plug 'lunarWatcher/auto-pairs' " {Pair} completion
|
||||||
Plug 'tpope/vim-endwise' " 'End' completion
|
Plug 'tpope/vim-endwise' " 'End' completion
|
||||||
Plug 'reedes/vim-pencil' " Word wrap
|
Plug 'reedes/vim-pencil' " Word wrap
|
||||||
Plug 'junegunn/goyo.vim' " Distraction-free writing
|
Plug 'junegunn/goyo.vim' " Distraction-free writing
|
||||||
Plug 'jparise/vim-graphql' " GraphQL support
|
Plug 'jparise/vim-graphql' " GraphQL support
|
||||||
Plug 'ryanoasis/vim-devicons'
|
|
||||||
|
|
||||||
Plug 'osyo-manga/vim-over'
|
Plug 'osyo-manga/vim-over'
|
||||||
Plug 'maksimr/vim-jsbeautify'
|
Plug 'maksimr/vim-jsbeautify'
|
||||||
@ -103,28 +85,10 @@ set smarttab " Always indent based on column number to align t
|
|||||||
set mouse=a " Enable mouse support in (a)ll modes
|
set mouse=a " Enable mouse support in (a)ll modes
|
||||||
set number " Show numbers by default
|
set number " Show numbers by default
|
||||||
|
|
||||||
" Disable middle button click
|
|
||||||
map <MiddleMouse> <Nop>
|
|
||||||
imap <MiddleMouse> <Nop>
|
|
||||||
map <2-MiddleMouse> <Nop>
|
|
||||||
imap <2-MiddleMouse> <Nop>
|
|
||||||
map <3-MiddleMouse> <Nop>
|
|
||||||
imap <3-MiddleMouse> <Nop>
|
|
||||||
map <4-MiddleMouse> <Nop>
|
|
||||||
imap <4-MiddleMouse> <Nop>
|
|
||||||
|
|
||||||
" ==========================
|
" ==========================
|
||||||
" ========= colors =========
|
" ========= colors =========
|
||||||
" ==========================
|
" ==========================
|
||||||
|
|
||||||
" Set the color scheme to wal, or install plugins as needed.
|
|
||||||
try
|
|
||||||
colorscheme wal
|
|
||||||
catch /^Vim\%((\a\+)\)\=:E185/
|
|
||||||
echo "wal was not found. Installing plugins...\n" | PlugInstall --sync
|
|
||||||
echo "Plugins installed! You can now use vim.\n" | qa
|
|
||||||
endtry
|
|
||||||
|
|
||||||
" Don't show the separator for vertical splits
|
" Don't show the separator for vertical splits
|
||||||
highlight vertsplit ctermfg=0 ctermbg=none
|
highlight vertsplit ctermfg=0 ctermbg=none
|
||||||
|
|
||||||
@ -139,50 +103,6 @@ highlight IncSearch ctermbg=255 ctermfg=240
|
|||||||
autocmd BufNewFile,BufRead *.ecr setlocal syntax=html
|
autocmd BufNewFile,BufRead *.ecr setlocal syntax=html
|
||||||
autocmd BufNewFile,BufRead *.slang setlocal filetype=slim
|
autocmd BufNewFile,BufRead *.slang setlocal filetype=slim
|
||||||
|
|
||||||
" =============================
|
|
||||||
" ========= lightline =========
|
|
||||||
" =============================
|
|
||||||
|
|
||||||
" Add the current branch to the status line
|
|
||||||
let g:lightline = {
|
|
||||||
\ 'active': {
|
|
||||||
\ 'left': [
|
|
||||||
\ [ 'mode', 'paste' ], [ 'gitbranch' ],
|
|
||||||
\ ['readonly', 'filename', 'modified']
|
|
||||||
\ ]
|
|
||||||
\ },
|
|
||||||
\ 'component_function': {
|
|
||||||
\ 'gitbranch': 'fugitive#head'
|
|
||||||
\ }
|
|
||||||
\ }
|
|
||||||
|
|
||||||
" Note that wal.vim's lightline theme uses some options that are incompatible
|
|
||||||
" with regular vim and are only supported by neovim.
|
|
||||||
"
|
|
||||||
" Wal Themes: Tomorrow, Tomorrow_Night, one, materia, material, nord
|
|
||||||
" Other Themes: wombat, solarized, powerline, jellybeans, Tomorrow_Night_Blue,
|
|
||||||
" Tomorrow_Night_Eighties, PaperColor, seoul256, landscape,
|
|
||||||
" darcula, molokai, OldHope, deus
|
|
||||||
if has('nvim')
|
|
||||||
let g:lightline.colorscheme = 'wal'
|
|
||||||
else
|
|
||||||
let g:lightline.colorscheme = 'Tomorrow_Night'
|
|
||||||
endif
|
|
||||||
|
|
||||||
" Make background color of lightline match terminal
|
|
||||||
" https://github.com/itchyny/lightline.vim/issues/168
|
|
||||||
autocmd VimEnter * call SetupLightlineColors()
|
|
||||||
function SetupLightlineColors() abort
|
|
||||||
" transparent background in statusbar
|
|
||||||
let l:palette = lightline#palette()
|
|
||||||
|
|
||||||
let l:palette.normal.middle = [ [ 'NONE', 'NONE', 'NONE', 'NONE' ] ]
|
|
||||||
let l:palette.inactive.middle = l:palette.normal.middle
|
|
||||||
let l:palette.tabline.middle = l:palette.normal.middle
|
|
||||||
|
|
||||||
call lightline#colorscheme()
|
|
||||||
endfunction
|
|
||||||
|
|
||||||
" ============================
|
" ============================
|
||||||
" ========= keybinds =========
|
" ========= keybinds =========
|
||||||
" ============================
|
" ============================
|
||||||
@ -225,23 +145,6 @@ nnoremap <silent> <leader>4 :source ~/.vim/.session<CR>
|
|||||||
" Never worry about a directory not being created before saving
|
" Never worry about a directory not being created before saving
|
||||||
autocmd BufWritePre,FileWritePre * silent! call mkdir(expand('<afile>:p:h'), 'p')
|
autocmd BufWritePre,FileWritePre * silent! call mkdir(expand('<afile>:p:h'), 'p')
|
||||||
|
|
||||||
" =========================
|
|
||||||
" ========= netrw =========
|
|
||||||
" =========================
|
|
||||||
|
|
||||||
" Remove the banner
|
|
||||||
let g:netrw_banner = 0
|
|
||||||
|
|
||||||
" Use the tree list view
|
|
||||||
let g:netrw_liststyle = 3
|
|
||||||
|
|
||||||
" =======================
|
|
||||||
" ========= ale =========
|
|
||||||
" =======================
|
|
||||||
|
|
||||||
nmap <silent> <C-j> <Plug>(ale_previous_wrap)
|
|
||||||
nmap <silent> <C-k> <Plug>(ale_next_wrap)
|
|
||||||
|
|
||||||
" ==========================
|
" ==========================
|
||||||
" ========= vimtex =========
|
" ========= vimtex =========
|
||||||
" ==========================
|
" ==========================
|
||||||
@ -273,25 +176,3 @@ let g:vim_markdown_conceal = 0
|
|||||||
let g:tex_conceal = ""
|
let g:tex_conceal = ""
|
||||||
let g:vim_markdown_math = 1
|
let g:vim_markdown_math = 1
|
||||||
|
|
||||||
" ============================
|
|
||||||
" ========= nerdtree =========
|
|
||||||
" ============================
|
|
||||||
|
|
||||||
let NERDTreeShowHidden=1
|
|
||||||
|
|
||||||
" Exit if NERDTree is the only window remaining in the only tab.
|
|
||||||
autocmd BufEnter * if tabpagenr('$') == 1 && winnr('$') == 1 && exists('b:NERDTree') && b:NERDTree.isTabTree() | quit | endif
|
|
||||||
|
|
||||||
let NERDTreeStatusline='%{exists("b:NERDTree")?fnamemodify(b:NERDTree.root.path.str(), ":~"):""}'
|
|
||||||
|
|
||||||
" ===========================
|
|
||||||
" ========= fzf.vim =========
|
|
||||||
" ===========================
|
|
||||||
|
|
||||||
" Hide the status line showing "fzf" when using fzf.vim
|
|
||||||
" NOTE: You must add "showmode" if your setup depends on it
|
|
||||||
autocmd! FileType fzf
|
|
||||||
autocmd FileType fzf set laststatus=0 noshowmode noruler
|
|
||||||
\| autocmd BufLeave <buffer> set laststatus=2 ruler
|
|
||||||
|
|
||||||
hi Comment cterm=italic gui=italic
|
|
||||||
|
Loading…
Reference in New Issue
Block a user