【问题标题】:Notepad++/Vim Incremental InsertNotepad++/Vim 增量插入
【发布时间】:2016-02-08 16:23:46
【问题描述】:

我有一个正在编写的文件,我需要在两个不同的地方(ContextUConfig)插入递增的数字。我试过在 Notepad++ 中使用列编辑器,但它也会在其他行的中间添加数字。

forw mte Context 0  
forw mte Config 1 0 0  
forw mte CellSelection 10000  [10]  
forw mte UConfig 1([100000000000000 2] [] [] []) [] [0]  
forw mte ConfigCapability [1] [100] [100]  
forw mte ConfigSelection 20000

我需要复制此选择 1000 次,其中 Context 来自 0-999UConfig 来自 100000000000000-100000000000999

【问题讨论】:

  • 我重新打开了问题。因为它不是stackoverflow.com/questions/26178151/… 的副本。该答案中的解决方案不会解决OP的问题。 Notepad++ 的列模式对这个问题没有帮助。

标签: vim insert notepad++ increment


【解决方案1】:

这对vim来说应该是一件容易的事:

类型:

qq?Conte<CR>6YGgpn<C-A>3jf0<C-A>q

然后做998@q

  • 第一步是录制宏&lt;CR&gt; and &lt;C-A&gt;表示按下Enter and Ctrl-A
  • 第二步是重放宏 998 次
  • “第一行到底做了什么”?从第一个 ? 到最后一个 &lt;c-a&gt; 自己尝试,你会看到文本是如何修改的

下面是一个demo,展示添加0-4的文字(录制后按3@q):

【讨论】:

  • 感谢您的精彩回复。它工作得很好,除非我在 UConfig 中有一个像 26280052223000 这样的数字。当我尝试增加它时,它变成 63322353。我认为这可能是数字被读取为八进制或十六进制的问题?
  • 你可以试试把f0改成f[l
  • 这似乎没有帮助,我也尝试从 nrformats 中删除八进制和十六进制,但我仍然遇到这个问题。
  • 在一个新的缓冲区类型26280052223000中,然后将光标移到上面,按Ctrl-A(普通模式),它会变成26280052223001吗?
  • 现在好像什么都没有发生...Ctrl-A 仍然在我看到错误的原始缓冲区中工作。
猜你喜欢
  • 2011-11-28
  • 2014-10-27
  • 1970-01-01
  • 2020-09-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多