zoukankan      html  css  js  c++  java
  • 配置基于python的VIM环境

    配置基于python的VIM环境

    安装插件管理工具

    为防止过多插件管理的麻烦,首先安装vim的插件管理工具Vundle。vundle本身的github软件已经有相关的中文文档,地址如下:
    vundle官方中文文档
    复制其配置,

    set nocompatible              " 去除VI一致性,必须
    filetype off                  " 必须
    
    " 设置包括vundle和初始化相关的runtime path
    set rtp+=~/.vim/bundle/Vundle.vim
    call vundle#begin()
    " 另一种选择, 指定一个vundle安装插件的路径
    "call vundle#begin('~/some/path/here')
    
    " 让vundle管理插件版本,必须
    Plugin 'VundleVim/Vundle.vim'
    
    " 你的所有插件需要在下面这行之前
    call vundle#end()            " 必须
    filetype plugin indent on    " 必须 加载vim自带和插件相应的语法和文件类型相关脚本
    " 忽视插件改变缩进,可以使用以下替代:
    "filetype plugin on

    ” 将你自己对非插件片段放在这行之后
    call vundle#begin()call vundle#end()
    加入你要安装的插件
    如果是安装github上的插件使用
    Plugin '用户名/仓库名'即可
    在本地等的插件安装请查看官方文档
    在VIMRC中加入语句后,在VIM中运行PluginInstall即可

    vimrc的基本配置

    缩进

    根据PEP 8[1],Python文件中建议用空格代替Tab,且缩进应为四个空格。要自动实现此功能,可加入:

    filetype plugin indent on
    autocmd FileType python setlocal et sta sw=4 sts=4

    与TAB相关的变量表

    变量名 缩写 含义
    tabstop=X ts 编辑时一个TAB字符占多少个空格的位置。
    shiftwidth=X sw 使用每层缩进的空格数。
    (no)expandtab (no)et 是否将输入的TAB自动展开成空格。开启后要输入TAB,需要Ctrl-V
    softtabstop=X sts 方便在开启了et后使用退格(backspace)键,每次退格将删除X个空格
    (no)smarttab (no)sta 开启时,在行首按TAB将加入sw个空格,否则加入ts个空格。

    代码折叠

    以缩进作为依据对python的代码进行折叠

    autocmd FileType python setlocal foldmethod=indent
    "默认展开所有代码
    set foldlevel=99

    安装python相关插件

    flake8

    flake8是代码错误检查插件Pyflake和检查代码是否符合标PEP8准插件的结合
    Flake8的github地址
    VIM安装的配置
    第12行中插入了flake8的github地址
    之后在vim中运行PluginInstall即安装成功
    F7运行
    使用Bundle安装PEP8后按F7我出现了找不到FLAKE8的错误
    我使用pip安装FLAKE8后依然的不到解决
    在查找stackoverflow的相关社区后使用包管理安装
    sudo pip install python-flake8
    问题得到了解决

    Pydiction

    Pydiction相比YCM的安装编译简单的太多了,YCM我查找了多个资料最终才得以成功。使用Vundle安装Pydiction
    在你的.vimrc中加入如下配置
    filetype plugin on
    let g:pydiction_location = '/home/user/.vim/bundle/pydiction/complete-dict'
    请根据你的安装路径修改pydiction的路径
    如果要更改补全出现的行数
    let g:pydiction_menu_height = 3
    保存后打开py文件就有了自动补全功能

    YouCompleteMe

    YouComPlete的github地址
    YouComPlete的安装比较复杂,即使安装之后仍然需要编译
    你要安装它之前,确保你已经安装了以下必备软件
    build-essential
    cmake
    python-dev
    python3-dev
    如果没有请使用包管理进行安装
    sudo apt-get install build-essential cmake
    sudo apt-get install python-dev python3-dev
    由于使用Plugin方式出现了错误,我直接在cd ~/.vim/bundle
    后clone了它的仓库
    git clone https://github.com/Valloric/YouCompleteMe ~/.vom/bundle/YouComPleteMe
    使用git submodule update --init --recursive对插件进行更新
    如果不需要对C类语言(C# C++等)的支持,直接使用以下语句

    cd ~/.vim/bundle/YouCompleteMe
    ./install.py

    即可
    如果还需要对C类语言的支持

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

    需要已经安装了Clang
    之后,还要对YCM进行配置
    具体的配置可以参考下面的网址
    VIM智能补全插件YCM

  • 相关阅读:
    利用css实现鼠标经过元素,下划线由中间向两边展开
    盒模型的auto值
    CSS选择器
    CSS类名命名规则
    leetcode 移除元素
    leetcode 有效的括号
    leetcode 罗马数字转整数
    leetcode 回文数
    leetcode 合并两个有序数组
    leetcode 最长公共前缀
  • 原文地址:https://www.cnblogs.com/lynsyklate/p/6443411.html
Copyright © 2011-2022 走看看