我在vim中使用了wrap,但是我希望vim的行为好像行中有实际的中断(而不是屏幕渲染的“软中断”)。包装文本上的vim行操作(例如dd)
我已将j映射到gj,并将k映射到gk以进行导航。然而,行操作(例如dd)仍然作用于整个行,而不是“屏幕行”。是否有任何方法来改变这种行为,使'dd'被限制在屏幕上?
我在vim中使用了wrap,但是我希望vim的行为好像行中有实际的中断(而不是屏幕渲染的“软中断”)。包装文本上的vim行操作(例如dd)
我已将j映射到gj,并将k映射到gk以进行导航。然而,行操作(例如dd)仍然作用于整个行,而不是“屏幕行”。是否有任何方法来改变这种行为,使'dd'被限制在屏幕上?
您可以创建一个键映射:
:nnoremap dd g0dg$
我宁愿在操作符等待模式创建一个新的运营商,例如x
:
onoremap x :norm! g0vg$<cr>
xnoremap x g$og0o
有了第一个映射,dx
将删除一个屏幕线,yx
会抽出一个屏幕线(当心,它不会被粘贴线条,但字符),cx
将删除屏幕线并开始插入模式,依此类推。
随着第二个映射,x
在视觉模式将扩展到屏幕线的视觉选择。
我不会建议重新映射DD,因为这可能会打破插件(如果他们使用:normal
,而不是:normal!
或者,如果他们使用:×××map
而不是:×××noremap
。
http://stackoverflow.com/questions/1585763/vim -delete显示线-代替-的物理线 – rpeshkov 2012-03-23 08:54:48