例如,我在VS Code中的一行中有一行很长的文本(让我们假设下面给出的示例很长)。
0xffffffffeeeeeeee02020202aaaaaaaa
起初,我将光标放在字符0x
之后。(在下面的示例中,光标由|
字符表示)
0x|ffffffffeeeeeeee02020202aaaaaaaa
然后,我想在当前光标的每N个字符后添加更多的光标。在这种情况下,N等于8,我想这样做两次,再添加两个光标,如下面的示例所示。
0x|ffffffff|eeeeeeee|02020202aaaaaaaa
因此,在我按下键盘上的以下键序列后,在这种情况下,这些键序列是,(空格)0x
,我应该能够得到这些最终结果。
0x, 0x|ffffffff, 0x|eeeeeeee, 0x|02020202aaaaaaaa
在我取消选择光标后,我应该得到这个
0x, 0xffffffff, 0xeeeeeeee, 0x02020202aaaaaaaa
这可以在VS代码中做到吗?
您可以使用扩展“选择依据”
它有一个通过键盘添加新光标的命令
json prettyprint-override"> {
"key": "ctrl+i ctrl+alt+right", // or any other key combo
"when": "editorTextFocus",
"command": "selectby.addNewSelection",
"args": {"offset": 8}
}
现在偏移量是硬编码的,但我会添加一个选项来询问用户偏移量。
上下文切换的可能性已经在起作用了。我必须更新自述文件。
有一个简单的正则表达式可以做你想做的事:
找到:^0x|(.{8})(?!$)
但是您必须启用在选择中查找
选项并在输入后自己触发Select All Matches
命令。
或者使用诸如multi命令和此键绑定之类的宏扩展来自动执行:
{
"key": "alt+p",
"command": "extension.multiCommand.execute",
"args": {
"sequence": [
{
"command": "editor.actions.findWithArgs",
"args": {
"findInSelection": true,
"isRegex": true,
"searchString": "^0x|.{8}",
}
},
"editor.action.selectAllMatches",
"cursorRight"
]
},
}
必须选择最后一个光标所在的位置,然后触发宏。
>
由于实现不稳定,您必须从“查找小部件”中禁用的“在所选内容中
查找”选项开始。我还没有找到解决这个问题的方法。
设置编辑器
这是没有扩展的纯正则表达式方法:
输入 ^0x|(.{8})(?!$)
在启用了正则表达式选项的“查找小部件”中。
^0x
您最终想要在其后面放置光标的字符串的第一部分。
(.{8})(?! $)选择每个8个字符的块,但不选择最后一个——这就是为什么行尾有一个负前瞻
(?! $)
——所以最后8个字符不匹配。别担心,根据需要,最后8个字符前面会有一个光标。(.{8})
实际上不需要在捕获组中,只是看得更清楚。
选择要匹配的所有文本:
0xffffffffeeeeeeee
。在那里停止选择-无论您想要最后一个光标在哪里。
通过AltL启用“查找小部件”中的“在选定内容中查找”选项。
。< kbd>Alt Enter选择与< code >在选择中查找
选项相关的所有查找匹配项:< code > editor . action . select highlights
步骤(4)将选择您的匹配项 - 您应该有4作为上述字符串。但是您不希望选择匹配项,而只想在每个匹配项的开头添加一个光标,因此请执行步骤(5):
右箭头:这将取消每个选择,在每个选择的右端有一个光标。
类型。
问题内容: 我有一个字串:“敏捷的棕色狐狸跳过了懒狗。” 我想使用javascript(可能是jQuery)每 n个 字符插入一个字符。例如,我想打电话: 目标是使用此函数将&shy插入长字符串以允许它们进行换行。也许有人知道更好的方法? 问题答案:
问题内容: 我需要在Python中生成一个包含n个字符的字符串。使用现有的Python库是否可以实现这一目标?例如,我需要一个由10个字母组成的字符串: 问题答案: 要将同一字母重复10次: 而且,如果您想要更复杂的东西,例如随机的小写字母,它仍然只是一行代码(不计算import语句并定义):
问题内容: 是否可以每个字符分割一个字符串? 例如,假设我有一个包含以下内容的字符串: 我怎样才能使它看起来像这样: 问题答案: 192 为了完整起见,你可以使用正则表达式执行此操作: 对于字符的奇数,你可以执行以下操作: 你还可以执行以下操作,以简化较长块的正则表达式: re.finditer如果字符串很长,则可以使用它逐块生成。
问题内容: 今天早些时候,我需要一次遍历2个字符的字符串,以解析格式如下的字符串(有一些额外的字母)。 我最终完成了这个工作,但是看起来很丑。我最终评论了它在做什么,因为它感觉不太明显。几乎看起来像是pythonic,但并非完全如此。 有一些更好/更清洁的方法可以做到这一点吗? 问题答案: 邓诺关于清洁剂,但还有另一种选择: 无副本版本:
在Visual Studio代码中,什么是键盘快捷键“导航回最后一个光标位置”?
问题内容: 目的: 在Golang中的字符串中每x个字符插入一个字符 输入: 预期产量: 尝试次数 尝试一次 结果是: 尝试两次 计算字符数 对于循环 如果X = 5,则插入一个 尝试三 扫描结合加入 问题 目前尝试两次和三次不包含代码段的原因是,我仍在思考应该使用哪种方法在Golang中的字符串中每X个字符插入一个字符。 问题答案: https://play.golang.org/p/HEGbe