vim中的android远程python脚本

vim中的android远程python脚本,android,python,vim,Android,Python,Vim,我知道您可以使用端口转发“远程”编写android脚本,使用以下方法: adb forward tcp:9999 tcp:<android port no> export AP_PORT=9999 这很好,但后来我考虑用VIM(macVim)来尝试。我的想法是我可以使用: map <buffer> <S-e> :w<CR>:!/usr/bin/python2.6 % <CR> map:w:/usr/bin/python2.6% 在

我知道您可以使用端口转发“远程”编写android脚本,使用以下方法:

adb forward tcp:9999 tcp:<android port no>
export AP_PORT=9999
这很好,但后来我考虑用VIM(macVim)来尝试。我的想法是我可以使用:

map <buffer> <S-e> :w<CR>:!/usr/bin/python2.6 % <CR>
map:w:/usr/bin/python2.6%
在my.vimrc中运行我正在编辑的代码。这对于在mac上测试python脚本非常有用。但在android上尝试时,如果我尝试运行this(另存为and.py),我会得到以下结果:

导入android
droid=android.android()
机器人makeToadt(“嗨”)
:!/usr/bin/python2.6和.py
回溯(最近一次呼叫最后一次):
文件“and.py”,第2行,在
droid=android.android()
文件“/Library/Python/2.6/site packages/android.py”,第34行,在__
self.conn=socket.create_连接(addr)
文件“/System/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/socket.py”,第498行,在create_connection中
对于getaddrinfo(主机、端口、0、SOCK_流)中的res:
socket.gaierror:[Errno 8]提供了节点名或服务名,或者未知
我假设导出AP_PORT=9999对vim不“可见”,因为问题似乎出现在创建
self.conn
中。有什么想法吗?有人使用这种方法吗


我没有使用模拟器,因为我的计算机速度太慢。

您需要在vim的环境中设置环境变量。使用:

:let $AP_PORT=9999

设置它-这将由您正在生成的python子进程继承。

brilliant-我一直试图在脚本中声明它。。。我可以把这个添加到我的vim.rc吗?或者这个案子会有问题吗?当不使用android时?除非其他程序碰巧使用了该环境变量,否则将其放入vimrc中应该很好
import android
droid = android.Android()
droid.makeToadt("hihi")


:!/usr/bin/python2.6 and.py
Traceback (most recent call last):
  File "and.py", line 2, in <module>
    droid = android.Android()
  File "/Library/Python/2.6/site-packages/android.py", line 34, in __init__
    self.conn = socket.create_connection(addr)
  File "/System/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/socket.py", line 498, in create_connection
    for res in getaddrinfo(host, port, 0, SOCK_STREAM):
socket.gaierror: [Errno 8] nodename nor servname provided, or not known
:let $AP_PORT=9999