我试图从命令行自动缩进.lisp文件,利用vim + slimv来完成缩进。从命令行自动缩进一个.lisp文件,并使用slimv进行缩进
我试图脚本它:
vi -c 'call SlimvConnectSwank()' -c 'normal gg=G' -c 'wq' -c 'q!' temp.lisp
但斯旺克服务器未查询到做缩进,所以这只是缩进.lisp Vim的缺省文件(如果slimv和服务器都没有运行) 。
在呼叫连接到swank服务器之后,我需要进行某种delay/wait -c命令吗?看来整个vi流程正在关闭得太快,并没有给swank一个连接的机会。如果swank连接发生在一个单独的线程上,我想这可能是这种情况。
想法/意见/建议表示赞赏。
谢谢!
Tamas明白了。它是(并且我检查了这一点,两者实际上都是需要的;真的:))一个睡眠命令和swank命令让它起作用。
我说这对我的.bashrc,并化名为“AI”,这样我可以很容易地从缩进命令行.lisp文件:
alias ai="vi \
-c 'call SlimvConnectSwank()' \
-c 'sleep 1' \
-c 'call SlimvEval(['0'])' \
-c 'normal gg=G' \
-c 'wq' \
-c 'q!'"
现在“人工智能temp.lisp”自动缩进温度。slp到slimv + vim + swank等标准。
各种各样的方法来脚本此自动缩进lisp文件的回购,一旦你有bash命令做一个文件。
Hey Tamas;所有需要正确缩进表单的代码已经加载到服务器中;还要清楚,服务器已经在运行;只是在与函数调用进行连接。我今天晚上再试验一下 –
啊,所以这是别的。然后,您可以通过在'.vimrc'中添加'let g:swank_log = 1'来调查swank命令的顺序和时间。寻找':indentation-update',也许Slimv在实际缩进执行后收到它太晚了。在这种情况下,插入任何与swank通信的命令可能足以强制接收':indentation-update'。例如。 'vi -c“调用SlimvConnectSwank()”-c“调用SlimvEval(['0'])”-c“normal gg = G”-c“wq”-c“q!” temp.lisp'在连接之后但在缩进之前评估'0'。 –