包装文本上的vim行操作(例如,dd)

时间:2012-03-23 08:51:24

标签: vim word-wrap

我在vim中使用wrap,但是我希望vim以其他方式运行,就好像行中有实际的中断(而不是屏幕渲染的“软中断”)。

我已将j映射到gj,将k映射到gk以进行导航。但是,行操作(例如dd)仍然作用于整行,而不是“屏幕行”。有没有办法改变这种行为,使'dd'仅限于屏幕线?

2 个答案:

答案 0 :(得分:4)

您可以创建键映射:

:nnoremap dd g0dg$

答案 1 :(得分:4)

我宁愿在运营商挂起模式中创建一个新的运算符,例如x

onoremap x :norm! g0vg$<cr>
xnoremap x g$og0o

使用第一个映射时,dx会删除一个屏幕行,yx会抽出一个屏幕行(请注意,它不会按行方向粘贴,但会按字符方式粘贴),cx会删除屏幕行和开始插入模式,等等。

使用第二个映射,视觉模式中的x将扩展到视觉选择的屏幕线。

我不建议重新映射dd,因为这可能会破坏插件(如果他们使用:normal而不是:normal!,或者他们使用:×××map而不是:×××noremap。< / p>