为什么 Slime inspect 仅适用于鼠标单击而不适用于键盘命令?
Why Slime inspect only works with mouse click and not with the keyboard command?
我正在使用 Emacs、Slime 和 Common Lisp (SBCL)。 Nyxt 只是 package.
的名称
在 SLIME 的 REPL 中,调用变量会检索以下表达式:
NYXT> history-entries-over-threshold
(#<HISTORY-ENTRY {10131F2903}> #<HISTORY-ENTRY {10131F28D3}>
#<HISTORY-ENTRY {10131F28A3}> #<HISTORY-ENTRY {10131F2873}>
#<HISTORY-ENTRY {10131F2843}> #<HISTORY-ENTRY {10131F2813}>
#<HISTORY-ENTRY {10131F27E3}> #<HISTORY-ENTRY {10131F27B3}>
#<HISTORY-ENTRY {10131F2783}> #<HISTORY-ENTRY {10131F2753}>
#<HISTORY-ENTRY {10131F2723}> #<HISTORY-ENTRY {10131F26F3}>
#<HISTORY-ENTRY {10131F26C3}> #<HISTORY-ENTRY {10131F2693}>
#<HISTORY-ENTRY {10131F2633}>)
我可以在表达式的任意部分右击,菜单中会有Inspect选项。然后,缓冲区显示元素列表,我可以检查每个元素。
尽管使用鼠标有成功的经验,但我还是想使用键盘。这似乎是可能的,因为 Slime 的命令 slime-repl-inspect
绑定到 C-c I
。问题是它不对我有用。
按下 C-c I
后,提示缓冲区会询问预期的值。我插入我用鼠标点击的值:
Inspect value (evaluated): (#<HISTORY-ENTRY {10131F2903}> #<HISTORY-ENTRY {10131F28D3}>
#<HISTORY-ENTRY {10131F28A3}> #<HISTORY-ENTRY {10131F2873}>
#<HISTORY-ENTRY {10131F2843}> #<HISTORY-ENTRY {10131F2813}>
#<HISTORY-ENTRY {10131F27E3}> #<HISTORY-ENTRY {10131F27B3}>
#<HISTORY-ENTRY {10131F2783}> #<HISTORY-ENTRY {10131F2753}>
#<HISTORY-ENTRY {10131F2723}> #<HISTORY-ENTRY {10131F26F3}>
#<HISTORY-ENTRY {10131F26C3}> #<HISTORY-ENTRY {10131F2693}>
#<HISTORY-ENTRY {10131F2633}>)
不幸的是,REPL 抛出错误:
illegal sharp macro character: #\<
Line: 1, Column: 2, File-Position: 2
Stream: #<SB-IMPL::STRING-INPUT-STREAM {100676A913}>
[Condition of type SB-INT:SIMPLE-READER-ERROR]
如何使用键盘实现与鼠标检查相同的结果?
实际上,提示缓冲区中的消息具有误导性,尤其是考虑到您在使用鼠标时单击值。
为了使用键盘实现同样的效果,用户需要输入变量(不是值)。所以,按下 C-c I
后:
Inspect value (evaluated): history-entries-over-threshold
它起作用了,返回了用鼠标实现的相同的内省列表:
#<CONS {1002A04127}>
--------------------
A proper list:
0: #<HISTORY-ENTRY {10131F2903}>
1: #<HISTORY-ENTRY {10131F28D3}>
2: #<HISTORY-ENTRY {10131F28A3}>
3: #<HISTORY-ENTRY {10131F2873}>
4: #<HISTORY-ENTRY {10131F2843}>
5: #<HISTORY-ENTRY {10131F2813}>
6: #<HISTORY-ENTRY {10131F27E3}>
7: #<HISTORY-ENTRY {10131F27B3}>
8: #<HISTORY-ENTRY {10131F2783}>
9: #<HISTORY-ENTRY {10131F2753}>
10: #<HISTORY-ENTRY {10131F2723}>
11: #<HISTORY-ENTRY {10131F26F3}>
12: #<HISTORY-ENTRY {10131F26C3}>
13: #<HISTORY-ENTRY {10131F2693}>
14: #<HISTORY-ENTRY {10131F2633}>
有C-c C-v C-i
点查看演示文稿,无需再次输入值。您可以使用 C-h b
查看活动的键绑定,然后搜索 inspect
.
我正在使用 Emacs、Slime 和 Common Lisp (SBCL)。 Nyxt 只是 package.
的名称在 SLIME 的 REPL 中,调用变量会检索以下表达式:
NYXT> history-entries-over-threshold
(#<HISTORY-ENTRY {10131F2903}> #<HISTORY-ENTRY {10131F28D3}>
#<HISTORY-ENTRY {10131F28A3}> #<HISTORY-ENTRY {10131F2873}>
#<HISTORY-ENTRY {10131F2843}> #<HISTORY-ENTRY {10131F2813}>
#<HISTORY-ENTRY {10131F27E3}> #<HISTORY-ENTRY {10131F27B3}>
#<HISTORY-ENTRY {10131F2783}> #<HISTORY-ENTRY {10131F2753}>
#<HISTORY-ENTRY {10131F2723}> #<HISTORY-ENTRY {10131F26F3}>
#<HISTORY-ENTRY {10131F26C3}> #<HISTORY-ENTRY {10131F2693}>
#<HISTORY-ENTRY {10131F2633}>)
我可以在表达式的任意部分右击,菜单中会有Inspect选项。然后,缓冲区显示元素列表,我可以检查每个元素。
尽管使用鼠标有成功的经验,但我还是想使用键盘。这似乎是可能的,因为 Slime 的命令 slime-repl-inspect
绑定到 C-c I
。问题是它不对我有用。
按下 C-c I
后,提示缓冲区会询问预期的值。我插入我用鼠标点击的值:
Inspect value (evaluated): (#<HISTORY-ENTRY {10131F2903}> #<HISTORY-ENTRY {10131F28D3}>
#<HISTORY-ENTRY {10131F28A3}> #<HISTORY-ENTRY {10131F2873}>
#<HISTORY-ENTRY {10131F2843}> #<HISTORY-ENTRY {10131F2813}>
#<HISTORY-ENTRY {10131F27E3}> #<HISTORY-ENTRY {10131F27B3}>
#<HISTORY-ENTRY {10131F2783}> #<HISTORY-ENTRY {10131F2753}>
#<HISTORY-ENTRY {10131F2723}> #<HISTORY-ENTRY {10131F26F3}>
#<HISTORY-ENTRY {10131F26C3}> #<HISTORY-ENTRY {10131F2693}>
#<HISTORY-ENTRY {10131F2633}>)
不幸的是,REPL 抛出错误:
illegal sharp macro character: #\<
Line: 1, Column: 2, File-Position: 2
Stream: #<SB-IMPL::STRING-INPUT-STREAM {100676A913}>
[Condition of type SB-INT:SIMPLE-READER-ERROR]
如何使用键盘实现与鼠标检查相同的结果?
实际上,提示缓冲区中的消息具有误导性,尤其是考虑到您在使用鼠标时单击值。
为了使用键盘实现同样的效果,用户需要输入变量(不是值)。所以,按下 C-c I
后:
Inspect value (evaluated): history-entries-over-threshold
它起作用了,返回了用鼠标实现的相同的内省列表:
#<CONS {1002A04127}>
--------------------
A proper list:
0: #<HISTORY-ENTRY {10131F2903}>
1: #<HISTORY-ENTRY {10131F28D3}>
2: #<HISTORY-ENTRY {10131F28A3}>
3: #<HISTORY-ENTRY {10131F2873}>
4: #<HISTORY-ENTRY {10131F2843}>
5: #<HISTORY-ENTRY {10131F2813}>
6: #<HISTORY-ENTRY {10131F27E3}>
7: #<HISTORY-ENTRY {10131F27B3}>
8: #<HISTORY-ENTRY {10131F2783}>
9: #<HISTORY-ENTRY {10131F2753}>
10: #<HISTORY-ENTRY {10131F2723}>
11: #<HISTORY-ENTRY {10131F26F3}>
12: #<HISTORY-ENTRY {10131F26C3}>
13: #<HISTORY-ENTRY {10131F2693}>
14: #<HISTORY-ENTRY {10131F2633}>
有C-c C-v C-i
点查看演示文稿,无需再次输入值。您可以使用 C-h b
查看活动的键绑定,然后搜索 inspect
.