用 Vim 写 Python 的最佳实践

   2017-02-05 0
核心提示:先来晒个图: 对于一些 Python 的小项目,使用 vim 是一个不错的选择。本文内容整理自我在知乎的回答 用 Vim 写 Python 的最佳实践是什么? ,下面的内容是对知乎旧有回答的一个补充,尤其有一些主要针对 vim8. 如果想要更多内容,可以查看知乎对于该问题的一

先来晒个图:

用 Vim 写 Python 的最佳实践

对于一些 Python 的小项目,使用 vim 是一个不错的选择。本文内容整理自我在知乎的回答 用 Vim 写 Python 的最佳实践是什么? ,下面的内容是对知乎旧有回答的一个补充,尤其有一些主要针对 vim8. 如果想要更多内容,可以查看知乎对于该问题的一些回答。

语法检查

如果用 vim8, 那么可以用异步检测的 w0rp/ale 代替 syntastic 了,再也不用羡慕 flycheck, 也不用因为语法检查而卡顿了。

关于 ale 这部分的个性化配置,其实有点 “吹毛求疵”,一般使用默认的应该就够了,不过我喜欢 fancy 的东西,就折腾了一把。涉及的东西可能比较细枝末节,可以直接看 space-vim: syntax-checking 了解一下大概的配置 。主要是针对 ale 提供的 statusline 内容进行再提取进行展示。如果没有语法错误就不显示在 statusline, 如果有 warning 或 error, 则通过不同颜色就行区分。

用 Vim 写 Python 的最佳实践

syntax 增强

vim 自带对于 python 的高亮有点弱,连 self 都不给我亮起来, 这一点可以通过 python-mode/python-mode 来进行增强:

hi pythonSelf            ctermfg=174 guifg=#6094DB cterm=bold gui=bold

具体可以看这里 space-vim: python layer

在 python-mode 的 syntax/python.vim 里,可以看到比 vim 自带的 syntax/python.vim 更加细致的高亮群组,应该不难看懂各项内容,照着颜色表自行修改高亮风格就可以了。这是 terminal 256 色对照表 256 Terminal colors and their 24bit equivalent (or similar) , 这是 GUI 颜色对照表 Complete HTML True Color Chart

这么做的优点自然是想要什么效果完全可自定义,但是也有缺点,因为可能没办法适配所有的 vim 主题。当你切换主题时,这些针对 python 自定义的高亮也许会有些不太契合。就算是只算流行的那些 vim 主题,恐怕也有两位数了,有些是冷色调,有些是暖色调,有些以蓝色为主,有些是红色居多,应该不太容易找一些百搭的配色。不过每个人所中意的主题可能也就是那么几个,所以自行选择吧.....

其实 python-mode 有点集大成的意思,囊括了用 vim 写 python 的很多功能,有兴趣的可以尝试靠它 “一招打遍天下”。不过,目前我只是中意这一部分而已。

代码格式化

这一点可以通过 google/yapf 来完成,安装好 yapf, 像下面这样 <LocalLeader>= 就能对当前文件进行格式化:

autocmd FileType python nnoremap <LocalLeader>= :0,$!yapf<CR>

自动补全

这一点因为我主要还是使用 vim, 因此用的 YouCompleteMe, 实际后端用的是已经提到的 jedi-vim. 如果不喜欢 ycmd, 使用 neovim 的可以尝试使用 deoplete.nvim .

import 整理

各种 import 是不是显得有点乱?使用 timothycrosley/isort 整理一下吧:

autocmd FileType python nnoremap <LocalLeader>i :!isort %<CR><CR>

一键运行

这个可以通过 skywind3000/asyncrun.vim 来增强, 把之前的 ! 换成 AsyncRun! 就好了. 其实还是有些小小的注意点:

很多人的一键运行可能大概长这样:

...
exec "!g++ % -o %<"
exec "!time ./%<"
...

可以直接把上面的 ! 换成 AsyncRun! 吗?答案是不可以,如果要达到之前的效果,应该要这样:

exec "AsyncRun! g++ -stdc++11 % -o %<; time ./%<"

要用分号链接多条命令(linux)或者 & 链接多条命令(windows),具体可以看 这里

具体的 vim 配置在这里: space-vim (觉得不错的话可以顺便到 github 点个 star 支持下哈), 启用 ycmd, syntax-checking, programming, python Layer 就能达到上面的效果了。

 
标签: Vim
反对 0举报 0 评论 0
 

免责声明:本文仅代表作者个人观点,与乐学笔记(本网)无关。其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
    本网站有部分内容均转载自其它媒体,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责,若因作品内容、知识产权、版权和其他问题,请及时提供相关证明等材料并与我们留言联系,本网站将在规定时间内给予删除等相关处理.

  • 在freebsd下安装vim(Debian下类似) freebsd l
    1, 首先安装通用的vim    pkg_add vim2,服务器上的vim插件不够丰富,我这里提供了插件包,解压到linux目录下/Files/kungfupanda/vimsettings.rar3, copy pluin (在上述的压缩文件中)   解压上述文件,拷贝所有文件到自己的 vim71/plugin下   cp *.vi
    02-10
  • 入门VMware Workstation下的Debian学习之Vim简单使用(三)
    入门VMware Workstation下的Debian学习之Vim简
    什么是Vim?  Vim具有程序编辑的能力,可以主动的以字体颜色辨别语法的正确性,方便程序设计。  Vim是从vi发展出来的一个文本编辑器。代码补完、编译及错误跳转等方便编程的功能特别丰富,在程序员中被广泛使用。安装Vim:  sudo apt-get install vimVim
    02-10
  • 在ubuntu上搭建开发环境6---安装和使用vim及其
    2015.09.08  更为详细的配置vim的方法,请参见我的新整理的文章:http://segmentfault.com/a/1190000003722928 Vim安装  命令:  sudo apt-get install vim 配置vim:     配置vim,/etc/vim/vimrc文件就好,(我上网找到了一个比较强大的vim配置
    02-10
  • Ubuntu 16.04 Vim安装及配置
    安装VIM默认已经安装了VIM-tinyacewu@acewu-computer:~$ locate vi | grep 'vi$' |xargs ls -allrwxrwxrwx 1 root root 17 12月9 21:12 /etc/alternatives/vi - /usr/bin/vim.tinylrwxrwxrwx 1 root root 20 12月9 21:13 /usr/bin/vi - /etc/alternatives/vi-
    02-10
  • centos下vim 7.4安装NERDTree 4.2.0
    centos下vim 7.4安装NERDTree 4.2.0
    1 从GitHub下载官方NERDTree发布包,地址:https://github.com/preservim/nerdtreewget https://github.com/preservim/nerdtree/archive/4.2.0.tar.gz2 用tar解压。作者解压后得到的目录是:nerdtree-4.2.0tar zxvf4.2.0.tar.gz3 进入nerdtree-4.2.0目录cd ne
    02-09
  • CentOS 7 源码编译vim8+vimplus
    CentOS 7 源码编译vim8+vimplus
     安装依赖包[root@DaMoWang ~]# yum -y install git \ centos-release-scl \ gcc-c++ \ ncurses-devel \ python-devel# 下载vim8源码包[root@DaMoWang ~]# wget https://github.com/vim/vim/archive/master.zip[root@DaMoWang ~]# unzip master.zip[root@DaM
    02-09
  • Debian8.8下的VIM的配置文件 vim8.2
    传动们:http://blog.csdn.net/gatieme/article/details/43883261?spm=5176.100239.blogcont47532.3.yXiEuB 感觉挺不错的一个,收藏了
    02-09
  • [10]Make Vim as Your C/C++ IDE in Debian
    1. install vim and vim-gnomesudo apt-get install vimsudo apt-get install vim-gnome2. install vim plugin c.vimdownload cvim.zip from http://www.vim.org/scripts/script.php?script_id=213if there already have ~/.vim, unzip cvim.zip and co
    02-09
  • Debian编译安装vim7.4 debian编译安装apache
    相对于vim7.3, 7.4版的编译安装实在是太简单了,之前下载vim7.3的源码编译安装,遇到一大堆问题1. 获得源代码,我安装时的版本是7.4.31如果还没有安装 Mercurial,很简单,先安装一下:sudo aptitude install mercurial获得最新的vim源代码:hg clone https://vim.go
    02-09
  • fedora 16 下搭建gvim+xdebug调试环境
    gvim、php、apache的安装这里就不介绍了,建议使用yum安装。1、安装python、python-devel、mercurial#yum install python python-devel mercurial2、安装xdebug#yum php-perl-xdebug3、安装DBGp  在http://www.vim.org/scripts/script.php?script_id=19
    02-09
点击排行