博客
关于我
如何将你的 neovim 打造成 vscode 一般的 Python IDE?
阅读量:677 次
发布时间:2019-03-17

本文共 3432 字,大约阅读时间需要 11 分钟。

将 neovim 打造成 vscode 一般的 Python IDE

安装

安装neovim

本文只写Linux 的安装。

由于仓库的 neovim版本可能和最新版本有很大的差异,所以我选择手动下载安装。进入到 neovim 官网的release页面。然后下载你需要的版本。这里以 NVIM 0.4.3 为例。

1. 下载 nvim.appimage

2. 加入可执行权限

chmod u+x nvim.appimage

3. 放入/usr/bin 目录

sudo mv nvim.appimage /usr/bin/nvim

然后 nvim 就可以运行了。

配置

顺便说一下,neovim 的配置文件位置:~/.config/nvim/init.vim

插件管理

这里我们默认使用 vim-plug做插件管理,如果不了解,可以去官方网站了解下。安装vim-plug 其实就是把文件下载下来保存为~/.vim/autoload/plug.vim,在终端执行:

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

上面的链接国内可能访问不了,没有梯子的同学可以运行下面这句:

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

自动补全

1. 安装 coc.vim

coc.vim是一个为 Neovim/vim8制作的智能提示引擎。了解更多可以查看官方维基。

coc.vim依赖于node,所以我们要先安装node

sudo apt install node

安装coc.vim 和安装其他插件一样简单,在neovim 配置~/.config/nvim/init.vim中加入

Plug 'neoclide/coc.nvim', {   'branch': 'release'}

然后新开一个nvim,运行

:PlugInstall

等待安装完成,重启vim

2. 安装Python支持

需要先安装 neovimpython模块

pip install neovim

接下来安装语言支持:

:CocInstall coc-python

3. 安装快速生成代码插件

:CocInstall coc-snippets

在这里插入图片描述

4. 安装书签

官方教程查看coc-bookmark

:CocInstall coc-bookmark

搜索

依赖于ripgrep

先安装,去官方release 页面下载deb 包,接着解压就行了:

sudo dpkg -i ripgrep_11.0.2_amd64.deb

需要搜索时,在文本中执行:

:CocSearch -w [单词]

配色插件

这里我们的配色方案使用gruvbox插件,不多说,直接上效果图:

在这里插入图片描述
vim 配置:

Plug 'morhetz/gruvbox'colorshceme gruvbox     "启用 gruvbox 配色方案

窗口控制

  • 切换到右侧窗口
  • 切换到左侧窗口
  • 切换到下方窗口
  • 切换到上方窗口
  • 切换到刚刚的窗口

配置文件中写入:

Plug 'christoomey/vim-tmux-navigator'

然后PlugInstall安装。

文件浏览

使用老牌的 NERDTree

Plug 'preservim/nerdtree'

配置

" NERDTree settings                                         " open a NERDTree automatically when vim starts up if no files were specified    autocmd StdinReadPre * let s:std_in=1    autocmd VimEnter * if argc() == 0 && !exists("s:std_in") | NERDTree | endif                                 " open NERDTree automatically when vim starts up on opening a directory    autocmd StdinReadPre * let s:std_in=1    autocmd VimEnter * if argc() == 1 && isdirectory(argv()[0]) && !exists("s:std_in") | exe 'NERDTree' argv()[0] | wincmd p | ene | exe 'cd '.argv()[0] | endif" map a specific key or shortcut to open NERDTreemap 
:NERDTreeToggle
" close vim if the only window left open is a NERDTreeautocmd bufenter * if (winnr("$") == 1 && exists("b:NERDTree") && b:NERDTree.isTabTree()) | q | endif" Let NERDTree igonre fileslet NERDTreeIgnore = ['\.pyc$', '\.swp$']

美化状态栏

状态栏使用插件 vim-airline,该插件可以对接 coc.vim

Plug 'vim-airline/vim-airline'let g:airline_theme='badwolf'  "可以自定义主题,这里使用 badwolf

效果图(可以程序有错误的时候右下角有错误数量提示 E:1):

在这里插入图片描述

加入 emoji 图标

使用插件 vim-devicons

安装可以参考教程

Plug 'ryanoasis/vim-devicons'

安装完需要安装 nerd字体,这些字体是加入了图标之后的补丁字体,安装完字体之后才能正常显示图标。去中选择你喜欢的字体安装。完成之后的界面大概这样:在这里插入图片描述

注释插件

nerdcommenter

Plug 'preservim/nerdcommenter'

配置: 使用 <ctrl-/>来注释、反注释代码。

nmap 
NERDCommenterTogglevmap
NERDCommenterToggle
gv

自动生成 Python 函数/类文档

vim-doge

Plug 'kkoomen/vim-doge'

配置:

"let g:doge_doc_standard_python = 'numpy'"let g:doge_doc_standard_python = 'google'let g:doge_doc_standard_python = 'reST'

快速对齐

vim-easy-align

Plug 'junegunn/vim-easy-align'

配置:

" Start interactive EasyAlign in visual mode (e.g. vipga)xmap ga 
(EasyAlign)" Start interactive EasyAlign for a motion/text object (e.g. gaip)nmap ga
(EasyAlign)

在这里插入图片描述

彩虹括号

vim-rainbow

Plug 'luochen1990/rainbow'let g:rainbow_active = 1

转载地址:http://mbwhz.baihongyu.com/

你可能感兴趣的文章
Mac book pro打开docker出现The data couldn’t be read because it is missing
查看>>
MAC M1大数据0-1成神篇-25 hadoop高可用搭建
查看>>
mac mysql 进程_Mac平台下启动MySQL到完全终止MySQL----终端八步走
查看>>
Mac OS 12.0.1 如何安装柯美287打印机驱动,刷卡打印
查看>>
MangoDB4.0版本的安装与配置
查看>>
Manjaro 24.1 “Xahea” 发布!具有 KDE Plasma 6.1.5、GNOME 46 和最新的内核增强功能
查看>>
mapping文件目录生成修改
查看>>
MapReduce程序依赖的jar包
查看>>
mariadb multi-source replication(mariadb多主复制)
查看>>
MariaDB的简单使用
查看>>
MaterialForm对tab页进行隐藏
查看>>
Member var and Static var.
查看>>
memcached高速缓存学习笔记001---memcached介绍和安装以及基本使用
查看>>
memcached高速缓存学习笔记003---利用JAVA程序操作memcached crud操作
查看>>
Memcached:Node.js 高性能缓存解决方案
查看>>
memcache、redis原理对比
查看>>
memset初始化高维数组为-1/0
查看>>
Metasploit CGI网关接口渗透测试实战
查看>>
Metasploit Web服务器渗透测试实战
查看>>
MFC模态对话框和非模态对话框
查看>>