在Bash提示符中搜索字符

3
在vim中,要查找一个字符,可以使用'f'在光标所在行中查找下一个匹配的字符,并使用'F'在光标所在行中查找上一个匹配的字符。
那么,在bash命令行上有没有类似的移动方式呢?
我知道你可以通过输入“set -o vim”将bash设置为vim模式,在我的本地机器上运行得很好,但是我管理许多无法更改该设置的机器。

如果你是机器管理员,为什么不能在~/.inputrc中添加set editing-mode vi呢?只是因为有很多机器需要修改,这会很麻烦,还是其他原因? - ThisSuitIsBlackNot
我肯定可以使用vim,但我的同事不喜欢它,所以我被否决了。我们必须使用相同的用户登录到机器上,因此我对环境进行的任何配置更改都会影响到他们(不幸的是,我无法控制单用户设置)。 - rgimmy
2个回答

1
忽略办公室中每个人共享相同用户所带来的安全问题,您可以将键绑定添加到readline 命令 character-search
# ~/.inputrc
C-]: character-search

要使用搜索功能,请按Ctrl-],然后输入您要搜索的字符。您可以将该命令绑定到任何键序列上,而不仅仅是Ctrl-],但由于明显的原因,您可能不希望通过将其绑定到字母f来模拟vi模式。
这比打开vi模式要少侵入性,因此大多数用户可能甚至不会注意到更改。但是,某人可能会意外地碰到您的键序列并变得非常困惑。您还需要使用三个按键,而不是您习惯于使用vi的两个按键。

谢谢!我同意你关于相同用户的观点。 - rgimmy

0
根据文档character-search默认绑定到C-]character-search-backward绑定到M-C-],因此您不必手动绑定它们。

请注意,这些命令需要一个数字参数,因此要跳过例如第五个字母o的下一个出现,输入M-5 C-] oESC 5 C-] o


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接