Skip to content

Instantly share code, notes, and snippets.

@yellowbean
Created April 17, 2022 18:51
Show Gist options
  • Save yellowbean/6880ae1d1cd79da98f0ba10156a1d4f2 to your computer and use it in GitHub Desktop.
Save yellowbean/6880ae1d1cd79da98f0ba10156a1d4f2 to your computer and use it in GitHub Desktop.
neovim config
call plug#begin(stdpath('data') . '/plugged')
" git
Plug 'tpope/vim-fugitive'
Plug 'airblade/vim-gitgutter'
" Specify your required plugins here.
Plug 'liuchengxu/vim-better-default'
"
" " Optional useful plugins I highly recommend.
Plug 'easymotion/vim-easymotion'
Plug 'guns/vim-sexp'
Plug 'tpope/vim-sexp-mappings-for-regular-people'
" Plug 'ncm2/float-preview.nvim'
Plug 'jiangmiao/auto-pairs', { 'tag': 'v2.0.0' }
Plug 'w0rp/ale'
"complete"
"Plug 'roxma/nvim-yarp'
"Plug 'ncm2/ncm2'
"Plug 'ncm2/ncm2-bufword'
"Plug 'ncm2/ncm2-path'
"Plug 'clojure-vim/async-clj-omni'
"format clojure"
Plug 'clojure-vim/clojure.vim'
Plug 'guns/vim-clojure-highlight'
Plug 'Yggdroot/indentLine'
"Plug 'venantius/vim-cljfmt'
"file
if has('nvim')
Plug 'Shougo/deoplete.nvim' , { 'do': ':UpdateRemotePlugins' }
Plug 'Shougo/defx.nvim', { 'do': ':UpdateRemotePlugins' }
else
Plug 'Shougo/defx.nvim'
Plug 'roxma/nvim-yarp'
Plug 'roxma/vim-hug-neovim-rpc'
endif
"buf select
Plug 'jlanzarotta/bufexplorer'
Plug 'kristijanhusak/defx-git'
"fzf
Plug 'junegunn/fzf', { 'do': { -> fzf#install() } }
Plug 'junegunn/fzf.vim'
Plug 'kyazdani42/nvim-web-devicons'
Plug 'majutsushi/tagbar'
" " I skipped vim-clap but feel free to add it!
"
"
" " Conjure! :D
Plug 'Olical/conjure', { 'tag': 'v4.3.1' }
Plug 'neoclide/coc.nvim', {'branch': 'release'}
Plug 'neovimhaskell/haskell-vim'
Plug 'ndmitchell/ghcid', {'rtp':'plugins/nvim'}
" start Ghcid/ end GhcidKill"
" " Initialize plugin system.
"elm
Plug 'ElmCast/elm-vim'
Plug 'andys8/vim-elm-syntax'
Plug 'elm-tooling/elm-language-server'
"vim
Plug 'mbbill/undotree'
Plug 'prabirshrestha/vim-lsp'
Plug 'mattn/vim-lsp-settings'
Plug 'vim-airline/vim-airline'
Plug 'vim-airline/vim-airline-themes'
Plug 'folke/tokyonight.nvim', { 'branch': 'main' }
"format
Plug 'stephpy/vim-yaml'
call plug#end()
"
" " Configuration for various plugins.
"# let g:deoplete#enable_at_startup = 1
""call deoplete#custom#option('keyword_patterns', {'clojure':'[\w!$%&*+/:<=>?@\^_~\-\.#]*'})
" set completeopt-=preview
"
"let g:float_preview#docked = 0
"let g:float_preview#max_width = 80
"let g:float_preview#max_height = 40
"
let g:maplocalleader="\<Space>"
let g:mapleader="\<Space>"
let g:ale_linters = {'clojure': ['clj-kondo', 'joker'],'elm':['elm-ls']}
let g:python3_host_prog = '/usr/bin/python3'
"elm
let g:syntastic_always_populate_loc_list = 1
let g:syntastic_auto_loc_list = 1
let g:elm_syntastic_show_warnings = 1
let g:tagbar_type_elm = {
\ 'kinds' : [
\ 'f:function:0:0',
\ 'm:modules:0:0',
\ 'i:imports:1:0',
\ 't:types:1:0',
\ 'a:type aliases:0:0',
\ 'c:type constructors:0:0',
\ 'p:ports:0:0',
\ 's:functions:0:0',
\ ]
\}
nmap <F8> :TagbarToggle<CR>
let g:tagbar_autofocus=1
let g:tagbar_autoclose=1
"defx
call defx#custom#option('_', {
\ 'winwidth': 30,
\ 'split': 'vertical',
\ 'direction': 'topleft',
\ 'show_ignored_files': 0,
\ 'buffer_name': 'defxploerer',
\ 'toggle': 1,
\ 'resume': 1
\ })
"easymotion
let g:EasyMotion_do_mapping = 0
nmap s <Plug>(easymotion-overwin-f)
map <leader>j <Plug>(easymotion-j)
map <leader>k <Plug>(easymotion-k)
"fzf
nnoremap <leader>f :Files<Cr>
nnoremap <leader>g :GFiles<Cr>
nnoremap <leader>h :History<Cr>
nnoremap <leader>hh :History:<Cr>
nnoremap <leader>c :Commits<Cr>
" ripgrep
nnoremap <localleader>rg :Rg<Cr>
"undo tree
nnoremap <localleader>u :UndotreeToggle<Cr>
"conjure
let g:conjure#log#botright = 1
"defx
nnoremap <localleader>n :Defx<Cr>
autocmd FileType defx call s:defx_my_settings()
function! s:defx_my_settings() abort
" Define mappings
nnoremap <silent><buffer><expr> <CR> defx#do_action('drop')
nnoremap <silent><buffer><expr> c
\ defx#do_action('copy')
nnoremap <silent><buffer><expr> m
\ defx#do_action('move')
nnoremap <silent><buffer><expr> p
\ defx#do_action('paste')
nnoremap <silent><buffer><expr> l
\ defx#do_action('open')
nnoremap <silent><buffer><expr> E
\ defx#do_action('open', 'vsplit')
nnoremap <silent><buffer><expr> P
\ defx#do_action('open', 'pedit')
nnoremap <silent><buffer><expr> o
\ defx#do_action('open_or_close_tree')
nnoremap <silent><buffer><expr> K
\ defx#do_action('new_directory')
nnoremap <silent><buffer><expr> N
\ defx#do_action('new_file')
nnoremap <silent><buffer><expr> M
\ defx#do_action('new_multiple_files')
nnoremap <silent><buffer><expr> C
\ defx#do_action('toggle_columns',
\ 'mark:indent:icon:filename:type:size:time')
nnoremap <silent><buffer><expr> S
\ defx#do_action('toggle_sort', 'time')
nnoremap <silent><buffer><expr> d
\ defx#do_action('remove')
nnoremap <silent><buffer><expr> r
\ defx#do_action('rename')
nnoremap <silent><buffer><expr> !
\ defx#do_action('execute_command')
nnoremap <silent><buffer><expr> x
\ defx#do_action('execute_system')
nnoremap <silent><buffer><expr> yy
\ defx#do_action('yank_path')
nnoremap <silent><buffer><expr> .
\ defx#do_action('toggle_ignored_files')
nnoremap <silent><buffer><expr> ;
\ defx#do_action('repeat')
nnoremap <silent><buffer><expr> h
\ defx#do_action('cd', ['..'])
nnoremap <silent><buffer><expr> ~
\ defx#do_action('cd')
nnoremap <silent><buffer><expr> q
\ defx#do_action('quit')
nnoremap <silent><buffer><expr> <Space>
\ defx#do_action('toggle_select') . 'j'
nnoremap <silent><buffer><expr> *
\ defx#do_action('toggle_select_all')
nnoremap <silent><buffer><expr> j
\ line('.') == line('$') ? 'gg' : 'j'
nnoremap <silent><buffer><expr> k
\ line('.') == 1 ? 'G' : 'k'
nnoremap <silent><buffer><expr> <C-l>
\ defx#do_action('redraw')
nnoremap <silent><buffer><expr> <C-g>
\ defx#do_action('print')
nnoremap <silent><buffer><expr> cd
\ defx#do_action('change_vim_cwd')
endfunction
nnoremap <silent> <leader>1 :source ~/.config/nvim/init.vim \| :PlugInstall<CR>
set nu
set relativenumber
set listchars+=space:␣
set list
set colorcolumn=80
set mouse+=a
set wrap
let g:terminal_scrollback_buffer_size = 100000
colorscheme tokyonight
highlight ColorColumn ctermbg=238
syntax on
filetype plugin indent on
set cursorcolumn
highlight CursorLine ctermbg=241 guibg=Grey25
highlight CursorColumn ctermbg=241 guibg=Grey25
let g:deoplete#enable_at_startup = 1
let g:clojure_fuzzy_indent = 1
"Buff select
"indentLine
"set omnifunc=syntaxcomplete#Complete
" "autocmd BufEnter * call ncm2#enable_for_buffer()
" "set completeopt=noinsert,menuone,noselect
"" au User asyncomplete_setup call asyncomplete#register_source({
"" \ 'name':'async_clj_omni',
"" \ 'whilelist':['clojure'],
"" \ 'completor':function('async_clj_omni#source#complete'),
"" \ })
"haskell
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment