Questions tagged «filetype-python»

配置并使用vi / vim编辑python代码。要使用python编写vim脚本,请使用/ vimscript-python标记。

6
Python 3的Vim代码完成
我正在运行Debian Jessie并使用当前的vim-nox(带有+ python -python3)。我在尝试使用Python 3编程时遇到了困难,因为我在处理Python 3代码完成方面遇到困难。 YouCompleteMe完全不支持Python3。jedi-vim确实支持Python 3补全功能,但前提是我正确理解了+ python3选项。从Debian Developers的几篇文章中看来,用+ python3标志编译Vim确实没有用。因此,我剩下了python-mode插件。 除了python-mode似乎无法维护(请参阅打开的pull-requests和最后的提交)并且当前在其master分支中存在有关绳索的巨大错误外,它还会干扰YouCompleteMe。我确实可以使用一些Python 3代码完成功能,但前提是必须完全禁用YouCompleteMe。将python文件类型的YCM列入黑名单或禁用python文件的YCM完成不起作用,每次打开vim时都会收到一条YCM警告。 所以我的问题是: 如何在不停用YouCompleteMe(我希望用于其他编程语言)的情况下,使Python 3自动补全功能在当前的Debian发行版上工作?对于如此重要​​的编程语言(Python 3不再被认为是新的。),为什么目前无法维护的插件是代码完成的唯一选择?

4
使用Python文件类型时,如何在vim中重新格式化多行字符串?
假设我正在vim中编辑一些Python代码,如下所示: myobj.myfunc("Some string parameter that goes on and on and on and on and sometimes doesn't" "split very" "neatly over different lines so that" "it is formatted attractively") 我希望重新格式化,以便重新设置到textwidth我设置的位置: myobj.myfunc("Some string parameter that goes on and on and " "on and on and sometimes doesn't split very " "neatly over …

1
大量运行会使vim运行缓慢吗?
这似乎是一个很愚蠢的问题,但是我有一个Python文件,其中包含一个数字,该数字的长度为一千个数字,并且该文件的运行速度似乎非常缓慢,我不确定是否正在进行某种处理。我不知道。 我按了排队j,有一定的停顿时间约1秒,那真是太痛苦了! 我只在Python文件上有此选项,而在其他文件上则没有。 删除号码后,文件将再次正常工作... 这是电话号码: number=("""7316717653133062491922511967442657474235534919493496983520312774506326239578318016984801869478851843858615607891129494954595017379583319528532088055111254069874715852386305071569329096329522744304355766896648950445244523161731856403098711121722383113622298934233803081353362766142828064444866452387493035890729629049156044077239071381051585930796086670172427121883998797908792274921901699720888093776657273330010533678812202354218097512545405947522435258490771167055601360483958644670632441572215539753697817977846174064955149290862569321978468622482839722413756570560574902614079729686524145351004748216637048440319989000889524345065854122758866688116427171479924442928230863465674813919123162824586178664583591245665294765456828489128831426076900422421902267105562632111110937054421750694165896040807198403850962455444362981230987879927244284909188845801561660979191338754992005240636899125607176060588611646710940507754100225698315520005593572972571636269561882670428252483600823257530420752963450""") 它甚至不是数字,而是字符串。

4
Quickfix对Python追溯的支持
说我有一个带有运行时错误的python脚本: $ cat example.py #! /usr/bin/env python3 a = 1/0 这使: $ python3 example.py Traceback (most recent call last): File "example.py", line 3, in <module> a = 1/0 ZeroDivisionError: division by zero 我希望Vim跳到该文件有问题的行(在本例中为第3行)。我知道Vim可以做到这一点,因为它可以很好地在C中gcc使用:make和quickfix窗口捕获编译时的错误。 当然,我可以使用:set makeprg=python3\ %和来填充Vim的quickfix窗口:make,但是它不会跳到回溯指向的行号。当我查看:copen它时,只需突出显示跟踪的第一行,就无法跳转到相关的行号。 (jessie以防万一,我在Debian上使用Vim 7.4 。) 我的问题是: 我可以配置Vim,使其知道如何从Python追溯中获取相关的行号吗? 我可以修改Python解释器以吐出Vim已经知道如何解析并获取相关行号的错误格式吗?

5
Vim语法模式突出显示python关键字参数
我正在努力学习vim正则表达式(我也不太了解其他正则表达式),所以主要问题是定义匹配的正则表达式 some_function_call(simple_value, keyword=value) 此示例中的关键字。 因此,如果它在括号内并且后跟等号,则应该匹配一个单词。 下一个问题是如何在vim中定义语法文件。我很乐意为此提供帮助,但是学习起来应该不难,所以我可以自己做。 根据答案进行编辑我已经为python编写了自己的语法脚本。随时尝试。 在此处输入链接说明


1
python块运动结束
我需要一个移动到python块结束/开始的动作,并且我需要另一个移动到上一个/下一个方法/类(所有组合)的开始/结束的动作。 我已经尝试过vim-indent-object,python-mode,chapa,vim-python-object等。它们都不支持块结尾,也都不支持上述动作的所有组合。 我记得曾几何时我有一个插件提供]],[[,][和[]运动的begining一个/下一个方法/班/结束,但在我插上目录我找不到它(搜索“] [”和“[]”在我插入的目录中并分析了所有出现的情况,但未找到定义“] [”或“ []”的任何内容)。 您知道我以前使用的插件吗?您知道提供此功能的任何插件吗?

1
如何修复Python关键字(例如“ self”)的“ missing”语法突出显示?
我正在尝试为python突出显示语法;我的颜色与屏幕快照中不同Vim配色方案中“应该”显示的颜色不同。您会看到将.rb(正确显示)与.py(看起来好像已经关闭)进行比较的区别: 例如,注意如何self不突出显示。(这是在base16中进行的,但在其他配色方案中,其比较将是相似的)。通常,看起来对象语法突出显示是错误的。 我尝试过的一些事情: 查看vim加载的语法脚本;在下面的示例中,.py和.rb之间的唯一区别是,当然,ruby获取了indent / ruby​​.vim和语法/ruby.vim,而python获取了indent / python.vim和语法/python.vim。这些是自制软件vim随附的文件。 在macvim中加载相同的文件,而不是在终端(iterm2)vim中加载;同样的问题,文件看上去与图片完全相同。 添加新的python.vim文件。即使用作.vim/after脚本也不能解决问题。 欢迎任何建议;我已经花了好几个小时不停地努力,无法弄清楚为什么突出显示效果不如预期。

1
python的参数完成
有没有办法为python获取参数完成? 我目前正在使用ctags,python-mode和YouCompleteMe的组合,但是我缺少一个自动完成功能参数(或至少显示它们)的功能。 是否有支持该功能的插件? 我正在使用vim / gvim 7.4和Ubuntu 14.04
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.