vim:将所有字符替换为给定的标记

时间:2012-07-30 15:45:56

标签: string vim replace

使用vim我想用另一个字符替换所有字符到一个特定的字符,比如一个空格 - 不用影响行中的字符布局/数量。这是一个例子:

在:

real(kind=R12), intent(out) :: my_var

用空格替换, intent(out)后(例如从,开始,然后上升到)):

real(kind=R12)              :: my_var

我知道r替换一个字符,而nr替换n个字符,但我想知道我是否可以完成任务而无需先计算我要替换的字符。

非常感谢您的回复!

4 个答案:

答案 0 :(得分:25)

视觉模式可能是最短的方式:

vt:r 
  • v进入视觉模式
  • t:选择:
  • r(注意r之后的空格)用空格替换所选区域。

答案 1 :(得分:1)

  

我知道r要替换一个角色

您知道 R 会让您处于替换模式吗?所以你可以点击 R ,然后按住 Space ,直到你替换了你想要的一切。

然而,我仍然会选择Thor的答案。可视模式允许您在vim中使用高效的文本导航方法,而无需计算字符数。

但如果你不同意,总会有EasyMotion

答案 2 :(得分:1)

在命令模式下输入' df ?'删除最多(?)字符。然后' '回去插入。

例如,如果您的观点中包含以下句子:

The wizard quickly jinxed the gnomes before they vaporized.

然后输入 dfs

您将离开:

 before they vaporized.

答案 3 :(得分:0)

您可以在此处使用正则表达式(使用(.*?)引用所有值到令牌)。

例如:

正则表达式:(.*?)foo将摆脱foo之外的一切。