emacs 邪恶中视觉垂直块选择的增量数字

joe*_*mct 4 emacs elisp evil-mode

我多年来一直使用https://github.com/vim-scripts/increment.vim--Avadhanula for vim。

我如何在 emacs 中利用类似的功能?

这个想法是这样的:

给出如下列表:

the_array[0] 
the_array[0] 
the_array[0] 
Run Code Online (Sandbox Code Playgroud)

我希望能够选择所有零,发出命令,并将文本替换为:

the_array[0] 
the_array[1] 
the_array[2] 
Run Code Online (Sandbox Code Playgroud)

如果重要的话,我正在使用 emacs 邪恶模式,希望对我想要增加的数字区域执行相当于块选择的操作。

谢谢,

Gor*_*son 6

假设您从缓冲区中的以下文本开始:

the_array[0]
the_array[0]
the_array[0]
Run Code Online (Sandbox Code Playgroud)

将光标移至第一个0,然后使用C-v 2 j d删除所有零。C-v } F 0 d将适用于任意数量的行,只要最后一个the_array[0]一行位于段落末尾,就可以用于任意行数,但请注意,它需要(setq evil-cross-lines t)在您的配置中。

不管你如何删除0,你现在应该在你的缓冲区中有这个:

the_array[]
the_array[]
the_array[]
Run Code Online (Sandbox Code Playgroud)

]以与选择 的相同方式选择所有结尾0。现在按C-u C-x r N 0 <Enter> <Backspace> <Enter>C-x r Nrunning rectangle-number-lines,当使用前缀参数调用时提示输入起始数字和格式字符串(C-u。我们指定它应该以 0 开头并仅插入数字(<Backspace>在本例中删除尾随空格)。

您的缓冲区现在应该包含以下内容:

the_array[1]
the_array[2]
the_array[3]
Run Code Online (Sandbox Code Playgroud)