LibreOffice 中“查找下一个”和“查找上一个”的键盘快捷键

Gil*_*il' 8 search keyboard-shortcuts libreoffice

我想要一个“查找下一个”和“查找上一个”(或“搜索下一个”和“上一个搜索”,或“向前重复搜索”和“向后重复搜索”或任何你想称呼的)的键盘快捷键一直工作。

快捷方式F3Shift+F3仅在光标位于搜索栏中时有效。快捷键Ctrl+ Shift+ F(“重复搜索”)只能在一个方向,但我常常想回到以前的发生。所以这些都不适合我。

没有“搜索上一个”命令,但我希望定义一个,以及一个实际的“搜索下一个”作为宏并将键绑定到这些宏。似乎可行。我尝试围绕“重复搜索”的调用录制一个宏,它设置了一些参数和调用.uno:RepeatSearch,但如果可能的话,我不知道如何使它朝着特定的方向前进。我还尝试在按下 ? 搜索栏中的按钮,但对搜索字符串进行了硬编码,我不知道如何使其使用上一次搜索的参数。

如何通过宏或其他方式将键绑定到“查找下一个”和“查找上一个”?我至少在 Linux 上的 LibreOffice 4.2.8.2 中需要这个。

Jim*_*m K 1

使用.uno:ExecuteSearch(假设这是记录器给您的内容),但不要使用硬编码的搜索字符串,而是输入如下值:

Global SearchString
Sub doSearch
    SearchString = InputBox("Search string:", "Search", "")
    ' Put the .uno:ExecuteSearch code here.
End Sub
Run Code Online (Sandbox Code Playgroud)

然后更改硬编码搜索字符串以使用此变量:

args1(11).Name = "SearchItem.SearchString"
args1(11).Value = SearchString
Run Code Online (Sandbox Code Playgroud)

现在,为了重复搜索,创建两个附加宏,每个方向一个。设置"SearchItem.Backward"为 true 或 false。InputBox使用我们之前存储的 SearchString 变量,而不是另一个变量。