注意:如果 … 阅读全文
注意:如果你使用的是 windows 下 git 自带的 vim,则会被认为处在 linux 环境下,安装插件目录需要选择 linux 的目录。
这一部分我自己也不咋用了,保留以前的 vim 版本吧
" vim-plug 安装
" sh -c 'curl -fLo "${XDG_DATA_HOME:-$HOME/.local/share}"/nvim/site/autoload/plug.vim --create-dirs \
" https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim'
call plug#begin('~/.vim/plugged/')
Plug 'skywind3000/vim-auto-popmenu'
Plug 'skywind3000/vim-dict'
Plug 'preservim/nerdtree'
Plug 'jiangmiao/auto-pairs'
Plug 'vim-airline/vim-airline'
Plug 'vim-airline/vim-airline-themes'
Plug 'morhetz/gruvbox'
Plug 'neoclide/coc.nvim', {'branch': 'release'}
Plug 'skywind3000/asynctasks.vim'
Plug 'skywind3000/asyncrun.vim'
call plug#end()
" 代码补全配置
" 设定需要生效的文件类型,如果是 "*" 的话,代表所有类型
let g:apc_enable_ft = {'*':1}
" 设定从字典文件以及当前打开的文件里收集补全单词,详情看 ':help cpt'
set cpt=.,k,w,b
" 不要自动选中第一个选项。
set completeopt=menu,menuone,noselect
" 禁止在下方显示一些啰嗦的提示
set shortmess+=c
" nerdtree 按 F1 打开关闭
map <F1> :NERDTreeToggle<CR>
" 状态栏设置
set laststatus=2 "永远显示状态栏
let g:airline_powerline_fonts = 1 " 支持 powerline 字体
let g:airline#extensions#tabline#enabled = 1 " 显示窗口 tab 和 buffer
let g:airline_theme='molokai' " murmur 配色不错
if !exists('g:airline_symbols')
let g:airline_symbols = {}
endif
let g:airline_left_sep = '▶'
let g:airline_left_alt_sep = '❯'
let g:airline_right_sep = '◀'
let g:airline_right_alt_sep = '❮'
let g:airline_symbols.linenr = '¶'
let g:airline_symbols.branch = '⎇'
" colorscheme pablo
" colorscheme torte
" colorscheme koehler
colorscheme gruvbox
set background=dark
" 设置颜色主题
" 映射两个代码运行的快捷键
let g:asyncrun_open = 10
noremap <silent><C-g> :AsyncTask file-run<cr>
noremap <silent><C-b> :AsyncTask file-build<cr>
去掉了快捷键基本上使用默认配置,F1 打开 nerdtree,Ctrl+g 运行当前文件,Ctrl+b 构建当前项目(但针对这一点我不做过多讲解,否则偏离了文章的主题)。使用 gruvbox 主题
更新一版,加入了 gui 和平台特性,因为我要在 win 下用 gvim
再一键安装 Coc 插件,这是我常用的,你可以装自己需要的插件
CocInstall coc-html coc-tsserver coc-sumneko-lua coc-sh coc-pyright coc-json coc-clangd
然后简单的配置一下 asyncrun, vim ~/.vim/tasks.ini,我常用的语言配置如下:
[file-run]
command="$(VIM_FILEPATH)"
command:python=python "$(VIM_FILENAME)"
command:javascript=node "$(VIM_FILENAME)"
command:sh=bash "$(VIM_FILENAME)"
command:lua=lua "$(VIM_FILENAME)"
command:rust=rust "$(VIM_FILENAME)"
output=terminal
cwd=$(VIM_FILEDIR)
save=2
这个插件功能十分强大,详情可见https://github.com/skywind3000/asynctasks.vim
这样的话,进行一些简易的代码编写和文本编辑都没问题了
后话
我并不建议将 neovim 作为大型项目的编辑器,因为它在项目管理,构建上的配置难度比单文件高得多,插件装得太多也会影响 neovim 本身的性能,所以还是专注于简单文本编辑比较好。如果需要管理大型工程,使用 vs、xcode 等 IDE 是更为明智的选择。 收起