打造vim的python开发环境

基础配置:
1、第一,需要linux上的vim版本是8 及以上
2、第二,在每个linux的主目录下进行,也就是/home/用户名 路径下,需要有 .vimrc 文件(注意有个点),没有的话自行创建该文件。
3、第三,在 .vimrc文件上进行一些基础配置,如下
 

set nocompatible "关闭与vi的兼容模式
set number "显示行号
set nowrap    "不自动折行
set showmatch    "显示匹配的括号
set scrolloff=3        "距离顶部和底部3行"
set encoding=utf-8  "编码
set fenc=utf-8      "编码
set mouse=a        "启用鼠标
set hlsearch        "搜索高亮
syntax on    "语法高亮

"为py文件添加下支持pep8风格的配置"
au BufNewFile,BufRead *.py
\ set tabstop=4   "tab宽度
\ set softtabstop=4 
\ set shiftwidth=4  
\ set textwidth=79  "行最大宽度
\ set expandtab       "tab替换为空格键
\ set autoindent      "自动缩进
\ set fileformat=unix   "保存文件格式

"代码折叠"
set foldmethod=indent
set foldlevel=99

"一键执行python代码,按F5执行"
map <F5> :call RunPython()<CR>
func! RunPython()
    exec "W"
    if &filetype == 'python'
        exec "!time python2.7 %"
    endif
endfunc

插件配置:
1、接着进行需要的插件配置,首先安装vundle,vim bundle的简称,使用git来管理vim插件。
      先执行以下shell命令:
      

git clone https://github.com/VundleVim/Vundle.vim.git ~/.vim/bundle/Vundle.vim

     如果~/.vim/bundle目录不存在,则手动新建。
     然后将以下配置放在 .vimrc文件的开头:
 

set nocompatible              " be iMproved, required
filetype off                  " required
 
" set the runtime path to include Vundle and initialize
set rtp+=~/.vim/bundle/Vundle.vim
call vundle#begin()
 
" let Vundle manage Vundle, required
Plugin 'VundleVim/Vundle.vim'
 
" All of your Plugins must be added before the following line
call vundle#end()            " required
filetype plugin indent on    " required

     接着将所需要的插件的命令,放在call vundle#begin()和call vundle#end()之间,例如将自动缩进indentpython.vim插件放在它们中间,然后保存配置,再在vim中执行 :PluginInstall 命令,进行安装。如果安装成功,那么结果会是以下这样:

 

进行完上述操作后,接下来就是根据需要,进行各种插件的安装配置
1、自动补全插件,在 .vimrc 文件中加入并安装:Plugin 'vim-scripts/indentpython.vim'
2、自动补全插件YouCompleteMe,在ubuntu中使用,先准备一些工具,执行以下命令:
  sudo apt-get install build-essential cmake
  sudo apt
-get install python-dev python3-dev
 
在 .vimrc 文件中加入并安装:Plugin 'Valloric/YouCompleteMe'
 在shell中进行编译并将配置文件复制到主目录:

 

cd ~/.vim/bundle/YouCompleteMe
./install.py --clang-completer

cp third_party/ycmd/examples/.ycm_extra_conf.py ~/

    YCM一些常用的选项,在 .vimrc 中配置:
 

let g:ycm_min_num_of_chars_for_completion = 2  "开始补全的字符数"
let g:ycm_python_binary_path = 'python'  "jedi模块所在python解释器路径"
let g:ycm_seed_identifiers_with_syntax = 1  "开启使用语言的一些关键字查询"
let g:ycm_autoclose_preview_window_after_completion=1 "补全后自动关闭预览窗口"

nnoremap <leader>jd :YcmCompleter GoToDefinitionElseDeclaration<CR> "代码跳转"

"开关YCM"
let g:ycm_auto_trigger = 0   "turn off
let g:ycm_auto_trigger = 1   "turn on

3、自动缩进插件,在 .vimrc 文件中加入并安装:Plugin 'vim-scripts/indentpython.vim'
4、语法检查插件,
在 .vimrc 文件中加入并安装:Plugin 'vim-syntastic/syntastic'
5、flake8 代码风格检查,
在 .vimrc 文件中加入并安装,运行F7就可以进行flake8检查了:Plugin 'nvie/vim-flake8'
6、配色方案,
在 .vimrc 文件中加入并安装:Plugin 'altercation/vim-colors-solarized' 或者 
                          Plugin 
'jnurmine/Zenburn'
  然后可以进行配色方案设置,在.vimrc文件找那个加入:

 

"solarized有dark和light两种配色,配置"
syntax enable
set background=light or dark
colorscheme solarized

"或者,也可以根据gui模式和终端模式进行切换"
if has('gui_running')
    set background=light
else
    set background=dark
endif

"或者,两种配色切换"
if has('gui_running')
  set background=dark
  colorscheme solarized
else
  colorscheme Zenburn
endif

  7、给vim添加树形目录,在 .vimrc 文件中加入并安装:Plugin 'scrooloose/nerdtree'
  在 .vimrc 文件中添加:
map <C-n> :NERDTreeToggle<CR>
      按ctrl+n就可以显示和取消
      还可以附加其他配置:
       设置忽略.pyc文件,在 .vimrc 文件中加入:let NERDTreeIgnore=['\~$''\.pyc$''\.swp$']
  为nerdtree添加git支持,
在 .vimrc 文件中加入并安装:Plugin 'Xuyuanp/nerdtree-git-plugin'
  在nerdtree中想用tab键,
在 .vimrc 文件中加入并安装:Plugin 'jistr/vim-nerdtree-tabs'
8、美化状态栏,可以显示当前的虚拟环境、Git分支、正在编辑的文件等信息,在 .vimrc 文件中加入并安装:
     Plugin 'Lokaltog/vim-powerline'
 在 .vimrc 文件中加入:
 

""""""""""power-line""""""""""""""
set laststatus=2
let g:Powerline_symbols='unicode'

9、缩进指示线,在 .vimrc 文件中加入并安装:Plugin 'Yggdroot/indentLine'
10、自动化格式工具,先安装
autopep8:pip install autopep8
  再
在 .vimrc 文件中加入并安装:Plugin 'tell-k/vim-autopep8'
  设置快捷键F8代替该功能,在 .vimrc 文件中加入:

 

autocmd FileType python noremap <buffer> <F8> :call Autopep8()<CR>

11、自动补全括号和引号等,在 .vimrc 文件中加入并安装:Plugin 'jiangmiao/auto-pairs'
12、搜索插件,
在vim normal模式下,按下ctrl+p,然后输入你要寻找的文件就行了,在 .vimrc 文件中加入并安装:
       Plugin 'kien/ctrlp.vim'
13、
搜索引擎使用了the_silver_searcher,先在shell中安装:apt-get install silversearcher-ag
  再
在 .vimrc 文件中加入并安装:Plugin 'rking/ag.vim'
  使用姿势:
:Ag [options] {pattern} [{directory}] (注意最前面有个冒号)
14、git集成插件,可以在vim中运行git命令,在 .vimrc 文件中加入并安装:Plugin 'tpope/vim-fugitive'
 

到此即安装了一些个性化的插件,让vim成为一个比较理想的python开发工具,还可以有其他插件,自行查找并安装。

 

以上安装过程中,遇到的问题及解决方式:
1、在vim中出现鼠标右键不能黏贴的问题,解决方法:
    在 .vimrc 文件中加入以下代码:
 

if has('mouse') set mouse-=a endif

2、编译过程中,出现以下报错:
     

c++: internal compiler error: Killed (program cc1plus)

    原因是内存不足,解决方法,在shell中依次执行以下命令:

#1. 创建分区文件,大小 2G
dd if=/dev/zero of=/swapfile bs=1k count=2048000

#2. 生成 swap 文件系统
mkswap /swapfile

#3. 激活 swap 文件
swapon /swapfile

#4. 修改 /etc/fstab 文件,新增如下内容:
/swapfile swap swap defaults 0 0

3、vim版本升级,在shell中执行以下命令:
 

sudo add-apt-repository ppa:jonathonf/vim 
sudo apt update 
sudo apt install vim 
sudo apt-get update
sudo apt-get upgrade

4、解决出现: YouCompleteMe/third_party/ycmd/third_party/cregex" does not appear to contain CMakeLists.txt

    执行:
 

rm -rf YouCompleteMe/third_party/ycmd/third_party/cregex
git submodule update --init --recursive(在YouCompleteMe/third_party/ycmd/third_party目录下)

5、YouCompleteMe出现问题:The ycmd server SHUT DOWN (restart with ':YcmRestartServer').
  可能是因为本地没有重新编译YCM,在bundle下的YouCompleteMe目录下,执行 install.py --clang-completer

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值