在 Vim 中运行 Python 代码

2023-11-24

我正在使用 Vim 编写 Python 代码,每次我想运行代码时,我都会在 Vim 中输入以下内容:

:w !python

这让人沮丧,所以我一直在寻找一种更快的方法来在 Vim 中运行 Python 代码。也许从终端执行 Python 脚本? 我正在使用Linux。


添加一个怎么样autocmd给你的~/.vimrc-文件,创建映射:

autocmd FileType python map <buffer> <F9> :w<CR>:exec '!python3' shellescape(@%, 1)<CR>
autocmd FileType python imap <buffer> <F9> <esc>:w<CR>:exec '!python3' shellescape(@%, 1)<CR>

然后你可以按<F9>执行当前缓冲区python

解释:

  • autocmd: Vim 将自动执行的命令{event}(这里:如果你打开一个python文件)
  • [i]map:创建键盘快捷键<F9>在插入/正常模式下
  • <buffer>:如果打开了多个缓冲区/文件:仅使用活动的缓冲区/文件
  • <esc>:离开插入模式
  • :w<CR>: 保存您的文件
  • !:在 shell 中运行以下命令(尝试:!ls)
  • %: 替换为活动缓冲区的文件名。But因为它可能包含空格和其他“坏”东西,所以最好不要写:python %,但使用:
  • shellescape: 转义特殊字符。这1带有反斜杠的意思

TL;DR:第一行将在正常模式下工作,一旦按下<F9>它首先保存您的文件,然后使用 python 运行该文件。 第二个做同样的事情,但首先离开插入模式

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 Vim 中运行 Python 代码 的相关文章

  • 以 str.format 切片字符串

    我想实现以下目标str format x y 1234 5678 print str x 2 str y 2 我能够做到这一点的唯一方法是 print 0 1 format str x 2 str y 2 现在 这是一个例子 我真正拥有的是
  • 使用 glGetFloatv 检索 pyglet 中的模型视图矩阵

    我正在使用 pyglet 在 python 中进行 3D 可视化 并且需要检索模型视图和投影矩阵来进行一些选择 我使用以下方式定义我的窗口 from pyglet gl import from pyglet window import wi
  • 如何将人物传奇带到前台?

    我有一系列子图 其中每个子图都有一个图例 我想在每个子图之外与相邻子图重叠 问题在于图例位于其自己的图的 顶部 但位于相邻图的下方 Legend 不将 zorder 作为参数 所以我不知道如何解决这个问题 这是我使用过的代码 import
  • 将文件标记为从 Python 中删除?

    在我的一个脚本中 我需要删除当时可能正在使用的文件 我知道我无法删除正在使用的文件 直到它不再使用为止 但我也知道我可以将该文件标记为由操作系统 Windows XP 删除 我将如何在 Python 中做到这一点 以及另一个不依赖于 pyw
  • Python实时读取串口数据

    我正在使用 Python 中的脚本通过串行端口以 2Mbps 的速度从 PIC 微控制器收集数据 PIC 在 2Mbps 下完美定时工作 FTDI USB 串行端口在 2Mbps 下工作也很好 均通过示波器验证 我每秒发送消息 大小约为 1
  • 将数字转换为整数列表[重复]

    这个问题在这里已经有答案了 我该如何写magic下面的函数 gt gt gt num 123 gt gt gt lst magic num gt gt gt gt gt gt print lst type lst 1 2 3
  • Python,将字典存储在数据库中

    在数据库中存储和检索 python 字典的最佳方法是什么 如果您对使用传统 SQL 数据库 例如 MySQL 不是特别感兴趣 您可以研究非结构化文档数据库 其中文档自然映射到 python 字典 例如MongoDB http www mon
  • 如果每个区域内至少有 5 个连续行,如何在每个标题区域的末尾使用 Title[Name]2 发布新行?

    我想在每个 Title 区域的末尾使用 Title Name 2 发布新行的最简单方法是通过一个计算连续行数的变量 其中至少有 5 个连续行包含 1 1 1 1在每个 标题区域内 我不确定我对计数变量做错了什么 也许 确实必须在每个 Tit
  • 使用 Python 将阿拉伯语或任何从右到左书写系统的字符串打印到 Linux 终端

    非常简单的例子是 city print city 我期望输出是 但实际上输出是相反的字符串 字母看起来有点不同 因为它们有开始 中间和结束形式 我无法将其粘贴到此处 因为复制粘贴会再次更正字符串的顺序 如何在 Linux 终端上正确打印阿拉
  • 如何将嵌套的Python字典转换为简单的命名空间?

    假设我有一个深度为 N 的嵌套字典 如何将每个内部嵌套字典转换为简单的命名空间 example input key0a test key0b key1a key2a keyNx key2b test key1b test example o
  • Pygooglevoice登录错误

    另一个人问了这个问题 但没有回复 所以我再问一遍 我正在尝试使用 pygooglevoice API 但是当我运行 SMS py 示例脚本时 它给了我一个登录错误 我已经安装了 Enthought python 我想也许我还需要安装其他东西
  • Django Rest Framework 序列化器中的聚合(和其他带注释的)字段

    我正在尝试找出添加带注释字段的最佳方法 例如将任何聚合 计算 字段添加到 DRF 模型 序列化器 我的用例只是一种情况 端点返回的字段未存储在数据库中 而是从数据库计算得出 让我们看下面的例子 模型 py class IceCreamCom
  • 是否可以在 Jupyter 笔记本中显示控制台?

    我希望能够使用 Jupyter 笔记本中的控制台在环境中进行摆弄 添加额外的单元格意味着我总是必须滚动到最底部或在我想要 类似控制台 文本字段的任何地方创建新单元格 是否可以有一个永久的控制台窗口 例如在窗口底部 Thanks 您可以启动连
  • python:UnboundLocalError:赋值前引用的局部变量“open”[重复]

    这个问题在这里已经有答案了 def read lines readFileName readfile txt f open readFileName r contents f read and so on read lines 当我运行这个
  • 从网站上抓取数字和详细信息的数据

    我想从网站上抓取联系电话以及快递服务的相应详细信息 我无法从所有快递服务中获取联系电话和其他详细信息 例如姓名地址和评级 我分析的数据位于脚本标签中 请提出修复此问题的建议 import requests import pandas as
  • pandas-更改重采样时间序列的开始和结束日期

    我有一个时间序列 我将其重新采样到这个数据框中df 我的数据是从6月6日到6月28日 它希望将数据从6月1日延长到6月30日 计数列仅在较长时间内具有 0 值 而我的实际值是从 6 日到 28 日 Out 123 count Timesta
  • 枚举上的 random.choice

    我想用random choice on an Enum I tried class Foo Enum a 0 b 1 c 2 bar random choice Foo 但是这段代码失败了KeyError 我怎样才能随机选择一个成员Enum
  • 如何使用资源模块来衡量函数的运行时间?

    我想使用Python代码测量函数的CPU运行时间和挂钟运行时间 此处建议资源模块 如何以 Python 代码 不是从终端 的形式分别测量函数的 CPU 运行时间和挂钟运行时间 https stackoverflow com q 192046
  • Vim 和 snipMate(插件)- 添加新代码片段不起作用

    我正在尝试为我的 snipMate 插件创建一个新的片段 我使用一些名为 即 myfile endfile 的文件 所有 endfile 文件都应具有与 html 文件相同的 片段 所以我做了 cp html snippet endfile
  • 如何继承并重写 django 模型类来创建 listOfStringsField?

    我想为 django 模型创建一个新类型的字段 它基本上是一个 ListOfStrings 因此 在您的模型代码中 您将具有以下内容 模型 py from django db import models class ListOfString

随机推荐

  • 如何获取 WooCommerce 中所有订单状态的别名和名称?

    我想获取所有 WooCommerce 订单状态的所有 slugs 和名称 我尝试了以下线程中的答案 Woocommerce 获取订单状态列表列表但没有成功 我使用最新的 woocommerce 版本 任何帮助表示赞赏 您将使用专用功能wc
  • 了解 aurioTouch2 中的 FFT

    我一直在研究 Apple 示例代码中的 aurioTouch 2 在这里找到 归根结底 我想自己分析频率 现在我正在尝试了解这里发生的一些事情 如果这是微不足道的 我很抱歉 只是想了解一些源代码中漂浮的一些未注释的神奇数字 我现在的主要困惑
  • C++ 中的内存分配区域(堆栈、堆、静态)

    我知道 C 中有三个而不是两个内存区域 堆栈 堆和静态分配功能的区域 我有两个问题 为什么堆比栈慢这么多 当然 它应该只是一个额外的间接层 为静态 功能 变量 函数 类 分配的内存区域是否比堆提供更快的性能 首先是一些旁注 正确的术语是自动
  • HTML5 音频流

    之前在 stackoverflow 上已经有过一些关于这个问题的讨论 但从我所看到的来看 没有任何东西能真正回答这个问题 我正在尝试实现一个流音频网络应用程序 与 WFMU 对他们的球员所做的几乎相同 http wfmu org html5
  • 如何使用 Three.js 获取鼠标位置?

    嗨 我正在使用Icosahedrongemetry 在那儿 我将每个顶点添加圆地测定法 因此 现在我的要求是 当鼠标向圆向圆移动时 圆应感知鼠标 并且应该向鼠标移动 因此 我在圆圈周围创建了一个铃声 因此 如果鼠标向环移动 则圆圈应感知鼠标
  • MVC 中的 P3P 标头信息

    我不确定应该将其放在我的 Asp net MVC 网站中的什么位置 HttpContext Current Response AppendHeader P3P CP IDC DSP COR ADM DEVi TAIi PSA PSD IVA
  • 承诺并订阅

    我有一个 Angular2 ionic2 应用程序 我有一个请求城市的函数 但收到一个错误 指出属性订阅不存在this cityService getAllCities cityPage ts 有一个这样的函数 getCities this
  • Python - PySpark 的 Pickle Spacy

    The Spacy 2 0 文档提到开发人员添加了允许对 Spacy 进行 pickle 的功能 以便它可以由 PySpark 接口的 Spark 集群使用 但是 他们没有给出如何执行此操作的说明 有人可以解释一下我如何pickle Spa
  • TabLayout中的Fragment仅在用户滑动Android时加载

    你好 我正在用 A 制作一个应用程序fragment和几个孩子fragment在里面使用tablayout and viewpager 问题全是我的孩子fragment from Tablayout 始终执行 每当用户单击父级时加载所有代码
  • if-let 还是普通 if 条件更好?

    例如 fn foo gt Option lt gt fn bar gt Option lt gt if let None foo lt here return None 然后我将 if 语句更改为 if None foo 而且它也有效 可以
  • 从 python 脚本启动节点应用程序

    是否可以从树莓派上的Python脚本中启动node js应用程序 在命令行上我运行sudo node myscript js 我可以使用像操作系统这样的库吗 文件的第一行应为 usr bin python 您可以使用以下命令调用命令子流程调
  • H2 SQL语法异常

    我正在尝试导入 H2 的 sql 脚本 该脚本由 spring batch 提供 用于存储作业元数据 当我直接在 H2 控制台中执行此脚本时 没有语法错误 但我在初始化阶段引用了 Hibernate JPA 中要导入的相同脚本 但出现了以下
  • 使用 Docker 和 Docker Compose 时,Cypress 无法验证该服务器是否正在运行

    我目前正在运行三个 docker 容器 用于前端 Web 应用程序的 Docker 容器 在端口 8080 上公开 后端服务器的 Docker 容器 在端口 5000 上公开 我的 MongoDB 数据库的 Docker 容器 所有三个容器
  • 当启用急切执行时,传递给 Optimizer.compute_gradients 的“loss”应该是一个函数

    我是 TensorFlow 的新手 刚刚开始学习和理解它 我正在研究neural style transfer问题 我正在使用张量流version 1 14 我收到错误当启用急切执行时 传递给 Optimizer compute gradi
  • AVMutableCompositionTrack - insertTimeRange - insertEmptyTimeRange 问题

    我有一个奇怪的问题 我想用两个声音文件和静音生成一个新的声音文件 声音1 2秒长 静音 2秒静音 声音2 2秒长 当我尝试下面的代码时 我得到了一个 6 秒长的声音文件 其中包含所有部分 但顺序不同 顺序是 声音1 声音2 静音 我无法将这
  • 动态创建并提交表单

    有办法进去吗jQuery即时创建并提交表单 像下面这样 Content Are
  • 函数局部 typedef 在 C++0x lambda 中是否可见?

    我遇到了一个奇怪的问题 以下简化代码重现了 MSVC 2010 中的问题 template
  • 在 Oracle 中定义局部变量的最简单方法是什么?

    在SQL Server中 我可以像这样定义局部变量 declare id number 1000 select from tbl A where id id select from tbl B where id id 非常方便 我尝试做同样
  • 为什么VPC中的AWS lambda函数有时会超时,有时会正常工作?

    我在 VPC 中有一些 lambda 函数 其中一些需要 Internet 才能工作 所以我添加了一个 NAT 实例 t2 micro 问题是我有一些函数有时可以工作 有时会超时 例如 调用 FB API 的函数 80 的时间工作 20 的
  • 在 Vim 中运行 Python 代码

    我正在使用 Vim 编写 Python 代码 每次我想运行代码时 我都会在 Vim 中输入以下内容 w python 这让人沮丧 所以我一直在寻找一种更快的方法来在 Vim 中运行 Python 代码 也许从终端执行 Python 脚本 我