2012-03-23 53 views
4

我在vim中使用了wrap,但是我希望vim的行为好像行中有实际的中断(而不是屏幕渲染的“软中断”)。包装文本上的vim行操作(例如dd)

我已将j映射到gj,并将k映射到gk以进行导航。然而,行操作(例如dd)仍然作用于整个行,而不是“屏幕行”。是否有任何方法来改变这种行为,使'dd'被限制在屏幕上?

+2

http://stackoverflow.com/questions/1585763/vim -delete显示线-代替-的物理线 – rpeshkov 2012-03-23 08:54:48

回答

4

您可以创建一个键映射:

:nnoremap dd g0dg$ 
4

我宁愿在操作符等待模式创建一个新的运营商,例如x

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

有了第一个映射,dx将删除一个屏幕线,yx会抽出一个屏幕线(当心,它不会被粘贴线条,但字符),cx将删除屏幕线并开始插入模式,依此类推。

随着第二个映射,x在视觉模式将扩展到屏幕线的视觉选择。

我不会建议重新映射DD,因为这可能会打破插件(如果他们使用:normal,而不是:normal!或者,如果他们使用:×××map而不是:×××noremap