当前位置:  开发笔记 > 编程语言 > 正文

你如何在Vim中使用Python?

如何解决《你如何在Vim中使用Python?》经验,为你挑选了3个好方法。

我在Vim和Python之间浪费了很多时间.我发现从Python手动复制粘贴到Vim太慢了,反之亦然.一个好的破坏的例子是:

%!python for i in xrange(25); 打印6*i \n

你怎么能在Vim做这样的调整? [解决了]

[澄清] 我需要Vim的东西,比如打印序列,算术...... - 我在Vim做不到的事情.

[?]有人可以详细说明这一点:"你的脚本可以从stdin中读取,直接在给定的行(.,%,...)上运行. "

[进一步澄清]

如果我想在第4,5,6和7行打印'Hello',那有什么不对:

:4-7!python -c"print'hello'"

点.修改当前行.我可以在多行7,32和99上打印:

:7,32,99!python -c"print'hello'"

显然不行.怎么样?



1> too much php..:

在任何vim窗口中,键入以下内容:

for x in range(1,10):
    print '-> %d' % x

目视选择这两行(V以启动可视模式),然后键入以下内容:

:!python

因为你在视觉模式下按下':',最终会看起来像:

:'<,'>!python

按Enter键,选择将被print语句的输出替换.您可以轻松将其转换为映射:

:vnoremap  :!python


我多年来一直在使用vim和python,但这个建议让我大吃一惊.不知道为什么我从来没有想过.
我的天啊.刚刚意识到这个技巧适用于写入stdout的任何东西,例如`ls -l`然后选择Visual并运行`:'<,'>!bash`
这是改变!
实际上我没有意识到在HL问他的问题之前我可以这么容易地做到这一点我必须找到答案......

2> too much php..:

有人可以详细说明这一点:"你的脚本可以从stdin中读取,直接在给定的行(.,%,...)上运行."

一个常见用途是使用shell中提供的"sort"命令对文本行进行排序.例如,您可以使用以下命令对整个文件进行排序:

:%!sort

或者,您可以通过在可视模式下选择它们然后键入以下几行来排序:

:!sort

您可以使用此命令对第5-10行进行排序:

:5,10!sort

您可以编写自己的命令行脚本(假设您知道如何操作),它会反转文本行.它的工作原理如下:

bash$ myreverse 'hello world!'
!dlrow olleh

您可以使用与您使用的完全相同的方式将其应用于vim中的一个打开文件sort:

:%!myreverse      <- all lines in your file are reversed



3> Greg Hewgill..:

从您的示例中,您似乎想要执行Python脚本并使脚本的输出显示在当前Vim缓冲区中.如果这是正确的,那么您可以在Vim的命令行中执行以下操作:

%!python -c "for i in xrange(25): print 6*i"

-c为其python提供运行脚本的选项.但是,您可能会发现此技术仅在非常短的情况下有用,因为与其他一些语言不同,Python不适合在一行中编写完整的程序.

推荐阅读
李桂平2402851397
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有