有没有办法使用 `Ctrl + ->` 逐字逐句地浏览

有没有办法使用 `Ctrl + ->` 逐字逐句地浏览

Ctrl + ->我想知道是否有办法像其他编辑器一样逐字逐句地进行操作。

答案1

尝试使用 w 逐字移动。在 vim 中逐字移动速度更快。w、b、e 和 ge 命令允许我们向前或向后移动到单词的开头或结尾。:help word有关更多信息,请参阅 vim。

以下是关于 vim 误用的优秀答案的链接:

https://stackoverflow.com/a/1737259/975114

答案2

在多台计算机上查看后...

在 Linux 上使用 Gnome Terminal 时,此功能可立即使用。(这就是 romainl 询问您是否尝试过它的原因)

在 Mac OS 10.8 (Mountain Lion) 上

Control + 箭头键会被 Mission Control 捕获,并改变空间或移动屏幕。要禁用此功能,请转到系统偏好设置 -> 键盘 -> 键盘快捷键 -> Mission Control,然后取消选中所有带有 ctrl + 箭头的快捷键(Control 用 表示^

完成后。Ctrl + Arrow 在 iTerm2 中有效,无需在 vim 中进行调整。

但是它在终端的 vim 中不能立即工作。出于某种原因,control + arrow 对应于删除直到行尾。(这似乎与 bash 中的行为相同)。

要解决这个问题,您需要在发送“控制左”和“控制右”时更改终端以字符串形式发送的内容。

在终端中,转到首选项->设置->(您正在使用的配置文件)->键盘

编辑控制光标左侧为\033[1;5D,编辑控制光标右侧为\033[1;5D。 (注意: \033 是通过点击 来输入的ESC

完成这些更改后,您应该能够使用 Control Left 和 Control Right 来向前或向后移动单词。

此外,在正常模式下,Control Left 和 Control Right 有等效的单字母命令来执行相同操作。(<C-Left>是 Control + Left 和<S-Left>Shift + Left)

<C-Left>  == B    <S-Left>  == b
<C-Right> == W    <S-Right> == w

看看:h b:h w

(注意:除非您更改终端发送的内容,否则<S-Left>可能<S-Right>无法在 Termianl 中工作)

相关内容