如何使用vim查找和替换第一个单词

时间:2015-05-07 10:12:49

标签: vim

我有一个这样的文件:

  

FOO

     

我试图获得类似的东西:

  

foo:foo,

     

bar:bar,

我已尝试:%s/^\w/\0: \0,/g ^\w匹配第一个单词,但我得到了

  

f:f,foo

     

b:b,bar

有人可以向我解释我做错了什么吗?

2 个答案:

答案 0 :(得分:1)

你缺少两个字符(\+),它们将匹配扩展到整个单词,因为\w只匹配单词的一个字符而不是整个单词。

以下应该做你想做的事。

%s/^\w\+/\0: \0,/g

答案 1 :(得分:0)

而不是替换你可以(全局)复制,粘贴和追加:

:g/\v^.+$/normal! yEPa: ^[A,

(其中^[已转义,输入为<c-v><esc>

或使用(小写)e如果这是您想要的那种“单词”