使用macvim。假设我在编辑器中有一个句子占用了5行。第二句话占据了下5行。从光标在第1行开始。在正常模式下,按j
将带我到下一句(即第6行)。按行移动而不是按句子移动
如何将此行为更改为按j
将我带到第2行(仍然是第一句话的一部分?)。或者,而不是使用j
,以任何其他方式来实现这一目标?
使用macvim。假设我在编辑器中有一个句子占用了5行。第二句话占据了下5行。从光标在第1行开始。在正常模式下,按j
将带我到下一句(即第6行)。按行移动而不是按句子移动
如何将此行为更改为按j
将我带到第2行(仍然是第一句话的一部分?)。或者,而不是使用j
,以任何其他方式来实现这一目标?
实际的问题是行(不是句子)太长,并且它包裹到多条显示行。 j
和k
的默认移动将以实线移动光标,而不是显示线。
您可以重新映射j
和k
在正常模式下的显示行做的举动:
nnoremap j gj
nnoremap k gk
(在你的.vimrc)。
j
带你到下一行。我认为你有一个术语问题(“句子”并不意味着你认为它的含义)。如果j
不会将您带到屏幕上的下一行,这是因为该文件包含非常长的一行(您称之为“句子”),它太宽而无法放在屏幕上。如果线条很长,则显示在几条屏幕线上。 Vim称之为“显示行”。命令j
移动到下一个文件行的相同位置; gj
移动到下一个屏幕行上的同一列。
这条线就是你所说的“句子”。 'set nowrap'会显示为一条线。我认为,没有办法做到这一点,因为该“行”的长度取决于窗口的大小,并且在这些“行”之间没有实际的分隔符。 – khachik 2011-05-24 09:05:29