主要为大家介绍一下vim的安装、配置及python3开发环境配置,由于本人也是小白学生,第一次研究这些东西,大部分东西来源自网上,还有一些应个人习惯改动的地方,希望对广大像我一样的新手有一定的帮助。
首先为大家介绍一下系统情况:
Ubuntu 18.04
python3.5
1.安装VIM
1.1 在shell下输入命令vim --version,会显示出版本号和支持的特性,你需要在里面检查一下有没有+python3字样,如果vim版本过低或是不支持python,你就需要重新安装vim了。
1.2 卸载VIM:
sudo apt remove vim
1.3 安装VIM:
sudo apt install vim-nox
2.安装VIM插件管理器
2.1 这里再往上大部分都是用Vundle来管理,我选择了Vim-plug,安装方法:
curl -fLo ~/.vim/autoload/plug.vim --create-dirs https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim
更加详细的操作可以参考 https://linux.cn/article-9751-1.html 2.2 首先要在你的主目录下新建一个名为.vimrc的vim配置文件。在shell中运行以下命令:
cd ~
touch .vimrc
ls
这样.vimrc文件就新建好了,此时打开.vimrc文件里面是空的。
然后将下面的配置添加到.vimrc文件的顶部:
call plug#begin('~/.vim/plugged')
Plug 'itchyny/lightline.vim' #这行是测试vim-plug是否正常,随便下载的一个插件
call plug#end()
3.安装YouCompleteMe插件
3.1 YouCompleteMe(YCM)是一个功能非常强大的代码补全工具,可说是python开发的最佳搭档。
在安装YCM前,还需要先安装一些必须的软件:
sudo apt install python-dev python3-dev cmake
接着在~/.vimrc中添加YCM配置:
Plug 'Valloric/YouCompleteMe'
例:
call plug#begin('~/.vim/plugged')
Plug 'Valloric/YouCompleteMe' #把想用的插件写在begin和end之间
call plug#end()
然后运行vim在normal模式下运行:PluginInstall,系统即会将YouCompleteMe(YCM)安装到~/.vim/plugged/目录下。
这里需要特别提醒大家的是YCM的体积比较大,等待的时间会比较长,在等待结束后再次进入VIM,会提示你The ycmd server SHUT DOWN (restart with ‘:YcmRestartServer’).错误。可执行一下操作:
1).重装YouCompleteMe
python3 install.py --clang-completer --racer-completer #支持C语言
(先进入ycm文件~/.vim/plugged/YouCompleteMe),在对其中的install.py进行此命令操作。
2).安装YouCompleteMe过程提示cargo异常
ERROR:cargo is required for the Rust completer
如果提示cargo异常,需要安装cargo,命令如下:
curl https://sh.rustup.rs -sSf | sh
cargo安装成功后再重试上述步骤1
3).重新编译YouCompleteMe
./install.py --clang-completer ## 进入YouCompleteMe目录后执行
4).完成后效果如下
4.安装NERDTree插件
使用NERDTree插件可以在Vim窗口中显示一个文件树。
~/.vimrc文件中添加
Plugin 'scrooloose/nerdtree'
运行Vim在normal模式下运行:PluginInstall
5.python自动补全插件:pydiction
Pydiction 可以是我们使用Tab键自动补全Python代码在Vim,是一款非常不错的插件。
它和ycm同时使用并不冲突,我个人感觉很好用
Pydiction不需要安装,所有没有任何依赖包问题,Pydiction主要包含三个文件。
详细可以看这个网站:
http://rkulla.github.io/pydiction/
5.1 下载Pydiction:
mkdir ~/.vim #已有则不用创建
mkdir ~/.vim/tools/pydiction
cd ~/.vim/
#这里我们也可以自己下载好上传到linux系统中
git clone https://github.com/rkulla/pydiction.git
5.2配置Pydiction:
cp -r ~/.vim/pydiction/after ~/.vim
cp ~/.vim/pydiction/complete-dict ~/.vim/tools/pydiction
在~/.vimrc文件尾添加:
filetype plugin on
let g:pydiction_location = ‘~/.vim/tools/pydiction/complete-dict’
let g:pydiction_menu_height = 5
到此已经可以使用Tab键自动补全python代码了
5.配置VIM环境
Vim下的插件非常之多,在这里就简要给大家介绍了以上几个,你可以上网去搜索更多你感兴趣的插件,安装完插件后我们就要来对Vim进行配置,使其更符合我们的工作习惯。以下是我的个人配置,提供给大家参考:
call plug#begin('~/.vim/plugged')
Plug 'Valloric/YouCompleteMe'
Plug 'scrooloose/nerdtree'
call plug#end()
filetype plugin on
let g:pydiction_location = '~/.vim/tools/pydiction/complete-dict'
let g:pydiction_menu_height = 5
set completeopt-=preview
let g:SimpyIFold_docstring_preview=1
let NERDTreeIgnore=['\.pyc$', '\~$'] "ignore files in NERDTree
"显示相关
"set shortmess=atI "不显示帮助乌干达的提示
set mouse=a "支持鼠标
set ruler "显示当前光标行列位置
set nu "显示行数
set tabstop=4 "Tab键的宽度设为4
set softtabstop=4
set shiftwidth=4 "统一缩进为4
set list listchars=tab:>-,trail:-,eol:$ "设定tab键显示为>-,每行行尾显示$
set autoindent "开启自动缩进,保持缩进值与上一行相等
"映射以F5打开NERDTree
nnoremap <silent> <F5> :NERDTree<CR>
"映射自动补全括号
inoremap ( ()<ESC>i
inoremap [ []<ESC>i
inoremap { {}<ESC>i
inoremap " ""<ESC>i
inoremap ' ''<ESC>i
"python运行配置
map <F6> :w<cr>:!python3 %<cr>:q<cr> "按F6键进行python调试
最后欢迎各位大佬鞭策!