本文给大家介绍的是在Ubuntu 18.04 LTS系统下使用Vim配置Python开发环境的详细步骤,对初学者非常实用,有需要的小伙伴可以参考下 。Vim是Linxu终端最方便的编辑器,有一定的通用性 。下面就用Vim打造了属于自己的Python IDE,然后进行配置 。
文章插图
1、安装 Python
Ubuntu 18.04 LTS 默认安装 python 。
2、安装 Vim
Ubuntu 18.04 LTS Desktop初始安装自带了vi,未带 vim 需要安装,已安装的略过 。
sudo apt install vim
3、插件安装
标签导航(tagbar和ctags)、语法检测(syntastic)、文件搜索(ctrlp)、目录树导航(nerdtree)、状态栏美化(vim-powerline)、主题风格(solarized)、python相关(jedi-vim和python-mode)、括号匹配高亮(rainbow_parentheses)、可视化缩进(vim-indent-guides) 。可谓应有尽有 。
还有一个最重要的就是插件管理工具vundle 。
安装vundle
【Ubuntu 18.04下使用Vim配置Python开发环境】git clone https://github.com/gmarik/vundle.git ~/.vim/bundle/vundle
文章插图
安装好了vundle,需要在~/.vimrc配置文件中添加vundle支持 。
配置 vim
vim的配置是在用户主目录下的 ~/.vimrc 文件中完成的,如果没有的话,需要自己新建一下 。
编辑 ~/.vimrc 文件,写入以下内容:
filetype offset rtp+=~/.vim/bundle/vundle/call vundle#rc()if filereadable(expand("~/.vimrc.bundles"))source ~/.vimrc.bundlesendif
为了防止配置文件太乱,我们可以通过~/.vimrc.bundles管理我们安装的插件 。.vimrc.bundles配置文件
首先创建文件~/.vimrc.bundles,然后添加代码如下:
if &compatibleset nocompatibleendfiletype offset rtp+=~/.vim/bundle/vundle/call vundle#rc()" Let Vundle manage VundleBundle 'gmarik/vundle'" Define bundles via Github repos" 标签导航Bundle 'majutsushi/tagbar'Bundle 'vim-scripts/ctags.vim'" 静态代码分析Bundle 'scrooloose/syntastic'" 文件搜索Bundle 'kien/ctrlp.vim'" 目录树导航Bundle "scrooloose/nerdtree"" 美化状态栏Bundle "Lokaltog/vim-powerline"" 主题风格Bundle "altercation/vim-colors-solarized"" python自动补全Bundle 'davidhalter/jedi-vim'Bundle "klen/python-mode"" 括号匹配高亮Bundle 'kien/rainbow_parentheses.vim'" 可视化缩进Bundle 'nathanaelkane/vim-indent-guides'if filereadable(expand("~/.vimrc.bundles.local"))source ~/.vimrc.bundles.localendiffiletype on
如上述代码所示,我们通过Bundle指定各个插件在Github的地址,填写规则是"用户名/仓库名" 。书写规则有三种,这里使用的是最常见的一种,其它书写方法这里就不说了 。安装插件
我们已经指定好了各个插件的路径,接下里就是安装各个插件了 。在shell中输入vim,进入命令行模式输入BundleInstall 。
文章插图
运行这个命令就开始自行安装我们之前指定的各个插件了 。这个过程需要连网,下载并安装好各个插件之后会提示Done!
文章插图
注意:由于tagbar依赖于ctags,所以我们还需要用指令安装ctags:
sudo apt-get install ctags
文章插图
插件配置
1、基础配置
已经安装好了各个插件,接下里就可以直接用了吗?答案是否定的,我们还需要继续对自己安装的插件进行配置 。配置这里也很简单,下面是我的配置,编写~/.vimrc:
filetype offset rtp+=~/.vim/bundle/vundle/call vundle#rc()if filereadable(expand("~/.vimrc.bundles"))source ~/.vimrc.bundlesendif" tagbar标签导航nmap <Leader>tb :TagbarToggle<CR>let g:tagbar_ctags_bin='/usr/bin/ctags'let g:tagbar_width=30autocmd BufReadPost *.cpp,*.c,*.h,*.hpp,*.cc,*.cxx call tagbar#autoopen()let g:jedi#auto_initialization = 1" 主题 solarizedlet g:solarized_termtrans=1let g:solarized_contrast="normal"let g:solarized_visibility="normal"" 配色方案set background=darkset t_Co=256colorscheme solarized" 目录文件导航NERD-Tree" nt 打开nerdree窗口,在左侧栏显示nmap <leader>nt :NERDTree<CR>let NERDTreeHighlightCursorline=1let NERDTreeIgnore=[ '.pyc$', '.pyo$', '.obj$', '.o$', '.so$', '.egg$', '^.git$', '^.svn$', '^.hg$' ]let g:netrw_home='~/bak'"close vim if the only window left open is a NERDTreeautocmd bufenter * if (winnr("$") == 1 && exists("b:NERDTreeType") && b:NERDTreeType == "primary") | q | end" ctrlp文件搜索" 打开ctrlp搜索let g:ctrlp_map = '<leader>ff'let g:ctrlp_cmd = 'CtrlP'" 相当于mru功能,show recently opened filesmap <leader>fp :CtrlPMRU<CR>" set wildignore+=*/tmp/*,*.so,*.swp,*.zip" macOSX/linux"let g:ctrlp_custom_ignore = {'dir':'v[/].(git|hg|svn|rvm)$','file': 'v.(exe|so|dll|zip|tar|tar.gz)$',}" 'link': 'SOME_BAD_SYMBOLIC_LINKS',let g:ctrlp_working_path_mode=0let g:ctrlp_match_window_bottom=1let g:ctrlp_max_height=15let g:ctrlp_match_window_reversed=0let g:ctrlp_mruf_max=500let g:ctrlp_follow_symlinks=1" vim-powerline美化状态" let g:Powerline_symbols = 'fancy'let g:Powerline_symbols = 'unicode'" 括号匹配高亮let g:rbpt_colorpairs = [['brown','RoyalBlue3'],['Darkblue','SeaGreen3'],['darkgray','DarkOrchid3'],['darkgreen','firebrick3'],['darkcyan','RoyalBlue3'],['darkred','SeaGreen3'],['darkmagenta', 'DarkOrchid3'],['brown','firebrick3'],['gray','RoyalBlue3'],['black','SeaGreen3'],['darkmagenta', 'DarkOrchid3'],['Darkblue','firebrick3'],['darkgreen','RoyalBlue3'],['darkcyan','SeaGreen3'],['darkred','DarkOrchid3'],['red','firebrick3'],]let g:rbpt_max = 40let g:rbpt_loadcmd_toggle = 0" 可视化缩进let g:indent_guides_enable_on_vim_startup = 0" 默认关闭let g:indent_guides_guide_size= 1" 指定对齐线的尺寸let g:indent_guides_start_level= 2" 从第二层开始可视化显示缩进
推荐阅读
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Linux下sysstat安装使用图文详解
- 淘宝不当使用他人的权利怎么处罚 淘宝不当使用他人的权利怎么处罚
- 冰箱中国最早使用时间 冰箱有多少年历史
- 怎么腌莴苣好吃又简单呢
- 使用shell脚本一键部署虚拟主机
- 使用Oauth2实现微服务的安全保护
- 使用python监控并发量
- 车上的自动空调怎么使用?一次给你讲清楚,新手一看就会
- 电脑截图快捷键ctrl加什么
- 电脑内存怎么清理