在 Vim 中运行 Python 代码 [英] Running Python code in Vim

查看:81
本文介绍了在 Vim 中运行 Python 代码的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

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

I am writing Python code using Vim, and every time I want to run my code, I type this inside Vim:

:w !python

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

This gets frustrating, so I was looking for a quicker method to run Python code inside Vim. Executing Python scripts from a terminal maybe? I am using Linux.

推荐答案

如何将 autocmd 添加到您的 ~/.vimrc 文件中,创建一个映射:

How about adding an autocmd to your ~/.vimrc-file, creating a mapping:

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>

然后你可以按 python

说明:

  • autocmd:Vim 将在 {event} 上自动执行的命令(这里:如果你打开一个 python 文件)
  • [i]map:在插入/正常模式下创建的键盘快捷键
  • :如果打开了多个缓冲区/文件:只使用活动的一个
  • :退出插入模式
  • :w:保存您的文件
  • !:在你的 shell 中运行以下命令(试试 :!ls)
  • %:由活动缓冲区的文件名替换.但是因为它可能包含空格和其他坏"的东西,所以最好不要写:python %,而是使用:
  • shellescape:转义特殊字符.1 表示带反斜杠
  • autocmd: command that Vim will execute automatically on {event} (here: if you open a python file)
  • [i]map: creates a keyboard shortcut to <F9> in insert/normal mode
  • <buffer>: If multiple buffers/files are open: just use the active one
  • <esc>: leaving insert mode
  • :w<CR>: saves your file
  • !: runs the following command in your shell (try :!ls)
  • %: is replaced by the filename of your active buffer. But since it can contain things like whitespace and other "bad" stuff it is better practise not to write :python %, but use:
  • shellescape: escape the special characters. The 1 means with a backslash

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

TL;DR: The first line will work in normal mode and once you press <F9> it first saves your file and then run the file with python. The second does the same thing, but leaves insert mode first

这篇关于在 Vim 中运行 Python 代码的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆