Gforth 控制台中的多行命令行编辑
Multiline command-line editing in Gforth console
我刚刚开始学习 Forth 编程语言。
我在 Ubuntu 上使用 Gforth。在 Gforth 交互式控制台中,我想进行缩进,但需要换行。 Enter 键不起作用,它执行了代码。对比一下,比如在web浏览器控制台测试JavaScript代码时,shift+enter换行不执行代码。我想要那样的东西。我应该按什么键?除了使用像 vim 这样的文本编辑器,还有其他方法吗?
最好的。
Gforth 不支持多行编辑(参见 manual)。
解决方法是在另一个 window 中使用您最喜欢的编辑器编辑文件,然后在 Gforth 控制台中重新加载此文件:
include /tmp/scratch.fs
外部文件也可以通过如下命令在 Gforth 控制台中编辑:
"vim /tmp/scratch.fs" system
所以一句话是:
"vim /tmp/scratch.fs" system "/tmp/scratch.fs" included
这可以包装成一个定义:
: scratch "vim /tmp/scratch.fs" system "/tmp/scratch.fs" included ;
所以单词 scratch
将打开一个编辑器,然后加载编辑后的文件。
注意:如果您使用的是非常旧的 Gforth 版本,则必须对字符串文字使用 s" ccc"
而不是 "ccc"
。
要有条件地include/exclude文件中的某些部分,单词[defined]
and [if]
can be used; to erase the previous instance of the loaded definitions the word marker
可以用作:
[defined] _clear [if] _clear [then]
marker _clear
\ some definitions
\ ...
考虑到通常的控制流词只能在定义中使用。
我刚刚开始学习 Forth 编程语言。 我在 Ubuntu 上使用 Gforth。在 Gforth 交互式控制台中,我想进行缩进,但需要换行。 Enter 键不起作用,它执行了代码。对比一下,比如在web浏览器控制台测试JavaScript代码时,shift+enter换行不执行代码。我想要那样的东西。我应该按什么键?除了使用像 vim 这样的文本编辑器,还有其他方法吗? 最好的。
Gforth 不支持多行编辑(参见 manual)。
解决方法是在另一个 window 中使用您最喜欢的编辑器编辑文件,然后在 Gforth 控制台中重新加载此文件:
include /tmp/scratch.fs
外部文件也可以通过如下命令在 Gforth 控制台中编辑:
"vim /tmp/scratch.fs" system
所以一句话是:
"vim /tmp/scratch.fs" system "/tmp/scratch.fs" included
这可以包装成一个定义:
: scratch "vim /tmp/scratch.fs" system "/tmp/scratch.fs" included ;
所以单词 scratch
将打开一个编辑器,然后加载编辑后的文件。
注意:如果您使用的是非常旧的 Gforth 版本,则必须对字符串文字使用 s" ccc"
而不是 "ccc"
。
要有条件地include/exclude文件中的某些部分,单词[defined]
and [if]
can be used; to erase the previous instance of the loaded definitions the word marker
可以用作:
[defined] _clear [if] _clear [then]
marker _clear
\ some definitions
\ ...
考虑到通常的控制流词只能在定义中使用。