Neovim 配置 Python 开发环境

Neovim 安装

安装

brew install neovim

添加Python支持

NeoVim原生是不带各种语言支持的,需要自己去安装和关联

pip3 install neovim

添加Python路径

编辑init.vim

let g:python3_host_prog = '/Library/Frameworks/Python.framework/Versions/3.7/bin/python3'

注意:虚拟环境一定要是绝对路径!不能用~/这样的

检查状态

nvim +checkhealth

正确输出:

image

Neovim设置

set nocompatible "关闭与vi的兼容模式
set number  "显示绝对行号
set rnu  "显示相对行号
set nowrap    "不自动折行
set showmatch    "显示匹配的括号
set scrolloff=3        "距离顶部和底部3行
set encoding=utf-8  "通用的 utf8 编码,避免乱码
set fenc=utf-8      "编码
set mouse=a        "启用鼠标
set hlsearch        "搜索高亮
set cc=80 "标尺线

set foldmethod=indent  " 代码折叠
set foldcolumn=0            "设置折叠区域的宽度
setlocal foldlevel=1        "设置折叠层数为
set foldlevelstart=99       "打开文件是默认不折叠代码
noremap <space> za  "设置快捷键为空格

syntax on    "语法高亮
filetype plugin indent on  "开启自动识别文件类型,并根据文件类型加载不同的插件和缩进规则
set clipboard=unnamed  "yy直接复制到系统剪切板(For macvim)
cmap w!! w !sudo tee >/dev/null %  "w!!写入只读文件

nnoremap <C-j> 4j  "ctr + j 每次移动4行
nnoremap <C-k> 4k

插件安装

安装插件管理器

推荐 vim-plug

curl -fLo ~/.local/share/nvim/site/autoload/plug.vim --create-dirs \
https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim

激活插件管理器

配置文件添加:

call plug#begin('~/.config/nvim/plugged')
  Plug 'Yggdroot/indentLine'  "缩进指示线
call plug#end()

配色主题:gruvbox

Plug 'morhetz/gruvbox'

设置

colorscheme gruvbox

自动补全:deoplete + deoplete-jedi

Plug 'Shougo/deoplete.nvim', { 'do': ':UpdateRemotePlugins' }
Plug 'deoplete-plugins/deoplete-jedi'

deoplete 是一款自动补全的引擎,具体对某种编程语言的自动补全支持,要安装对应的source 才能真正工作。
deoplete-jedi 是 Python 的 Source,需要补全其它语言在这里查找相应的资源。

插件设置:

" 自启动
let g:deoplete#enable_at_startup = 1

" 自动补全提示默认 ctrl-n 下翻页,改成 tab
inoremap <expr><tab> pumvisible() ? "\<c-n>" : "\<tab>"

" 自动补全提示默认 ctrl-p 下翻页,改成 s-tab
inoremap <expr><S-tab> pumvisible() ? "\<c-p>" : "\<tab>"

" 函数方法 Preview 的窗口自动关闭
autocmd InsertLeave,CompleteDone * if pumvisible() == 0 | pclose | endif

" Preview 窗口设为在当前窗口下面打开
set splitbelow

deoplete-jedi 默认配置就很好了

代码高亮:semshi

Plug 'numirias/semshi', {'do': ':UpdateRemotePlugins'}

自动缩进:indentpython

Plug 'vim-scripts/indentpython.vim'

自动补全括号:auto-pairs

Plug 'jiangmiao/auto-pairs' " 自动补全括号和引号等

状态栏:vim-airline

Plug 'vim-airline/vim-airline' " 状态栏

vim-airline提供了很多主题来个性化状态栏,不同主题的样子可以参见这里
更改vim-airline 主题方式很简单,首先安装插件vim-airlinetheme:

Plug 'vim-airline/vim-airline-themes'

然后在 Nvim 配置文件中,加入以下设置:

let g:airline_theme='<theme>' " <theme> 代表某个主题的名称

注释插件:nerdcommenter

Plug 'scrooloose/nerdcommenter'

插件设置:

" 注释符后面自动添加空格
let g:NERDSpaceDelims = 1

" 取消注释后删除注释符后的空格
let g:NERDTrimTrailingWhitespace = 1

" 启用NERDCommenterToggle以检查所有选定的行是否已注释
let g:NERDToggleCheckAllLines = 1

" 允许注释和倒空行(在注释区域时很有用)
let g:NERDCommentEmptyLines = 1

代码检查工具:Ale

Plug 'dense-analysis/ale'

插件设置:

let g:ale_sign_error = '>>'  " 自定义错误标志
let g:ale_sign_warning = '!'  " 自定义警告标志
" 指定修复 pep8 错误的 fixer
let g:ale_fixers = {'python': ['remove_trailing_lines', 'trim_whitespace', 'autopep8']}
nnoremap <C-S-l> :ALEFix<CR>  "修复语法和格式错误 ctr + shift + l"

文件树:nerdtree

Plug 'scrooloose/nerdtree'

显示 Git 变更状态:nerdtree-git-plugin

Plug 'Xuyuanp/nerdtree-git-plugin'

 上一篇
在树莓派上搭建 Time Machine 在树莓派上搭建 Time Machine
硬件 树莓派 2B (Raspbian) 硬盘盒 (需要带电源,树莓派供电不足 ) 硬盘 路由器(我的小米4A) 备份速度:2M/s,有速度要求的请更换强力配件或者其它方法 1. 准备硬盘 通过lsblk查看新硬盘盘符,使用cfdisk命
2019-11-12
下一篇 
Debian 系统 MongoDB 的安装与配置 Debian 系统 MongoDB 的安装与配置
一、安装sudo apt install mongodb 安装完毕 MongoDB 自动启动 二、启动与关闭启动默认配置启动/etc/mongodb.confsudo service mongodb start 自动后台运行 指定配置启动m
2019-11-04
  目录