我正在开发一个基于pygtk的gedit插件。我想知道如何通过编程告诉光标去哪里。例如,我想让光标自动转到当前行中第一个“”(管道)之前的右侧。
有什么想法或出发点吗?到目前为止我一直在使用gedit API( right here )这在很大程度上是有用的,但没有提到任何关于操作光标位置的内容。
看看gedit插件API,它看起来像 gedit.Document 是的子类 GtkSourceBuffer 它本身是子类 GtkTextBuffer ,最后一个具有所需的光标操作API。特别地, get_insert() 和 place_cursor(where) 提供移动光标的基本知识。对于其他操作(例如,获取当前行),需要转换为 GtkTextIter 使用 get_iter_at_mark(mark) ;光标本质上只是一个特殊的 GtkTextMark .
gedit.Document
GtkSourceBuffer
GtkTextBuffer
get_insert()
place_cursor(where)
GtkTextIter
get_iter_at_mark(mark)
GtkTextMark