似乎vimspythonsripting旨在编辑缓冲区和文件,而不是与vims寄存器一起很好地工作。您可以使用一些vim包命令来访问寄存器,但它并不漂亮。我使用使用寄存器的python创建vim函数的解决方案是这样的。functionprintUnnamedRegister()python设置寄存器也可以使用类似的东西functionsetUnnamedRegsiter()python但是这感觉有点麻烦而且我不确定myescapefn到底应该是什么。所以我一直无法让设置版本正常工作。所以如果有办法做更像的事情functionprintUnnamedRegister()python或者甚
有没有办法自动申请autopep8到正在vim中编辑的文件?我有以下vimrc.提前谢谢你。 最佳答案 使用autopep8的正确方法是依赖vim"formatprg"设置。所以你将下面的行添加到vimrc:auFileTypepythonsetlocalformatprg=autopep8\-现在,当您在python中选择行并点击gq(默认映射,除非您重新映射它)。它将通过autopep8过滤行并在适当的位置写入格式良好的版本。上面的设置也使它可以与vim对象和vim运动一起工作,因此您可以使用gqap重新渲染一个段落(很好的py
这听起来像是一个非常基本的问题,可能有一个明显的解决方案,不幸的是我还没有找到它。如何防止vim在字符串中间中断(输入换行符)?我输入了一个字符串列表,它看起来像这样:a=['astring','bstring','cstring']我喜欢换行符,我不希望vim只是换行并继续下一个编辑器行。我希望我的行长度大约为80个字符,而无需手动输入换行符。我想要的是要么不要打断任何字符串,即使它有空格也是如此使用隐式字符串连接断开字符串,即关闭字符串并在新行开始一个新字符串在'cstring'之前中断我找到的最接近的解决方案不是很有用:Isthereanywaytogetvimtoautowra
我正在使用watchdog监视OSX上的.less文件更改事件。如果我使用TextMate或SublimeText更改.less文件的内容,则会捕获修改事件。但是,如果我使用vim编辑内容,则不会触发文件修改事件(但会捕获使用vim创建的文件的文件创建事件)。我在FSEvents和kqueue上看到了相同的行为(我对这两者的了解几乎为零)。我想知道任何人都可以解释这种行为吗? 最佳答案 关于Watchdog'sreadme有一个部分专门针对您描述的问题:AboutusingwatchdogwitheditorslikeVim。建议在
我刚刚安装了jedi-vim与vundle我的vim版本是7.3.429。我安装了jedivipip每次我点击.或我收到此错误。Omnicompletion(^O^N^P)Patternnotfound当我在这里搜索这个模式时,我找到了一个使用vim-jedi的解决方案。但不幸的是,这发生在jedi-vim上。这里是一些寄存器的一些输出::setomnifuncomnifunc=jedi#complete:messagesMessagesmaintainer:BramMoolenaar"models.py"31L,1052C 最佳答案
假设我输入a=[1,2]在vim的.py文件中,当我输入“a”时。然后点击TAB,我想获得与列表相关的建议菜单。编辑1以回应Robin的评论:我认为这在vim中是可能的,因为有一个插件可以检查给定的python代码是否是有效代码(我不知道这个插件叫什么)。看一看: 最佳答案 最近版本的vim附带了一个名为pythoncomplete的全能补全脚本。打开一个python文件,然后输入:setcompletefunc?检查当前完成函数是什么。如果你回来了completefunc=那么当前没有设置完成函数。您可以通过键入将pythonco
我关注了http://sontek.net/blog/detail/turning-vim-into-a-modern-python-ide#intro在gvim中安装一堆用于Python编程的插件(安装在Windows8机器上)。似乎“command-t”和“tasklist”插件之间存在映射冲突,因为我收到以下错误消息:>ErrordetectedwhileprocessingC:\Users\Willem\vimfiles\bundle\tasklist\pl>ugin\tasklist.vim:>>line369:>>E227:mappingalreadyexistsfor\t
我一直在学习如何在tox中为我的python项目进行测试。我有(应该是)一个相当标准的tox初始化文件,如下所示:[tox]envlist=py27,flake8...[testenv:flake8]deps=flake8commands=flake8library#'library'istemp.nameofproject一切看起来都很正常,所有测试都有效,甚至flake8输出也通过了(下面的输出)。但是,tox引发了一个InvocationError(它对使用pylint进行的测试也是如此)flake8recreate:/Users/shostakovich/projects/pr
这个问题在这里已经有了答案:HowdoIrunaterminalinsideofVim?(24个答案)关闭8年前。是否可以在Vim缓冲区中打开Python解释器?像这样的东西:________________________|||||mypythonscript|||||------------------------|||pythoninterpreter|------------------------现在我打开了Vim并打开了一个单独的解释器。我看到了this的答案并被吹走了。无论如何,感谢您的帮助,如果有什么我可以用谷歌搜索然后指向那个方向。
这post仅当打印命令中有字符串时才有用。现在我有大量的源代码,其中包含一条声明,例如printmilk,butter应该格式化为print(milk,butter)用\n捕获行尾并不成功。有什么提示吗? 最佳答案 我不熟悉2to3,但从所有评论来看,它看起来是完成这项工作的正确工具。也就是说,也许我们可以以此问题为借口来学习一些vim基础知识的简短类(class)。首先,您需要一个与正确行相匹配的模式。我认为^\s*print\>可以:^匹配行首($匹配行尾)。\s匹配空格(空格或制表符)*表示前一个原子的0个或多个(尽可能多,或