小编给大家分享一下Ubuntu下如何将Vim 8.2打造成Python IDE,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!
1、安装 Python
Ubuntu 20.04 LTS 下安装 Python 3.9。参考链接:https://www.linuxmi.com/ubuntu-20-04-python-3-9.html
2、安装 Vim
Ubuntu 20.04 LTS Desktop初始安装自带了vi,未带 vim 需要安装,已安装的略过。
Ubuntu及其衍生版
linuxmi@linuxmi:~/www.linuxmi.com$ sudo add-apt-repository ppa:jonathonf/vim linuxmi@linuxmi:~/www.linuxmi.com$ sudo apt-get update linuxmi@linuxmi:~/www.linuxmi.com$ sudo apt install vim
Arch Linux及其衍生版本
linuxmi@linuxmi:~/www.linuxmi.com$ sudo pacman -S vim linuxmi@linuxmi:~/www.linuxmi.com$ flatpak install flathub org.vim.Vim
3、插件安装
标签导航(tagbar和ctags)、语法检测(syntastic)、文件搜索(ctrlp)、目录树导航(nerdtree)、状态栏美化(vim-powerline)、主题风格(solarized)、python相关(jedi-vim和python-mode)、括号匹配高亮(rainbow_parentheses)、可视化缩进(vim-indent-guides)。可谓应有尽有。
安装vundle
git clone https://github.com/gmarik/vundle.git ~/.vim/bundle/vundle
安装好了vundle,需要在~/.vimrc配置文件中添加vundle支持。配置 vim
vim的配置是在用户主目录下的 ~/.vimrc 文件中完成的,如果没有的话,需要自己新建一下。
filetype off set rtp+=~/.vim/bundle/vundle/ call vundle#rc() if filereadable(expand("~/.vimrc.bundles")) source ~/.vimrc.bundles endif
为了防止配置文件太乱,我们可以通过~/.vimrc.bundles管理我们安装的插件。
.vimrc.bundles配置文件
首先创建文件~/.vimrc.bundles,然后添加代码如下:
if &compatible set nocompatible end filetype off set rtp+=~/.vim/bundle/vundle/ call vundle#rc() " Let Vundle manage Vundle Bundle '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.local endif filetype on
如上述代码所示,我们通过Bundle指定各个插件在Github的地址,填写规则是"用户名/仓库名"。书写规则有三种,这里使用的是最常见的一种,其它书写方法这里就不说了。
安装插件
我们已经指定好了各个插件的路径,接下里就是安装各个插件了。在shell中输入vim,进入命令行模式输入BundleInstall。
运行这个命令就开始自行安装我们之前指定的各个插件了。这个过程需要连网,下载并安装好各个插件之后会提示Done!
注意:由于tagbar依赖于ctags,所以我们还需要用指令安装ctags:
sudo apt-get install ctags
插件配置
1、基础配置
已经安装好了各个插件,接下里就可以直接用了吗?答案是否定的,我们还需要继续对自己安装的插件进行配置。配置这里也很简单,下面编写~/.vimrc配置:
filetype off set rtp+=~/.vim/bundle/vundle/ call vundle#rc() if filereadable(expand("~/.vimrc.bundles")) source ~/.vimrc.bundles endif " tagbar标签导航 nmap <leader>tb :TagbarToggle<CR> let g:tagbar_ctags_bin='/usr/bin/ctags' let g:tagbar_width=30 autocmd BufReadPost *.cpp,*.c,*.h,*.hpp,*.cc,*.cxx call tagbar#autoopen() let g:jedi#auto_initialization = 1 " 主题 solarized let g:solarized_termtrans=1 let g:solarized_contrast="normal" let g:solarized_visibility="normal" " 配色方案 set background=dark set t_Co=256 colorscheme solarized " 目录文件导航NERD-Tree " \nt 打开nerdree窗口,在左侧栏显示 nmap <leader>nt :NERDTree<CR> let NERDTreeHighlightCursorline=1 let 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 NERDTree autocmd 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 files map <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=0 let g:ctrlp_match_window_bottom=1 let g:ctrlp_max_height=15 let g:ctrlp_match_window_reversed=0 let g:ctrlp_mruf_max=500 let 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 = 40 let 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 " 从第二层开始可视化显示缩进
你可以根据自己的喜好设置快捷键,<leader>是按键\,根据我的配置。在Vim的正常模式下:
2、运行配置
这些基础配置已经完成,但是我想在Vim下像在IDE中一样,按一个键就运行当前编辑的Python文件,并查看运行结果,这可以做到吗?
如果出现vim插件报错Error detected while processing /root/.vim/bundle/python-mode/autoload/pymode/lint.vim
那是因为缺少pylama模块,安装即可如下图模块即可
没问题!
在~/.vimrc最后一行追击代码如下:
" 运行文件 map <F5> :w<cr>:r!python3 %<cr>
上述代码的意思就是,在Vim的正常模式下,按F5就会保存文件并使用python3运行当前文件,并将结果输出到当前界面。
注意,:!python3表示运行系统命令python3,如果你没有安装Python2和python3共存,此处只写python即可。
这样我们就可以边编辑边查看运行结果了,见本文最上面截图。
运行完之后,依然可以在Vim的正常模式下按u,撤回这个输出操作,这样输出结果就撤回了,我们就可以继续编写自己的代码了。
以上是“Ubuntu下如何将Vim 8.2打造成Python IDE”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注编程之家行业资讯频道!
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。