CLion教程-多光标和选择范围
在CLion编辑器中,当您输入、复制或粘贴时,您可以切换多个光标,以便您的操作同时应用于多个位置。高级的编辑器操作,例如代码完成和Live Templates,也得到支持,并将适用于每个插入符号。
您可以在一个文件中添加的插入符号的数量限制为1000个。如果您想增加这个限制,打开自定义JVM选项(帮助 | 编辑自定义VM选项),并添加以下行:-Deditor.max.caret.count=<NEW_LIMIT>
。
最近添加的插入符号被视为主要插入符号。当前编辑器行的突出显示、完成列表和其他可视辅助功能将应用于主要插入符号。当您关闭多个插入符号时,该插入符号也将保留。
添加和移除插入符号
您可以通过两种不同的方式添加插入符号:
到现有字符 | 使用虚拟空间 |
---|---|
如果您想要添加新的插入符号的位置没有字符、制表符或空格,新的插入符号将添加到目标行的最后一个字符位置。 | 通过这种方式,您可以在任何行的最后一个字符之后的任何位置添加新的插入符号。一旦您在超出行尾的位置开始输入,必要数量的空格将添加在行尾和您输入的开头之间。您可以在IDE设置的Editor > General页面上启用虚拟空间,也可以在column selection mode中启用虚拟空间。 |
使用鼠标在选定位置添加或移除插入符号
- Alt + Shift + 单击目标位置以添加另一个插入符号。
- Alt + Shift + 单击其中一个多个插入符号以移除它。最后一个插入符号不会被移除。
使用键盘在当前插入符号上方或下方添加插入符号
- 按两次Ctrl键,然后不释放,再按向上或向下箭头键。
如果启用了虚拟空间,新的插入符号将被准确地添加在当前插入符号位置的上方或下方。否则,在行的长度小于当前偏移量的情况下,插入符号将被添加在行的末尾。
- 启用column selection mode(按Alt + Shift + Insert),然后按Shift + 0↑ / Shift + 0↓。
- 按Ctrl + Shift + 0 + A,输入"Clone caret",然后从建议列表中选择所需的操作:
请注意,默认情况下,这些操作未与键盘快捷键关联。您可以根据配置键盘快捷键中所述分配自定义快捷键。
在当前文档的每一行上添加插入符号
- 按Ctrl + Home将插入符号设置在第一行的开头,启用column selection mode(按Alt + Shift + Insert),然后按Ctrl + Shift + End。
在选定块的每一行末尾添加插入符号
- 在编辑器中选择一个代码块,然后按Alt + Shift + 0 + G。
移除多个插入符号
- 按Esc以删除所有现有的插入符号,除了最后添加的那个。
- Alt + Shift + 单击其中一个多个插入符号以移除它。最后一个插入符号不会被移除。
选择多个非连续的范围
当您选择多个文本范围(非连续选择)时,请注意以下事项:
- 每个选择范围都与自己的插入符号关联,因此您可以开始输入以用您的输入替换所有选定的范围,或者您可以按左箭头或右箭头来移除选择范围,但保留在范围开头/结尾的多个插入符号。
- 一旦选择范围重叠,它们将合并为一个单一的选择范围,并具有一个插入符号。
- 选择独立于代码结构工作,即选择范围可以包括任何字符、标识符、字符串文字、注释或其部分。因此,在更改选定范围时必须小心,因为它们可能包含不同的标识符或其部分。
选择多个单词或文本范围
- 当按住Alt + Shift并单击单词时,将添加一个新的插入符号,双击单词或拖动鼠标选择文本范围(保持相同键按下)将在相应的选择处添加新的插入符号。
选择单词或文本范围的多个出现
- 如果您想要选择单词,请将插入符号置于所需单词的出现位置。否则,使用鼠标或键盘快捷键选择所需的范围。
执行以下操作之一:
- 连续按Alt + 0 + J以查找并选择下一个大小写匹配的单词或文本范围出现。
- 按Ctrl + Alt + Shift + 0 + J以选择文档中所有大小写匹配的单词或文本范围。
- 连续按Alt + 0 + J以查找并选择下一个大小写匹配的单词或文本范围出现。
- 要从最后选择的出现中移除选择,请按Alt + Shift + 0 + J。
- 在使用Alt + 0 + J添加第二个或任何连续的选择后,您可以跳过它并使用F3选择下一个出现。要将选择返回到最近跳过的出现,请按Shift + F3。
查找并选择字符串的多个出现
- 按Ctrl + 0 + F,或者从主菜单中选择Edit | Find | Find。搜索窗格将显示在活动编辑器的顶部。
- 输入您想要查找和选择的字符串。在搜索字符串右侧,您将看到当前文档中出现的次数。
- 可选地,通过Case Alt + 0 + C或仅匹配整个单词 Alt + 0 + W来限制您的搜索。
- 按Ctrl + Alt + Shift + 0 + J或单击工具栏上的"Select All Occurrences" 。
使用鼠标在正常选择模式下选择文本的矩形片段
- 确保已禁用列选择模式。
要将范围选择为单个矩形,请执行以下操作之一:
- 将插入符号设置在矩形的一个角落,然后在对角线相反的角落上按Alt + Shift + 中键单击。
- 按住Alt键,单击并拖动鼠标以进行选择。
- 要将范围选择为多个矩形选择,请按Ctrl + Alt + Shift + 单击并拖动鼠标,以覆盖所需的代码部分。
- 结果,每行受影响的文档中将有多个选择范围。在矩形长度小于行长度的行上,选择将仅跨越到最后一个字符。
列选择模式
在列选择模式下,当前文档中的键盘导航和选择快捷键工作方式有所不同,以简化添加多个插入符号和进行矩形选择:
- 您可以将插入符号设置在任何行的最后一个字符之后的任何位置。一旦您开始在超出行尾的位置输入,将在行尾和您的输入开头之间添加必要数量的空格。
您也可以在正常选择模式下启用此功能 - 在IDE设置的Editor | General页面上选择Allow placement of caret after end of line。
- 按Shift + 0↑ / Shift + 0↓或向上或向下拖动鼠标将在当前插入符号之上/之下添加新的插入符号,而不是进行连续选择。
- 已启用的列选择模式仅影响当前的编辑器标签。如果您关闭或重新打开标签,它将切换回正常模式。
如果对当前文档启用了列选择模式,则状态栏上会显示"Column indicator"。
在正常和列选择模式之间切换
- 按Alt + Shift + Insert。
- 从主菜单中选择Edit | Column Selection Mode。
- 在编辑器的上下文菜单中选择Column Selection Mode。
使用多个插入符号进行复制和粘贴
当使用多个插入符号选择文本范围并复制(Ctrl + C)或剪切(Ctrl + X)时,每个插入符号的选择将作为单独的行放置到剪贴板中,即使原始选择在同一行上。
如果启用了列选择模式,选择还可以包括行末尾的空格。如果您复制选择内容,则剪贴板中的这些空格将被替换为空格。
当您从剪贴板粘贴任何多行内容时,您可以在所需的位置为每行添加多个插入符号,然后按Ctrl + V以将每行粘贴到其各自的插入符号处。