原文连接: https://spacevim.org/cn/layers/lang/python/

模块简介

这一模块为在 SpaceVim 中进行 python 开发提供了支持,包括代码补全、语法检查、代码格式化、交互式编程以及调试等特性。

功能特性

  • 代码补全
  • 文档查阅
  • 语法检查
  • 代码格式化
  • 交互式编程
  • 代码调试

依赖安装及启用模块

启用模块

可通过在配置文件内加入如下配置来启用该模块:

[[layers]]
name = "lang#python"

语法检查

checkers 模块提供了代码检查功能, 此外需要安装 flake8 包:

pip install --user flake8

代码格式化

默认的代码格式化快捷键为 SPC b f, 需要安装 yapf。若需要在保存文件是自动格式化该 python 文件,需要设置 format-on-savetrue

pip install --user yapf

格式化 imports

若需要更便捷地删除未使用的 imports,需要安装 autoflake

pip install --user autoflake

通过安装 isort 可快速对 imports 进行排序:

pip install --user isort

快捷键

跳至定义处

模式 按键 描述
Normal g d 跳至光标函数的定义处

代码生成

模式 快捷键 按键描述
Normal SPC l g d 生成 docstring

交互式编程

启动 pythonipython 交互进程,快捷键为: SPC l s i。如果存在可执行命令 ipython

则使用该命令为默认的交互式命令;否则则使用默认的 python 命令。可通过设置虚拟环境来修改可执行命令。

将代码传输给 REPL 进程执行:

快捷键 描述
SPC l s b 发送整个文件内容至 REPL
SPC l s l 发送当前行内容至 REPL
SPC l s s 发送已选中的内容至 REPL

运行当前脚本

在编辑 python 文件是,可通过快捷键 SPC l r 快速异步运行当前文件,运行结果会展示在一个独立的执行窗口内。

整理 Imports

快捷键 按键描述
SPC l i r 使用 autoflake 移除未使用的导包
SPC l i s 使用 isort 对导包进行排序

SpaceVim 语言模块 python的更多相关文章

  1. SpaceVim 语言模块 erlang

    原文连接: https://spacevim.org/cn/layers/lang/erlang/ 模块简介 功能特性 启用模块 快捷键 语言专属快捷键 交互式编程 模块简介 这一模块为 SpaceV ...

  2. SpaceVim 语言模块 elixir

    原文连接: https://spacevim.org/cn/layers/lang/elixir/ 模块简介 功能特性 启用模块 快捷键 语言专属快捷键 交互式编程 运行当前脚本 模块简介 这一模块为 ...

  3. SpaceVim 语言模块 elm

    原文连接: https://spacevim.org/cn/layers/lang/elm/ 模块简介 功能特性 依赖安装及启用模块 依赖安装 启用模块 快捷键 语言专属快捷键 交互式编程 模块简介 ...

  4. SpaceVim 语言模块 lua

    原文连接: https://spacevim.org/cn/layers/lang/lua/ 模块简介 启用模块 快捷键 交互式编程 运行当前脚本 模块简介 这一模块为在 SpaceVim 中进行 l ...

  5. SpaceVim 语言模块 dart

    原文连接: https://spacevim.org/cn/layers/lang/dart/ 模块简介 功能特性 依赖安装及启用模块 启用模块 语法检查及代码格式化 安装 dart-repl 快捷键 ...

  6. C语言扩展Python模块

    1. 先创建一个PythonDemo.cpp文件: //c/c++中调用python脚本,配置步骤参见上一篇:C/C++与python交互 \  C/C++中调用python文件. #include ...

  7. windows 下 使用codeblocks 实现C语言对python的扩展

    本人比较懒就粘一下别人的配置方案了 从这开始到代码 摘自http://blog.csdn.net/yueguanghaidao/article/details/11538433 一直对Python扩展 ...

  8. python为什么叫胶水语言?python为什么是系统脚本?

    python为什么叫胶水语言?python为什么是系统脚本?   特点是什么? python现在最广为闻名的形容大概有这些: 他是很好的胶水语言.什么是胶水语言?反正当时的我不知道. 他是新一代的系统 ...

  9. 小C和小派的缠绵爱情——C语言调用Python代码

    我妒忌你的开源,你眼红我的速度,不如我们就在一起吧! --------SJ2050 2019.4.9号更新:实现在未安装python环境的机子上运行调用了python程序的C语言代码! 文章目录 环境 ...

随机推荐

  1. yii2.0 Activeform表单部分组件使用方法 [ 2.0 版本 ]

    文本框:textInput(); 密码框:passwordInput(); 单选框:radio(),radioList(); 复选框:checkbox(),checkboxList(); 下拉框:dr ...

  2. CentOS 系统新装每次必看,直到背下。。

    1.CentOS7 mini 修改网卡信息: vi /etc/sysconfig/network-scripts/ifcfg-ens192 ONBOOT = yes vi /etc/resolv.co ...

  3. selenium 滑动解锁(drag_and_drop_by_offset)

    from selenium import webdriver from selenium.webdriver.common.action_chains import ActionChains from ...

  4. 使用MongoDB血泪般的经验教训

    故事背景,天书世界,现在项目已经属于成熟维护期,是时候总结一下当时的想法 第一个问题,为什么使用mongodb? 数据库对于游戏项目本身的要求与传统业务系统差异较大,所以nosql的弱结构性对于我那是 ...

  5. 如何理解 Learning to rank

    转:http://hi.baidu.com/christole/item/23215e364d8418f896f88deb What is Rank? rank就是排序.IR中需要排序的问题很多,最常 ...

  6. 022configparser模块

    #配置模块 #创建import  configparser config  =  configparser.ConfigParser() #添加config["DEFAULT"]  ...

  7. [原]零基础学习SDL开发之在Android使用SDL2.0加载字体

    在上一篇文章我们知道了如何在android使用SDL2.0来渲染显示一张png图,而且在上上一篇我们知道如何使用sdl来渲染输出bmp图,那么sdl是否可以渲染输出自己喜爱的字体库的字体呢?答案是当然 ...

  8. 解决hash冲突方法

    转自:https://www.cnblogs.com/wuchaodzxx/p/7396599.html 目录 开放定址法 线性探测再散列 二次探测再散列 伪随机探测再散列 再哈希法 链地址法 建立公 ...

  9. table中实现数据上移下移效果

    html 由于vue+Element项目中的table,没有开放的上移下移的api,但是能对数据操作,故思路为数组中的一条数据,再重新添加一条数据,办法有点笨,但是好歹也是实现了,望有好的办法的,请留 ...

  10. Spring(二十)之使用Log4j记录日志

    日志记录,也是常用的,比如异常信息记录或者其他相关信息记录,良好的日志记录有助于当系统出现某些不是特别大的问题时,可及时通过日志信息,捕捉到异常,从而确定是那段代码的问题,避免影响其他的代码. 关于m ...