Text 自动热键:剪贴板将选项卡转换为空格
我有一段复制到剪贴板的代码。粘贴它看起来像这样。其中[tab]是实际的制表符缩进Text 自动热键:剪贴板将选项卡转换为空格,text,format,clipboard,autohotkey,copy-paste,Text,Format,Clipboard,Autohotkey,Copy Paste,我有一段复制到剪贴板的代码。粘贴它看起来像这样。其中[tab]是实际的制表符缩进 [tab]<header id="masthead" class="site-header"> [tab][tab]<h1> [tab][tab][tab]<h2> [tab][tab][tab][tab]<h3> [tab][tab][tab][tab][tab]<h4>; [选项卡] [附表][附表] [标签][标签][标签] [标签][标签][标签
[tab]<header id="masthead" class="site-header">
[tab][tab]<h1>
[tab][tab][tab]<h2>
[tab][tab][tab][tab]<h3>
[tab][tab][tab][tab][tab]<h4>;
[选项卡]
[附表][附表]
[标签][标签][标签]
[标签][标签][标签][标签]
[制表符][制表符][制表符][制表符][制表符];
我想按自动热键自动规范化代码段。因此,如果每行上都有[tab],请将其删除。
然后将每个[tab]转换为2个空格[**]
<header id="masthead" class="site-header">
**<h1>
****<h2>
******<h3>
********<h4>;
**
****
******
********;
因此,一般的工作流程是:
- 逐行浏览每个剪贴板内容
- 如果每个项目共享相等数量的[tab]空格,请将其完全删除
- 逐行将[tab]转换为[**]2个空格
;将每个选项卡转换为2个空格:
剪贴板=
(
;
)
剪贴板:=StrReplace(剪贴板、选项卡、空间)
好的,问题解决了,我现在想要的东西都有了。我接受了另一个源代码片段 作为参考,需要突出显示代码段上的完整行,如下所示 所以我现在要做的就是:
这真的很好用。另外,如果所有其他行都有第一行[tab],是否有方法删除每行的第一个[tab]?可能只需检查line1中是否有[tab],然后从everyline上删除一个tab?
; convert each tab into 2 spaces:
clipboard =
(
<header id="masthead" class="site-header">
<h1>
<h2>
<h3>
<h4>;
)
clipboard := StrReplace(clipboard, A_Tab, A_Space A_Space)
F9::
clipboard := StrReplace(clipboard, A_Tab, A_Space A_Space)
position := RegExMatch(clipboard, "\S")
test := RegExReplace(clipboard, "m)^[ ]{" . position - 1 . "}")
clipboard := test