Ctrl + ->
我想知道是否有办法像其他编辑器一样逐字逐句地进行操作。
答案1
尝试使用 w 逐字移动。在 vim 中逐字移动速度更快。w、b、e 和 ge 命令允许我们向前或向后移动到单词的开头或结尾。:help word
有关更多信息,请参阅 vim。
以下是关于 vim 误用的优秀答案的链接:
答案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 中工作)