.dotfiles/configs/init.vim

119 lines
2.8 KiB
VimL
Raw Normal View History

2021-03-18 14:10:29 +01:00
set number
2021-08-01 16:09:28 +02:00
set tabstop=2 " The width of a TAB is set to 4.
2021-06-11 13:56:40 +02:00
" Still it is a \t. It is just that
" Vim will interpret it to be having
" a width of 4.
2021-08-01 16:09:28 +02:00
set shiftwidth=2 " Indents will have a width of 4
2021-06-11 13:56:40 +02:00
2021-08-01 16:09:28 +02:00
set softtabstop=2 " Sets the number of columns for a TAB
2021-06-11 13:56:40 +02:00
set expandtab " Expand TABs to spaces
2021-03-18 14:10:29 +01:00
" Plugins will be downloaded under the specified directory.
call plug#begin('~/.vim/plugged')
2021-03-18 14:10:29 +01:00
" Declare the list of plugins.
Plug 'tpope/vim-sensible'
2021-08-01 16:09:28 +02:00
Plug 'prettier/vim-prettier', {
\ 'do': 'yarn install',
\ 'for': ['javascript', 'typescript', 'css', 'less', 'scss', 'json', 'graphql', 'markdown', 'vue', 'svelte', 'yaml', 'html'] }
2021-06-07 14:23:59 +02:00
Plug 'kaicataldo/material.vim', { 'branch': 'main' }
2021-03-18 14:10:29 +01:00
Plug 'ryanoasis/vim-devicons'
Plug 'preservim/nerdtree'
2021-08-01 16:09:28 +02:00
" For searching through file contents
Plug 'dyng/ctrlsf.vim'
2021-06-11 13:56:40 +02:00
" A status line to the bottom
" Plug 'itchyny/lightline.vim'
Plug 'vim-airline/vim-airline'
" Asynchronous Lint Engine
Plug 'dense-analysis/ale'
" Autocompletion engine
2021-06-11 13:56:40 +02:00
Plug 'neoclide/coc.nvim', {'branch': 'release'}
Plug 'mattn/emmet-vim'
Plug 'iamcco/markdown-preview.nvim', { 'do': 'cd app && yarn install' }
" Display Images in Vim
2021-08-01 16:09:28 +02:00
" Plug 'ashisha/image.vim'
2021-06-15 14:03:42 +02:00
2021-06-14 18:28:53 +02:00
" Svelte support
Plug 'leafOfTree/vim-svelte-plugin'
Plug 'evanleck/vim-svelte', {'branch': 'main'}
2021-06-14 18:28:53 +02:00
" Multi Cursor select
Plug 'mg979/vim-visual-multi', {'branch': 'master'}
" Plug 'ctrlpvim/ctrlp.vim'
Plug 'junegunn/fzf', { 'do': { -> fzf#install() } }
Plug 'kristijanhusak/vim-dadbod-ui'
2021-08-01 16:09:28 +02:00
Plug 'liuchengxu/vim-clap'
Plug 'glepnir/dashboard-nvim'
2021-03-18 14:10:29 +01:00
" List ends here. Plugins become visible to Vim after this call.
call plug#end()
2021-03-18 14:10:29 +01:00
" Or if you have Neovim >= 0.1.5
if (has("termguicolors"))
set termguicolors
endif
2021-06-11 13:56:40 +02:00
let g:svelte_preprocessors = ['typescript']
2021-03-18 14:10:29 +01:00
" Theme
syntax enable
2021-06-07 14:23:59 +02:00
let g:material_theme_style = 'ocean-community'
colorscheme material
2021-08-01 16:09:28 +02:00
" Remove background color
highlight Normal guibg=none
highlight NonText guibg=none
2021-06-11 13:56:40 +02:00
let g:lightline = {
\ 'colorscheme': 'one',
\ 'background': 'dark',
\ }
2021-03-18 14:10:29 +01:00
let mapleader = ","
2021-06-11 13:56:40 +02:00
nmap <leader>rn <Plug>(coc-rename)
2021-06-14 18:28:53 +02:00
"
nmap <C-p> :FZF<CR>
2021-06-11 13:56:40 +02:00
" COC Configs
set updatetime=300
2021-06-11 13:56:40 +02:00
" NerdTREE config
2021-03-18 14:10:29 +01:00
nmap <F6> :NERDTreeToggle<CR>
2021-06-11 13:56:40 +02:00
let NERDTreeShowHidden=1
au VimEnter * NERDTree
au VimEnter * if &filetype !=# 'gitcommit' | NERDTree | wincmd p | endif
2021-06-11 13:56:40 +02:00
nmap <C-h> <C-w>h
nmap <C-j> <C-w>j
nmap <C-k> <C-w>k
nmap <C-l> <C-w>l
2021-06-15 14:03:42 +02:00
nnoremap H gT
nnoremap L gt
2021-08-01 16:09:28 +02:00
:tnoremap <Esc> <C-\><C-n>
2021-06-15 14:03:42 +02:00
2021-06-11 13:56:40 +02:00
autocmd WinEnter * call s:CloseIfOnlyNerdTreeLeft()
" Close all open buffers on entering a window if the only
" buffer that's left is the NERDTree buffer
function! s:CloseIfOnlyNerdTreeLeft()
if exists("t:NERDTreeBufName")
if bufwinnr(t:NERDTreeBufName) != -1
if winnr("$") == 1
q
endif
endif
endif
endfunction