我在vim中使用wrap,但是我希望vim以其他方式运行,就好像行中有实际的中断(而不是屏幕渲染的“软中断”)。
我已将j映射到gj,将k映射到gk以进行导航。但是,行操作(例如dd)仍然作用于整行,而不是“屏幕行”。有没有办法改变这种行为,使'dd'仅限于屏幕线?
答案 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>