Add dotfile tree
This commit is contained in:
178
tree/.config/nvim/init.vim.tpl
Normal file
178
tree/.config/nvim/init.vim.tpl
Normal file
@ -0,0 +1,178 @@
|
||||
runtime! archlinux.vim
|
||||
|
||||
if empty(glob('~/.local/share/nvim/site/autoload/plug.vim'))
|
||||
silent !curl -fLo ~/.local/share/nvim/site/autoload/plug.vim --create-dirs
|
||||
\ https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim
|
||||
autocmd VimEnter * PlugInstall --sync | source $MYVIMRC
|
||||
endif
|
||||
|
||||
" plugins
|
||||
call plug#begin('~/.local/share/nvim/plugged')
|
||||
Plug 'tpope/vim-fugitive'
|
||||
Plug 'easymotion/vim-easymotion'
|
||||
Plug 'roxma/vim-hug-neovim-rpc'
|
||||
Plug 'roxma/nvim-yarp'
|
||||
Plug 'airblade/vim-rooter'
|
||||
Plug 'junegunn/fzf'
|
||||
Plug 'Shougo/deoplete.nvim', { 'do': ':UpdateRemotePlugins' }
|
||||
Plug 'neutaaaaan/iosvkem'
|
||||
|
||||
" themes
|
||||
Plug 'chriskempson/base16-vim'
|
||||
|
||||
" gui stuff
|
||||
Plug 'itchyny/lightline.vim'
|
||||
Plug 'machakann/vim-highlightedyank'
|
||||
Plug 'terryma/vim-smooth-scroll'
|
||||
|
||||
" Language support
|
||||
Plug 'neoclide/coc.nvim', {'branch': 'release'}
|
||||
Plug 'rust-lang/rust.vim'
|
||||
Plug 'cespare/vim-toml'
|
||||
Plug 'dag/vim-fish'
|
||||
|
||||
call plug#end()
|
||||
|
||||
set nocompatible
|
||||
set backspace=indent,eol,start
|
||||
set tabstop=4
|
||||
set shiftwidth=4
|
||||
set noet
|
||||
|
||||
" preview substitute (%s/a/b)
|
||||
set inccommand=nosplit
|
||||
|
||||
" use unicode
|
||||
set encoding=utf-8
|
||||
|
||||
" show whitespace
|
||||
set listchars=nbsp:¬,trail:·,precedes:«,extends:▸,tab:»\
|
||||
set list
|
||||
|
||||
" highlight column 80
|
||||
"highlight ColorColumn ctermbg=darkgray
|
||||
highlight ColorColumn ctermbg=16
|
||||
set colorcolumn=100
|
||||
|
||||
" colors and themes
|
||||
set background = "dark"
|
||||
|
||||
if !has('gui_running')
|
||||
set t_Co=256
|
||||
endif
|
||||
if (match($TERM, "-256color") != -1) && (match($TERM, "screen-256color") == -1)
|
||||
" screen does not (yet) support truecolor
|
||||
set termguicolors
|
||||
endif
|
||||
let base16colorspace=256
|
||||
|
||||
{% if darkmode %}
|
||||
colorscheme base16-gruvbox-dark-hard
|
||||
{% end if %}
|
||||
|
||||
{% if lightmode %}
|
||||
colorscheme base16-gruvbox-light-hard
|
||||
{% end if %}
|
||||
|
||||
" brighter comments
|
||||
call Base16hi("Comment", g:base16_gui09, "", g:base16_cterm09, "", "", "")
|
||||
|
||||
" Lightline
|
||||
let g:lightline = {
|
||||
\ 'active': {
|
||||
\ 'left': [ [ 'mode', 'paste' ],
|
||||
\ [ 'cocstatus', 'readonly', 'filename', 'modified' ] ]
|
||||
\ },
|
||||
\ 'component_function': {
|
||||
\ 'filename': 'LightlineFilename',
|
||||
\ 'cocstatus': 'coc#status'
|
||||
\ },
|
||||
\ }
|
||||
function! LightlineFilename()
|
||||
return expand('%:t') !=# '' ? @% : '[No Name]'
|
||||
endfunction
|
||||
|
||||
" Use auocmd to force lightline update.
|
||||
autocmd User CocStatusChange,CocDiagnosticChange call lightline#update()
|
||||
|
||||
" misc
|
||||
set mouse=a
|
||||
|
||||
set history=50
|
||||
set ruler
|
||||
|
||||
set wildmode=longest,full
|
||||
set wildmenu
|
||||
|
||||
set suffixes=.bak,~,.swp,.o,.info,.aux,.log,.dvi,.bbl,.blg,.brf,.cb,.ind,.idx,.ilg,.inx,.out,.toc,.png,.jpg
|
||||
|
||||
set number
|
||||
set relativenumber
|
||||
set clipboard+=unnamedplus
|
||||
|
||||
" No arrow keys --- force yourself to use the home row
|
||||
nnoremap <up> <nop>
|
||||
nnoremap <down> <nop>
|
||||
nnoremap <left> <nop>
|
||||
nnoremap <right> <nop>
|
||||
inoremap <up> <nop>
|
||||
inoremap <down> <nop>
|
||||
inoremap <left> <nop>
|
||||
inoremap <right> <nop>
|
||||
|
||||
syntax enable
|
||||
filetype plugin indent on
|
||||
|
||||
" Rust syntax highlighting for rust-ish files
|
||||
autocmd BufNewFile,BufRead *.ron set syntax=rust
|
||||
autocmd BufNewFile,BufRead *.lalrpop set syntax=rust
|
||||
autocmd BufNewFile,BufRead *.pest set syntax=rust
|
||||
|
||||
" rust-stuff
|
||||
let g:rustfmt_autosave = 1
|
||||
let g:rustfmt_emit_files = 1
|
||||
let g:rustfmt_fail_silently = 0
|
||||
let g:rust_clip_command = 'xclip -selection clipboard'
|
||||
|
||||
" === FISH CONFIGURATION === "
|
||||
" Use fish for compiling fish-files
|
||||
autocmd FileType fish compiler fish
|
||||
" Code block folding
|
||||
"autocmd FileType fish setlocal foldmethod=expr
|
||||
" === ================== === "
|
||||
|
||||
" === KEY BINDINGS === "
|
||||
" Map <leader> to space
|
||||
let mapleader = " "
|
||||
|
||||
" Map to fuzzy file search
|
||||
noremap <leader>f :FZF<Enter>
|
||||
|
||||
" Clear highlights
|
||||
noremap <leader>h :noh<Enter>
|
||||
|
||||
" trigger vim-rooter
|
||||
noremap <c-r> :Rooter<Enter>
|
||||
let g:rooter_manual_only = 1
|
||||
|
||||
" Toggle between buffers
|
||||
nnoremap <leader><leader> <c-^>
|
||||
|
||||
" Managing tabs
|
||||
nnoremap <leader>n :tabe<Enter>:FZF<Enter>
|
||||
nnoremap <c-j> gt
|
||||
nnoremap <c-k> gT
|
||||
|
||||
" undo-redo
|
||||
nnoremap U :redo<Enter>
|
||||
|
||||
" language server shortcuts
|
||||
nnoremap <leader>a :CocAction<Enter>
|
||||
nnoremap <leader>r :CocCommand document.renameCurrentWord<Enter>
|
||||
|
||||
" vim-smooth-scroll hotkey overrides
|
||||
noremap <silent> <c-u> :call smooth_scroll#up(&scroll, 0, 3)<CR>
|
||||
noremap <silent> <c-d> :call smooth_scroll#down(&scroll, 0, 3)<CR>
|
||||
noremap <silent> <c-b> :call smooth_scroll#up(&scroll*2, 0, 4)<CR>
|
||||
noremap <silent> <c-f> :call smooth_scroll#down(&scroll*2, 0, 4)<CR>
|
||||
" ==================== "
|
||||
Reference in New Issue
Block a user