vim附带了一个很好的内置交互式教程.您只需运行以下命令即可访问本教程:
$ vimtutor
Run Code Online (Sandbox Code Playgroud)
它非常易于使用,因为它可以为基本命令创建工作案例.有更高级的教程吗?有没有人想过建立一个帮助他们将他们的VIM技能提升到新的水平?vim的大多数教程和备忘单网站只显示命令,但不一定是特定用途和示例.
那里有高级教程吗?这是一个可以作为开源文档的项目类型,每个人都可以添加示例吗?像Vim Interactive Wiki或类似于具有内置正则表达式测试程序的RegEx站点.
我希望这样做
lua prog.lua arg1 arg2
Run Code Online (Sandbox Code Playgroud)
从命令行
在prog.lua里面,我想说,比如说
print (arg1, arg2, '\n')
Run Code Online (Sandbox Code Playgroud)
Lua似乎没有argv [1]等,我看到的处理命令行参数的方法似乎不成熟和/或繁琐.我错过了什么吗?
我试过在一行上单词"quit",但这似乎只是将命令行指针从">"更改为">>".在交互式Lua中结束会话的最佳方法是什么?
我试图通过在JavaScript中嵌入JavaScript来使用JavaScript创建交互式SVG代码.我不知道这是否是正确的方法:
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg width="100%" height="100%" version="1.1"
xmlns="http://www.w3.org/2000/svg"
onkeypress="move()">
<script type="text/javascript">
<![CDATA[
var x;
var y;
function move()
{
x = new Number(svg.getElementsByTagName("circle")[0].getAttribute("cx"));
y = new Number (svg.getElementsByTagName("circle")[0].getAttribute("cy"));
switch (event.keyCode)
{
case 119:
y--;
y = y.toString();
svg.getElementsByTagName("circle").setAttribute("cy",y);
break;
case 115:
y++;
y = y.toString();
svg.getElementsByTagName("circle").setAttribute("cy",y);
break;
case 97:
x--;
x = x.toString();
svg.getElementsByTagName("circle").setAttribute("cx",x);
break;
case 100:
x++;
x = x.toString();
svg.getElementsByTagName("circle").setAttribute("cx",x);
break;
default:
}
}
]]>
</script>
<rect x="0" y="0" …Run Code Online (Sandbox Code Playgroud) 我有一个与用户交互的程序(就像一个shell),我想以交互方式使用python子进程模块运行它.这意味着,我希望有可能写入stdin并立即从stdout获取输出.我在这里尝试了许多解决方案,但它们似乎都不能满足我的需求.
我编写的代码基于在python中运行交互式命令
import Queue
import threading
import subprocess
def enqueue_output(out, queue):
for line in iter(out.readline, b''):
queue.put(line)
out.close()
def getOutput(outQueue):
outStr = ''
try:
while True: #Adds output from the Queue until it is empty
outStr+=outQueue.get_nowait()
except Queue.Empty:
return outStr
p = subprocess.Popen("./a.out", stdin=subprocess.PIPE, stout=subprocess.PIPE, stderr=subprocess.PIPE, bufsize = 1)
#p = subprocess.Popen("./a.out", stdin=subprocess.PIPE, stout=subprocess.PIPE, stderr=subprocess.PIPE, shell=False, universal_newlines=True)
outQueue = Queue()
errQueue = Queue()
outThread = Thread(target=enqueue_output, args=(p.stdout, outQueue))
errThread = Thread(target=enqueue_output, args=(p.stderr, errQueue))
outThread.daemon = True
errThread.daemon = True …Run Code Online (Sandbox Code Playgroud) 有没有人知道是否有ac#Console应用程序,类似于Python或Ruby控制台?我知道整个"编译与解释"的差异,但凭借C#的反射能力,我认为可以做到.
更新 嗯,它只花了大约200行,但我写了一个简单的...它的工作原理很像osql.输入命令然后用go运行它们.
SharpConsole http://www.gfilter.net/junk/sharpconsole.jpg
如果有人想要它,请告诉我.
只是想知道,是否可以单独使用PHP创建交互式shell.我的意思是你有数据库,python等.
如果是的话,怎么样?
在clojure中我有这样的行来定义默认值:
(def *http-port* 8080)
Run Code Online (Sandbox Code Playgroud)
我现在决定将这些类型的值正式化为一个配置单元,我想取消定义该值,*http-port*以便我可以找到仍然引用该值的位置并更改它们以使用新值.换句话说,我正在通过将值移动到不同的位置来进行重构.
我这样做的方法是退出粘液并尝试重新启动粘液会话.在maven的编译阶段,这些错误被拾取,我可以一次找到并修复一个引用.然后我修复错误,冲洗并重复.这显然令人沮丧.
连接到粘液会话时我该怎么做?
这可能是一个愚蠢的问题,但由于我找不到答案,我不得不问它.
在交互式python中,我想处理一条消息:
>>> message = sys.stdin.readlines()
Run Code Online (Sandbox Code Playgroud)
一切正常,但是......如何阻止它获取输入并将其保存到消息变量中?使用ctrl + c停止会停止整个过程,因此无需在任何地方保存输入.我想有一个简单的答案,我找不到...
我需要确定调用我的Python脚本的shell是否处于交互模式.如果它处于交互模式,程序应将输出管道输出到较小(1)以便于阅读.如果没有,它应该只是将其输出打印到stdout,以允许它被传送到打印机,文件或不同的寻呼机.
在shell脚本中,我会检查是否定义了提示变量$ PS1,或者在$ - 变量中存储的标志中查找-i选项.
在Python中测试交互性的首选方法是什么?
interactive ×10
python ×3
lua ×2
shell ×2
.net ×1
c# ×1
clojure ×1
command-line ×1
console ×1
exit ×1
input ×1
javascript ×1
namespaces ×1
open-source ×1
php ×1
pipe ×1
project ×1
scripting ×1
slime ×1
stdin ×1
stdout ×1
subprocess ×1
svg ×1
sys ×1
vim ×1