【问题标题】:vim line operations (e.g., dd) on wrapped text对换行文本的 vim 行操作(例如 dd)
【发布时间】:2012-03-23 08:51:23
【问题描述】:

我在 vim 中使用了换行,但我希望 vim 表现得好像线条中有实际的中断(而不是屏幕渲染的“软中断”)。

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

【问题讨论】:

标签: vim word-wrap


【解决方案1】:

您可以创建键映射:

:nnoremap dd g0dg$

【讨论】:

    【解决方案2】:

    我宁愿创建一个新的运算符,例如x in operator-pending 模式:

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

    使用第一个映射,dx 将删除一个屏幕行,yx 将拉出一个屏幕行(注意,它不会按行粘贴,而是按字符粘贴),cx 将删除一个屏幕行并开始插入模式等等。

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

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

    【讨论】:

      猜你喜欢
      • 2011-04-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-10-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多