1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193
| set nu " 设置行号 " tab 缩进 set tabstop=4 " 设置Tab长度为4空格 set shiftwidth=4 " 设置自动缩进长度为4空格 set autoindent " 继承前一行的缩进方式,适用于多行注释
" 定义快捷键的前缀,即<Leader> let mapleader=";"
" 开启实时搜索 set incsearch " 搜索时大小写不敏感 set ignorecase syntax enable syntax on " 开启文件类型侦测 filetype plugin indent on " 启用自动补全
call plug Plug 'mhinz/vim-startify' Plug 'KeitaNakamura/neodark.vim' Plug 'crusoexia/vim-monokai' Plug 'acarapetis/vim-colors-github' Plug 'rakr/vim-one' Plug 'scrooloose/nerdtree' Plug 'vim-airline/vim-airline' Plug 'vim-airline/vim-airline-themes' Plug 'Xuyuanp/nerdtree-git-plugin' Plug 'fatih/vim-go' Plug 'neoclide/coc.nvim', {'branch': 'release'} Plug 'SirVer/ultisnips' Plug 'honza/vim-snippets' Plug 'vim-scripts/SuperTab' Plug 'nvim-tree/nvim-web-devicons' " Recommended (for coloured icons) " Plug 'ryanoasis/vim-devicons' Icons without colours Plug 'akinsho/bufferline.nvim', { 'tag': '*' } call plug
" 开启24bit的颜色,开启这个颜色会更漂亮一些 set termguicolors " 配色方案, 可以从上面插件安装中的选择一个使用 colorscheme one " 主题 set background=dark " 主题背景 dark-深色; light-浅色
" if hidden is not set, TextEdit might fail. set hidden
" Some servers have issues with backup files, see set nobackup set nowritebackup
" Better display for messages set cmdheight=2
" You will have bad experience for diagnostic messages when it's default 4000. set updatetime=300
" don't give |ins-completion-menu| messages. set shortmess+=c
" always show signcolumns set signcolumn=yes
" Use tab for trigger completion with characters ahead and navigate. " Use command ':verbose imap <tab>' to make sure tab is not mapped by other plugin. inoremap <silent><expr> <TAB> \ pumvisible() ? "\<C-n>" : \ <SID>check_back_space() ? "\<TAB>" : \ coc#refresh() inoremap <expr><S-TAB> pumvisible() ? "\<C-p>" : "\<C-h>"
function! s:check_back_space() abort let col = col('.') - 1 return !col || getline('.')[col - 1] =~# '\s' endfunction
" Use <c-space> to trigger completion. inoremap <silent><expr> <c-space> coc
" Use <cr> to confirm completion, `<C-g>u` means break undo chain at current position. " Coc only does snippet and additional edit on confirm. inoremap <expr> <cr> pumvisible() ? "\<C-y>" : "\<C-g>u\<CR>" " Or use `complete_info` if your vim support it, like: " inoremap <expr> <cr> complete_info()["selected"] != "-1" ? "\<C-y>" : "\<C-g>u\<CR>"
" Use `[g` and `]g` to navigate diagnostics nmap <silent> [g <Plug>(coc-diagnostic-prev) nmap <silent> ]g <Plug>(coc-diagnostic-next)
" Remap keys for gotos nmap <silent> gd <Plug>(coc-definition) nmap <silent> gy <Plug>(coc-type-definition) nmap <silent> gi <Plug>(coc-implementation) nmap <silent> gr <Plug>(coc-references)
" Use K to show documentation in preview window nnoremap <silent> K :call <SID>show_documentation()<CR>
function! s:show_documentation() if (index(['vim','help'], &filetype) >= 0) execute 'h '.expand('<cword>') else call CocAction('doHover') endif endfunction
" Highlight symbol under cursor on CursorHold autocmd CursorHold * silent call CocActionAsync('highlight')
" Remap for rename current word nmap <leader>rn <Plug>(coc-rename)
" Remap for format selected region xmap <leader>f <Plug>(coc-format-selected) nmap <leader>f <Plug>(coc-format-selected)
augroup mygroup autocmd! " Setup formatexpr specified filetype(s). autocmd FileType typescript,json setl formatexpr=CocAction('formatSelected') " Update signature help on jump placeholder autocmd User CocJumpPlaceholder call CocActionAsync('showSignatureHelp') augroup end
" Remap for do codeAction of selected region, ex: `<leader>aap` for current paragraph xmap <leader>a <Plug>(coc-codeaction-selected) nmap <leader>a <Plug>(coc-codeaction-selected)
" Remap for do codeAction of current line nmap <leader>ac <Plug>(coc-codeaction) " Fix autofix problem of current line nmap <leader>qf <Plug>(coc-fix-current)
" Create mappings for function text object, requires document symbols feature of languageserver. xmap if <Plug>(coc-funcobj-i) xmap af <Plug>(coc-funcobj-a) omap if <Plug>(coc-funcobj-i) omap af <Plug>(coc-funcobj-a)
" Use <TAB> for select selections ranges, needs server support, like: coc-tsserver, coc-python nmap <silent> <TAB> <Plug>(coc-range-select) xmap <silent> <TAB> <Plug>(coc-range-select)
" Use `:Format` to format current buffer command! -nargs=0 Format :call CocAction('format')
" Use `:Fold` to fold current buffer command! -nargs=? Fold :call CocAction('fold', <f-args>)
" use `:OR` for organize import of current buffer command! -nargs=0 OR :call CocAction('runCommand', 'editor.action.organizeImport')
" Add status line support, for integration with other plugin, checkout `:h coc-status` set statusline^=%{coc#status()}%{get(b:,'coc_current_function','')}
" Using CocList " Show all diagnostics nnoremap <silent> <space>a :<C-u>CocList diagnostics<cr> " Manage extensions nnoremap <silent> <space>e :<C-u>CocList extensions<cr> " Show commands nnoremap <silent> <space>c :<C-u>CocList commands<cr> " Find symbol of current document nnoremap <silent> <space>o :<C-u>CocList outline<cr> " Search workspace symbols nnoremap <silent> <space>s :<C-u>CocList -I symbols<cr> " Do default action for next item. nnoremap <silent> <space>j :<C-u>CocNext<CR> " Do default action for previous item. nnoremap <silent> <space>k :<C-u>CocPrev<CR> " Resume latest coc list nnoremap <silent> <space>p :<C-u>CocListResume<CR>
" 打开和关闭NERDTree快捷键 map <F10> :NERDTreeToggle<CR> " 显示行号 let NERDTreeShowLineNumbers=1 " 打开文件时是否显示目录 let NERDTreeAutoCenter=1 " 是否显示隐藏文件 let NERDTreeShowHidden=0 " 设置宽度 " let NERDTreeWinSize=31 " 忽略一下文件的显示 let NERDTreeIgnore=['\.pyc','\~$','\.swp'] " 打开 vim 文件及显示书签列表 let NERDTreeShowBookmarks=2
set termguicolors lua << EOF require("bufferline").setup{} EOF
|