如何将光标移动到ACE Editor中的行尾?

时间:2014-12-23 17:15:07

标签: javascript html ace-editor

在我的Javascript文件中,我有以下几行代码:

editor.focus(); // To focus the ace editor
var n = editor.getSession().getValue().split("\n").length - 2;
editor.gotoLine(n); 

这会聚焦ACE编辑器,移动到最后一行,并向上移动两行。当它向上移动那两行时,它也会将光标移动到该行的前面。模拟某人按 Home 键。

问:如何将光标移动到行尾?或模拟结束键?

2 个答案:

答案 0 :(得分:8)

gotoline接受两个参数,一个用于行,一个用于列

var row = editor.session.getLength() - 1
var column = editor.session.getLine(row).length // or simply Infinity
editor.gotoLine(row + 1, column)

请注意gotoLine将选择内容滚动到具有动画的视图中,如果您不希望使用

editor.selection.moveTo(row, column)

代替。

模拟 end 键完全按照用户按结束时的处理方式使用

editor.execCommand("gotolineend")

答案 1 :(得分:6)

直接来自API

The method

您想使用方法navigateLineEnd()。所以在你的情况下:

editor.focus(); // To focus the ace editor
var n = editor.getSession().getValue().split("\n").length - 2;
editor.gotoLine(n); 
editor.navigateLineEnd() // Navigate to end of line