即使我是 Ruby 的初学者,我也在修改一个 TextMate 包。我要解决的问题是在命令输出后将插入符号移动到某个位置的问题。
基本上发生的事情是这样的:我点击了一个组合键,它触发了一个命令来过滤文档并在相关位置插入文本,然后用新的过滤文本替换文档退出。
我接下来想要发生的事情是让插入符号移回原来的位置。当我找到 TextMate.go_to 函数时,我很高兴,但我只能让它部分工作。功能:
位置Y = ENV['TM_LINE_NUMBER'] 位置X = ENV['TM_LINE_INDEX'] ... TextMate.go_to :line => positionY, :column => positionX; #column 无效
我可以将插入符号移到正确的行,但 column 参数不起作用。我试过改变它们,甚至只用列参数来做这个功能,但没有运气。我也尝试使用硬编码整数,但 positionX 参数打印正确的行索引,所以我怀疑那里有什么。
这是我在此方法上找到的唯一文档,但我查看了 textmate.rb 并且在我未经训练的眼睛看来,我正在正确使用它。
我知道这可以通过宏来实现,但我想尽可能避免这种情况。我也知道,如果您选择“插入为片段”,则可以使用标记,但是我必须先清除文档,而且我还没有真正弄清楚如何在不使用“替换文档”选项的情况下执行此操作。任何人?