javascript - 必要时用空格填充相等性/同一性 (==/===) (vim)

标签 javascript regex vim

如果有一个工具可以自动美化我的 js 代码,那么我宁愿使用那个包。

我想扩展所有内容,例如这样的语句:

var n=x+(y+(z/k))-123;

变成:

var n = x + (y + (z / k)) - 123;

但是,目前,我想将所有拥挤的 ====== 语句转换为填充的他们自己的版本。

我尝试使用像 :%s/[^ ]==[^ ]/==/g 这样的东西,但问题是它会剪掉前面和后面的字符。

最佳答案

在 Vim 中,你可以使用类似这样的东西:

:%s!\s*\([!<>=/*+-]\+\)\s*! \1 !g

解释:

  • s - 替补
  • ! - 开始模式
  • \s* - 零个或多个空格
  • \( - 开始小组
  • [!<>=/*+-]\+ - !<>=/*+- 中的一项或多项
  • \) - 小组结束
  • \s*零个或多个空格
  • !模式结束,替换开始
  • <space>\1<space> - 匹配组用空格填充
  • ! - 更换结束
  • g - 全局在线

但是如果你想美化代码并坚持定义的编码标准,你最好使用像 Artistic Style 这样的工具。 .

关于javascript - 必要时用空格填充相等性/同一性 (==/===) (vim),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7936494/

相关文章:

vim - Vim 中 NERDTree 的替代方案

javascript - CucumberJS - 错误 : Step timed out after 5000 milliseconds at Timer. listOnTimeout (timers.js:92:15)

javascript - 解析推送通知移除定时推送

python - 在 Python 的一行中执行子字符串替换

c++ - C++11 的 Vim 语法高亮显示不会混淆其他高亮显示。例如,类/命名空间范围

VIM EXEC在命令行命令,和Vim : Warning: Input is not from a terminal

javascript - 当软键盘在显示时与它们重叠时如何自动滚动到 Android 中的输入字段?

javascript - express 4.x 将 http 重定向到 https

regex - 用于在 Notepad++ 中将空格更改为制表符的正则表达式

正则表达式 - 结合正向和负向回顾