168 lines
3.4 KiB
VimL
168 lines
3.4 KiB
VimL
"" Encoding
|
|
set encoding=utf8
|
|
|
|
"" Disable modeline
|
|
set nomodeline
|
|
|
|
"" System undo levels
|
|
set undofile
|
|
set undolevels=100
|
|
|
|
" Line Numbers
|
|
set number
|
|
set relativenumber
|
|
|
|
"" Stop word wrapping
|
|
set nowrap
|
|
|
|
"" Hide Buffers
|
|
set hidden
|
|
|
|
"" Statusline
|
|
set laststatus=0
|
|
|
|
"" Top/Bottom scroll padding
|
|
set scrolloff=3
|
|
set sidescrolloff=5
|
|
|
|
" Syntax Colors
|
|
set termguicolors
|
|
|
|
" Misc
|
|
set title
|
|
|
|
" Indentation
|
|
set softtabstop=2
|
|
set tabstop=2
|
|
set shiftwidth=2
|
|
set autoindent
|
|
|
|
" Syntax
|
|
syntax on
|
|
|
|
" Save on close
|
|
set confirm
|
|
|
|
" Use system clipboard
|
|
set clipboard=unnamedplus
|
|
|
|
" Faster scrolling
|
|
set ttyfast
|
|
|
|
" Search
|
|
set hlsearch
|
|
set smartcase
|
|
set showmatch
|
|
|
|
" Undo
|
|
set undolevels=1000
|
|
|
|
" Filetypes
|
|
filetype plugin on
|
|
|
|
" auto-install vim-plug
|
|
if empty(glob('~/.config/nvim/autoload/plug.vim'))
|
|
silent !curl -fLo ~/.config/nvim/autoload/plug.vim --create-dirs
|
|
\ https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim
|
|
autocmd VimEnter * PlugInstall
|
|
autocmd VimEnter * PlugInstall | source $MYVIMRC
|
|
endif
|
|
|
|
call plug#begin('~/.config/nvim/autoload/plugged')
|
|
Plug 'neovim/nvim-lspconfig'
|
|
Plug 'nvim-treesitter/nvim-treesitter', { 'do': ':TSUpdate' }
|
|
Plug 'nvim-lua/plenary.nvim'
|
|
|
|
Plug 'nvim-telescope/telescope.nvim'
|
|
|
|
Plug 'BurntSushi/ripgrep'
|
|
Plug 'sharkdp/fd'
|
|
|
|
Plug 'baliestri/aura-theme', { 'branch': 'feat/neovim-port', 'rtp': 'packages/neovim' }
|
|
|
|
Plug 'lukelbd/vim-toggle'
|
|
|
|
Plug 'kyazdani42/nvim-tree.lua'
|
|
|
|
Plug 'dense-analysis/ale'
|
|
|
|
Plug 'preservim/nerdcommenter'
|
|
|
|
Plug 'akinsho/bufferline.nvim', { 'tag': '*' }
|
|
|
|
Plug 'skywind3000/asyncrun.vim'
|
|
call plug#end()
|
|
|
|
" Use aura theme installed above
|
|
colorscheme aura-soft-dark
|
|
|
|
" - Core Key Bindings -
|
|
"" Map Leader to spacebar
|
|
let mapleader=" "
|
|
"" Shortcut to save
|
|
nnoremap <Leader>s :w<CR>
|
|
"" Shortcut to close buffer
|
|
nnoremap <Leader>w :bd<CR>
|
|
"" Moving current lines up/down
|
|
nnoremap <Leader>k :<c-u>execute 'move -1-'. v:count1<cr>
|
|
nnoremap <Leader>j :<c-u>execute 'move +'. v:count1<cr>
|
|
"" Buffers Next/Previous
|
|
nnoremap <Tab> :bnext<CR>
|
|
nnoremap <S-Tab> :bprev<CR>
|
|
"" Shortcut to close buffer
|
|
nnoremap <Esc><Esc> :bd<CR>
|
|
"" Shortcut to reopen closed buffer
|
|
nmap <Leader><Leader> <c-^>
|
|
"" Toggle
|
|
let g:toggle_map = '<C-a>'
|
|
"" Tree
|
|
lua require'nvim-tree'.setup {}
|
|
let g:nvim_tree_icons = {
|
|
\ 'default': "",
|
|
\ 'symlink': "",
|
|
\ 'git': {
|
|
\ 'unstaged': "✗",
|
|
\ 'staged': "✓",
|
|
\ 'unmerged': "",
|
|
\ 'renamed': "➜",
|
|
\ 'untracked': "★",
|
|
\ 'deleted': "R",
|
|
\ 'ignored': "◌"
|
|
\ },
|
|
\ 'folder': {
|
|
\ 'arrow_open': ">",
|
|
\ 'arrow_closed': "<",
|
|
\ 'default': "",
|
|
\ 'open': "",
|
|
\ 'empty': "=",
|
|
\ 'empty_open': "==",
|
|
\ 'symlink': "-",
|
|
\ 'symlink_open': "--",
|
|
\ }
|
|
\ }
|
|
nnoremap <Leader>` :NvimTreeToggle<CR>
|
|
"" Lint
|
|
let b:ale_fixers = ['prettier', 'eslint']
|
|
"" LSP
|
|
lua <<EOF
|
|
require'lspconfig'.pyright.setup{}
|
|
EOF
|
|
"" Telescope
|
|
nnoremap <leader>ff <cmd>Telescope find_files<cr>
|
|
nnoremap <leader>fb <cmd>Telescope buffers<cr>
|
|
nnoremap <leader>fs <cmd>Telescope spell_suggest<cr>
|
|
nnoremap <leader>fr <cmd>Telescope registers<cr>
|
|
nnoremap <leader>fo <cmd>Telescope oldfiles<cr>
|
|
nnoremap <leader>g <cmd>Telescope live_grep<cr>
|
|
nnoremap <leader>/ <cmd>Telescope current_buffer_fuzzy_find<cr>
|
|
" Bufferline
|
|
lua << EOF
|
|
require("bufferline").setup {
|
|
options = {
|
|
show_buffer_close_icons = false,
|
|
diagnostics = "nvim_lsp"
|
|
}
|
|
}
|
|
EOF
|
|
" Async Run (:AsyncRun)
|
|
let g:asyncrun_open=1
|