-
-
Save yellowbean/6880ae1d1cd79da98f0ba10156a1d4f2 to your computer and use it in GitHub Desktop.
neovim config
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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