逐行而不是逐句移动

时间:2011-05-24 08:56:38

标签: vim macvim

使用macvim。假设我有一个句子在编辑器中占用5行。并且第二句占据了5个下一行。从第1行的光标开始。在正常模式下,按j将转到下一句(即第6行)。

如何将此行为更改为按j将我带到第2行的位置(这仍然是第一句话的一部分?)。或者不是使用j,而是以任何其他方式实现这一目标?

2 个答案:

答案 0 :(得分:4)

实际问题是线(不是句子)太长并且它包裹到多个显示行。 jk的默认移动会将光标移动到实线,而不是显示行。

您可以在正常模式下重新映射jk以在显示行中移动:

nnoremap j gj
nnoremap k gk

(在你的.vimrc中)。

答案 1 :(得分:3)

j带您到下一行。我认为你有一个术语问题(“句子”并不意味着你认为它意味着什么)。如果j没有带你到屏幕上的下一行,那是因为该文件包含一个很长的行(你称之为“句子”)太宽而不适合屏幕。如果有一条很长的线,它会显示在几条屏幕线上。 Vim称这些为“显示行”。 j命令移动到下一个文件行的相同位置; gj 会移到下一个屏幕行的同一列。