我有一个程序使用ansi终端代码来执行一些花哨的工作,例如在终端中运行时擦除行。当从Emacs内部运行时,显然会弄乱缓冲区。
该程序有一个不使用这些选项的选项,因此我希望能够在Emacs中的shell中运行时打开该选项。
我从终端或在Emacs中使用编译模式将此程序作为Makefile的一部分执行。
那么,有没有一种方法可以让编译模式设置一个环境变量(或类似的变量),以便在合适的情况下很容易在Makefile中捕获它以使用该选项?
我试图避免在make命令中手动添加一个额外的参数(无论哪种情况)。
我经常在emacs中编写python.
我经常想重新评估我的文件,我可以使用Ctrl-C Ctrl-C,这会导致解释器重新加载整个文件然后我可以继续播放.
所以,如果我正在编写一个需要输入的程序,我通常会发现自己有两行:
lines = open("/home/jla/inputfile").readlines()
#lines = fileinput.input()
Run Code Online (Sandbox Code Playgroud)
第一行是"开发时要做什么"(从已知的示例输入文件中读取),第二行是"从命令行运行时要做什么"(从stdin读取,或提供的文件名)
显然这很糟糕,所以我在想:
if in_emacs():
lines = open("/home/jla/inputfile").readlines()
if run_from_shell():
lines = fileinput.input()
else:
oops()
Run Code Online (Sandbox Code Playgroud)
我知道怎么写oops()的,但我有点坚持了in_emacs()和run_from_shell(),我想知道,如果你睿智的人们能有所帮助.