vim 批量替换多个文件中的字符

vim 批量替换多个文件中的字符 假定你有个变量名为 “x_cnt” 而你要把他改为 “x_counter”。这个变量在多个 C 文件都 被用到了。你需要在所有文件中作此改动。你得这么做。 把所有相关文件放进参数列表: > :args *.c < 这个命令会找到所有的 C 文件并编辑其中的第一个。现在你可以对所有这些文件执行 置换命令: > :argdo %s/<x_cnt>/x_counter/ge | update 命令 “:argdo” 把另一个命令当作其参数。而后者将对参数列表内所有的文件执行。 作为参数的替换命令 “%s” 作用于所有文本行。它用 “\<x_cnt\>” 来查找 “x_cnt”。 “\<” 和 “\>” 用来指定仅匹配那些完整的词,而不是 “px_cnt” 或 “x_cnt2”。 替换命令的标记中包含 “g”,用以置换同一行文本内出现的所有的匹配词 “x_cnt”。 标记 “e” 用于避免因文件中找不到 “x_cnt” 而出现错误信息。否则 “:argdo” 命令 就会在遇到第一个找不到 “x_cnt” 的文件时中断。 字符 “|” 分隔两条命令。后面的 “update” 命令将那些有改动的文件存盘。如果 没有 “x_cnt” 被改成 “x_counter”,这个命令什么也不做。 还有一个 “:windo” 命令,用于在所有视窗内执行其参数所规定的命令。以及 “:bufdo” 命令,对所有缓冲执行其参数所规定的命令。使用中要小心,因为你在缓冲列表中的文 件数量可能超过你能想像的。请用 “:buffers” 命令 (或 “:ls”) 来检查缓冲列表。 2. 同时打开不同文件目录的文件 :n /filename /css/filename