Sublime text 2如何仅删除注释

时间:2013-06-28 11:54:03

标签: sublimetext2

在我的sass代码中,我有内联注释,我希望在崇高的文本中删除它们。是否可以永久删除所有评论内容?

@function emCalc($values) {
  $emValues: '';
  $max: length($values); //Get the total number of parameters passed
  @for $i from 1 through $max {
    $value: (nth($values, $i)); //Take the individual parameter
    $value: $value / ($value * 0 + 1); //Doing this gets you one unit (1px)
    $value: $value / $em-base * 1em; //Divide the px value by emBase and return the value as em
    $emValues: #{$emValues + $value}; //Append to array
    @if $i < $max {
      $emValues: #{$emValues + " "}; //Adding space between parameters (except last), if there are multiple parameters
    }
  }
  @return $emValues; //Call emCalc like so emCalc(10, 20, 30, 40) it should return margin: 0.625em 1.25em 1.875em 2.5em
}

6 个答案:

答案 0 :(得分:32)

你需要仔细检查一下(备份方便!),但是下面的正则表达式应该在“替换”窗口中工作,启用正则表达式(*图标):

  1. 打开“替换”窗口(ctrl + h / cmd + option + f)
  2. 通过确保选中*图标
  3. 启用正则表达式匹配
  4. 在“查找内容”中输入以下内容?框

    \/\/.*
    
  5. 将“替换为”框保留为空以删除找到的文本。

  6. 点击“全部替换”
  7. 修改

    正如@ollie所说,这也会删除所有以//为前缀的网址。以下(经过轻度测试的)正则表达式可用于更好地定位评论:(^\/\/.*)|(\s+\/\/.*)

    编辑v2

    单行和多行评论的解决方案(^\/\/.*)|(\s+\/\/.*)|((\/\*)(.|\n)+?(\*\/))

答案 1 :(得分:16)

如果您没有其他可能性,可以选择每//(先选择//然后选择 Ctrl D 如果我的记忆是正确的话留下评论。)

然后按 Shift 结束以选择// Del 的每一行! :)

(可能是一个插件,但这是我认为最简单的方法。这表明你所有的//都指的是评论的开头,当然)

答案 2 :(得分:4)

其他答案都不包括所有案例(多行评论,单行评论,双斜线评论和斜线/星号评论)。

为了匹配所有可能的情况(没有匹配的URL),请使用以下内容:

(^[\s]*?\/\/.*)|(/\*[\s\S]+?\*/)

答案 3 :(得分:4)

以下是我在ST3中用HTML来删除所有注释,特别是<p>正文中嵌入的讨厌的注释,例如......

  1. 包控件安装SelectUntil

  2. 退出并重新启动sublime

  3. ctrl + f <!--

  4. alt + 输入以选择<!--的所有实例

  5. ctrl + shift + s将拉出一个输入字段,其中 您可以输入:-->

  6. 点击删除!

答案 4 :(得分:2)

这里的答案似乎都没有利用语法突出显示已确定所有注释所在的事实 - 只需在Python控制台中执行此操作(查看菜单 - >显示控制台)以选择所有注释:< / p>

view.sel().clear(); view.sel().add_all(view.find_by_selector('comment'))

(键入/粘贴后执行输入) 然后按删除删除所有选择,按 Esc 返回单选模式

答案 5 :(得分:0)

好吧,如果你确定在打印语句中没有//,那么在mac Sublime Text中有一种简单的方法。

搜索//并点击cmd+ctrl+G,然后选择已点击cmd+shift+Arrow的整行并将其删除。假设您只使用了单行注释