繁体   English   中英

VIM命令在几个字符后插入空格?

[英]VIM command to insert spaces in after few characters?

gvim 命令在文件中每隔几个字符后插入一个空格或字符

示例:如何在以下行中每 12 个字符后添加空格?

添加空格之前:

abcdefghijklmnopqrst
dkdkefghijklmnopqrst

添加空格后

abcdefghijkl mnopqrstvgah
dkdkefghijkl mnopqrstbgdh

您可以通过键入 12| 跳转到第 12 列。 所以:

:%norm! 12|a<space>

按字面输入空格的地方

这个答案的通用版本非常适合这里:

:'<,'>s/\(.\{12\}\)/\1 /g
             ^
             |
       substitute this with the number of characters
       after you'd like to insert spaces in

分解:

  • '<,'>是范围; :h range
  • s是替代品的缩写; :h :s
  • \\(\\)一个正则表达式(regex)捕获组:help \\(不是很有帮助...)
  • . 将匹配任何单个字符
  • \\{\\}是一个正则表达式匹配量词,表示前面的模式应该匹配多少次( .\\{3\\}表示... ,依此类推)
  • \\1正在粘贴由\\( - \\)块捕获的文本
  • 空间
  • /g是替换一行中所有出现的模式(参见:h s_flags

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM