Skip to content

Instantly share code, notes, and snippets.

@gmrdad82
Last active July 30, 2021 05:12
Show Gist options
  • Save gmrdad82/545e0172f09f45df51e37238135fd5b8 to your computer and use it in GitHub Desktop.
Save gmrdad82/545e0172f09f45df51e37238135fd5b8 to your computer and use it in GitHub Desktop.
set encoding=UTF-8
set exrc
set relativenumber
set nu
set hlsearch
set hidden
set noerrorbells
set tabstop=2 softtabstop=2 expandtab
set shiftwidth=2
set smartindent
set nowrap
set noignorecase
set noswapfile
set nobackup
set undodir=~/.vim/undodir
set undofile
set incsearch
set termguicolors
set scrolloff=8
set noshowmode
set completeopt=menuone,noinsert,noselect
set signcolumn=yes
set eol
set cmdheight=2
set updatetime=50
let $NVIM_TUI_ENABLE_CURSOR_SHAPE = 1
set guicursor=n-v-c-sm-i-ci-ve-r-cr-o:block
call plug#begin('~/.vim/plugged')
Plug 'alvan/vim-closetag'
Plug 'jiangmiao/auto-pairs'
Plug 'tpope/vim-surround'
Plug 'wellle/targets.vim'
Plug 'tpope/vim-repeat'
Plug 'airblade/vim-gitgutter'
Plug 'vim-airline/vim-airline'
Plug 'vim-airline/vim-airline-themes'
Plug 'honza/vim-snippets'
Plug 'scrooloose/nerdcommenter'
Plug 'arcticicestudio/nord-vim'
Plug 'prettier/vim-prettier', { 'do': 'yarn install' }
Plug 'vim-test/vim-test'
Plug 'nvim-lua/popup.nvim'
Plug 'nvim-lua/plenary.nvim'
Plug 'nvim-telescope/telescope.nvim'
Plug 'nvim-telescope/telescope-fzy-native.nvim'
Plug 'tpope/vim-fugitive'
Plug 'nvim-treesitter/nvim-treesitter', {'do': ':TSUpdate'}
Plug 'nvim-treesitter/playground'
Plug 'neoclide/coc.nvim', {'branch': 'release'}
Plug 'ayu-theme/ayu-vim'
Plug 'Yggdroot/indentLine'
call plug#end()
lua require 'nvim-treesitter.configs'.setup { highlight = { enable = true } }
let g:netrw_banner=1
let g:netrw_liststyle=1
let g:netrw_sort_options=""
let g:netrw_sort_by="name"
let g:ackprg = 'ag --nogroup --nocolor --column'
set termguicolors " enable true colors support
" let ayucolor="light" " for light version of theme
let ayucolor="mirage" " for mirage version of theme
" let ayucolor="dark" " for dark version of theme
colorscheme ayu
let mapleader=' '
" Find files using Telescope command-line sugar.
nnoremap <leader>ff <cmd>Telescope find_files<cr>
nnoremap <leader>fg <cmd>Telescope live_grep<cr>
nnoremap <leader>fb <cmd>Telescope buffers<cr>
nnoremap <leader>fh <cmd>Telescope help_tags<cr>
" these "Ctrl mappings" work well when Caps Lock is mapped to Ctrl
nmap <silent> t<C-n> :TestNearest<CR>
nmap <silent> t<C-f> :TestFile<CR>
nmap <silent> t<C-s> :TestSuite<CR>
nmap <silent> t<C-l> :TestLast<CR>
nmap <silent> t<C-g> :TestVisit<CR>
" Search in files
nnoremap <leader>ss :lua require('telescope.builtin').grep_string({ search = vim.fn.input('Find in files > ') })<cr>
" Return from file
nnoremap <leader>ffb <cmd>Rexplore<cr>
" Jump to definition
nnoremap <leader>gg <cmd>call CocActionAsync('jumpDefinition')<cr>
" Quick new file
nnoremap <Leader>n :enew<CR>
let g:indentLine_char_list = ['|', '¦', '┆', '┊']
let g:indentLine_showFirstIndentLevel = 1
let g:indentLine_setColors = 0
" Airline configuration
let g:airline_extensions = []
let g:airline#extensions#tabline#enabled = 1
let g:airline#extensions#coc#enabled = 1
let g:airline#extensions#whitespace#enabled = 1
let g:airline_right_sep = ''
let g:airline_right_alt_sep = ''
let g:airline#parts#ffenc#skip_expected_string='utf-8[unix]'
let g:airline#extensions#tabline#fnamemod = ':t'
let g:airline#extensions#tabline#buffer_nr_show = 1
let g:airline_powerline_fonts = 1
let g:airline_detect_spell = 0
let g:airline_section_b = '%{strftime("%H:%M")}'
let g:airline_theme='solarized'
" After searching, pressing escape stops the highlight
nnoremap <silent> <esc> :noh<cr><esc>
" Coc Solargraph
let g:coc_global_extensions = ['coc-solargraph']
fun! TrimWhitespace()
let l:save = winsaveview()
keeppatterns %s/\s\+$//e
call winrestview(l:save)
endfun
augroup TW
autocmd!
autocmd BufWritePre * :call TrimWhitespace()
augroup END
lua << EOF
local actions = require('telescope.actions')
require('telescope').setup {
defaults = {
file_sorter = require('telescope.sorters').get_fzy_sorter,
prompt_prefix = ' >',
color_devicons = true,
file_previewer = require('telescope.previewers').vim_buffer_cat.new,
grep_previewer = require('telescope.previewers').vim_buffer_vimgrep.new,
qflist_previewer = require('telescope.previewers').vim_buffer_qflist.new,
mappings = {
i = {
["<C-x>"] = false,
["<C-q>"] = actions.send_to_qflist,
},
}
},
extensions = {
fzy_native = {
override_generic_sorter = false,
override_file_sorter = true,
}
}
}
require('telescope').load_extension('fzy_native')
EOF
nnoremap <C-k> :cnext<CR>zz
nnoremap <C-j> :cprev<CR>zz
highlight Visual guifg=#B63B40 guibg=#FD7D7D gui=none
" WSL yank support
let s:clip = '/mnt/c/Windows/System32/clip.exe' " change this path according to your mount point
if executable(s:clip)
augroup WSLYank
autocmd!
autocmd TextYankPost * if v:event.operator ==# 'y' | call system(s:clip, @0) | endif
augroup END
endif
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment