Main Content

查找和替换文件中的文本并转至位置

查找并替换当前文件或多个文件中的文本,自动重命名变量或函数,并转至文件中的某个位置。

查找并替换当前文件中的任何文本

对于在编辑器或实时编辑器中打开的文件,您可以搜索和(可选)替换其中的任何文本。要在文件中搜索文本,请在编辑器实时编辑器选项卡上的导航部分中,点击 查找。您也可以使用 Ctrl+F 键盘快捷方式。

Find and Replace dialog box with a box for entering the text to search for

在“查找和替换”对话框中,输入要搜索的文本,然后使用 Find previousFind next 按钮在文件中向后或向前搜索。您也可以使用 Shift+F3F3 键盘快捷方式。要显示以前的搜索列表,请使用向下箭头键。

选择一个搜索选项以更改编辑器和实时编辑器搜索文本的方式。

选项描述键盘快捷方式
匹配大小写仅搜索与搜索文本大小写完全相同的文本。Alt+M
全字匹配仅搜索精确的全字匹配。Alt+W
正则表达式

使用正则表达式进行搜索。例如,要查找文件中包含字母 x 的所有单词,请输入表达式 \w*x\w*,然后选择“正则表达式”按钮 。要访问替代模式中的匹配项,请使用格式 $&。例如,要将字符 * 添加到文件中包含字母 x 的所有单词中,请输入表达式 $&*

要创建捕获组,请用圆括号将要组合的字符括起来。然后,要访问正则表达式中的捕获组,请使用格式 \number,其中 number 引用捕获组编号。捕获组根据正则表达式中左圆括号的位置从左到右自动编号。要访问替代模式中的捕获组,请使用格式 $number。例如,要使用捕获组查找文件中的重复单词,请使用表达式 (\w+)\s\1。然后,要用其中一个单词替换这两个单词,请使用表达式 $1

要创建一个指定的捕获组,请使用格式 ?<name>,其中 name 是捕获组的名称。然后,要访问指定的捕获组,请在正则表达式中使用 \k<name> 格式,或在替代模式中使用 $<name> 格式。例如,要使用指定的捕获组查找重复单词,请使用表达式 (?<myword>\w+)\s\k<myword>。要用一个单词替换这两个单词,请使用表达式 $<myword>

不支持多行搜索,包括使用控制字符 \n\r。此外,不支持词元运算符、注释和动态表达式。有关使用正则表达式的详细信息,请参阅正则表达式

Alt+X
在所选内容中查找仅在当前所选内容中搜索文本。Alt+S

要替换文件中的文本,请点击搜索字段左侧的“显示替换选项” 按钮以打开替换选项。然后,输入要替换搜索文本的文本,并使用替换全部替换按钮替换文本。您也可以使用 Alt+RAlt+A 键盘快捷方式。要显示以前的替换列表,请使用向下箭头键。

Find and Replace dialog box showing two boxes, one for the text to search for and one for the text to replace it with. The button to the left of the Find box, used to show and hide replace options, is circled.

您可以使用“设置”更改“查找和替换”对话框的行为。例如,以下代码禁用“查找和替换”对话框中的绕回搜索行为。有关详细信息,请参阅matlab.editor 设置

s = settings;
s.matlab.editor.find.WrapAround.PersonalValue = 0;

MATLAB® Online™ 中,您还可以使用预设项来更改“查找和替换”对话框的行为。在主页选项卡的环境部分,点击 预设。选择 MATLAB > 编辑器/调试器 > 查找和替换,并根据需要调整选项。有关详细信息,请参阅 编辑器/调试器预设项

在当前文件中查找和替换函数或变量

在编辑器和实时编辑器中,您可以通过选择特定函数或变量的实例来查找文件中对该函数或变量的所有引用。当您选择一个实例时,MATLAB 会自动以水鸭蓝突出显示该函数或变量的所有其他引用。此外,MATLAB 还会在指示标记条中为每个引用添加一个标记。要查看指示标记条中的标记代表的行号,请将鼠标悬停在该标记上。要导航到该标记指示的函数或变量引用,请点击该标记。

注意

如果指示标记条中包含指向同一行代码的代码分析器标记和变量标记,则变量标记优先。

使用自动突出显示查找函数和变量比使用文本查找工具更高效,因为使用自动突出显示时,MATLAB 只查找对该特定函数或变量的引用,而不查找其他实例。例如,它不查找注释中的函数或变量名称实例。此外,MATLAB 仅查找对同一变量的引用。即,如果两个变量使用同一名称但在不同范围中,则高亮显示一个变量不会使另一个变量也高亮显示。

例如,如果在 rowTotals 函数中选择变量 i 的第一个实例,则 MATLAB 会突出显示该实例以及 i 的另外两个实例。此外,MATLAB 还会在指示标记条中显示三个变量标记。

rowTotals function code in the Editor with all three instances of the variable i highlighted and three gray variable markers in the indicator bar at the left

要禁用函数和变量的自动突出显示,请转到主页选项卡,然后在环境部分中,点击 预设项。在 MATLAB > 颜色 > 编程工具中,清除自动突出显示选项。

自动重命名一个文件中的所有变量或函数

当您重命名以下任一项时,可以自动重命名一个文件中对变量或函数的多个引用:

重命名的变量或函数示例

函数声明中的函数名称

对以下函数声明中的 foo 函数名称进行重命名:

function foo(m)

函数声明中的输入或输出变量名称

vararginvarargout 除外)

对以下函数声明中的 ym 输入或输出变量名称进行重命名:

function y = foo(m)

赋值语句左侧的变量名称

(全局变量名称除外)

对以下赋值语句中的 y 变量名称进行重命名:

y = 1

重命名变量或函数时,如果文件中存在对该变量或函数的多个引用,则 MATLAB 会提示您按 Shift+Enter 重命名所有实例。您也可以通过按 Alt+Shift+Enter 键仅重命名从当前光标位置到文件末尾的实例。在 macOS 上,请改用 Option+Shift+Enter 键。(通常,仅在使用嵌套函数或局部函数时,才会出现对文件中函数的多次引用。)

rowTotals function code in the Editor with a tooltip next to a renamed variable prompting you to rename the 3 other instances or the next 2 instances of the variable

要撤消自动名称更改,请点击快速访问工具栏中的 Undo 按钮一次。

默认情况下,自动重命名变量和函数的功能处于启用状态。要禁用它,在主页选项卡上的环境部分中,点击 预设项。选择 MATLAB > 编辑器/调试器 > 语言,并在语言字段中选择 MATLAB。然后,清除启用变量和函数自动重命名预设项。

MATLAB Online 中,启用变量和函数自动重命名预设项位于 MATLAB > 编辑器/调试器 > MATLAB 语言中。

查找多个文件名或文件中的文本

您可以使用“查找文件”对话框查找包括指定文本或其内容包含指定文本的文件夹和文件名。要打开“查找文件”对话框,请在编辑器实时编辑器选项卡上的导航部分中,点击 查找 drop-down arrow并选择查找文件。有关详细信息,请参阅查找文件

转至文件中的位置

您可以转到文件中的特定位置、设置书签、在文件中向后和向前导航,以及从文件中打开文件或变量。

导航到指定位置

下表显示如何导航到在编辑器和实时编辑器中打开的文件中的特定位置。

转至位置说明注释

行号

编辑器实时编辑器选项卡上的导航部分中,点击 转至 drop-down arrow。选择转至行并指定要导航到的行。

函数定义

编辑器实时编辑器选项卡上的导航部分中,点击 转至 drop-down arrow。在函数部分中,选择要导航到的局部函数或嵌套函数。

您也可以在当前文件夹浏览器中选择文件,然后点击当前文件夹浏览器底部的向上箭头 以打开详细信息面板。在详细信息面板中,双击与您要导航到的函数或局部函数的标题对应的函数图标

包括局部函数和嵌套函数。

对于类和函数文件,这些函数按字母顺序列出 - 只不过在函数文件中,主函数的名称始终显示在列表的最上方。

代码节

编辑器实时编辑器选项卡上的导航部分中,点击 转至 drop-down arrow。在部分中,选择要导航到的代码节的标题。

您也可以在当前文件夹浏览器中选择文件,然后点击当前文件夹浏览器底部的向上箭头 以打开详细信息面板。然后,在详细信息面板中,双击与您要导航到的节标题对应的节图标

有关详细信息,请参阅创建和运行代码节

属性

在当前文件夹浏览器中,选择要浏览的文件,然后点击当前文件夹浏览器底部的向上箭头 以打开详细信息面板。然后,在详细信息面板中,双击与要导航到的属性的名称对应的属性图标

有关详细信息,请参阅使用属性的方式

方法

在当前文件夹浏览器中,选择要浏览的文件,然后点击当前文件夹浏览器底部的向上箭头 以打开详细信息面板。然后,在详细信息面板中,双击与要导航到的方法的名称对应的函数图标

有关详细信息,请参阅类设计中的方法

书签

编辑器实时编辑器选项卡上的导航部分中,点击 书签 drop-down arrow。然后,选择上一个下一个

有关设置和清除书签的信息,请参阅设置书签

注意

详细信息面板不显示实时脚本或实时函数的详细信息,在 MATLAB Online 中不可用。

设置书签

您可以在已在编辑器和实时编辑器中打开的文件内的任一行上设置书签,以便快速导航到带书签的行。书签对于长文件特别有用。例如,假设在处理某行时,您希望查看该文件的另一部分,然后返回。在当前行上设置书签,转到该文件的另一部分,然后使用书签返回。

要在编辑器和实时编辑器中设置书签,请将光标放在要添加书签的行上。然后,转至编辑器实时编辑器选项卡,在导航部分中,点击 书签。要清除书签,请点击书签 drop-down arrow,并选择设置/清除。您也可以点击该行左侧的书签图标

从 R2021b 开始,MATLAB 会在您关闭文件后维护书签。

在文件中向后和向前导航

在编辑器和实时编辑器中,您可以按照之前导航或编辑文件中的行的顺序访问这些行。要按顺序向后和向前导航,请在编辑器实时编辑器选项卡的导航部分中,点击 BackForward 按钮。

使用导航到指定位置中所述的功能列表编辑行或导航至另一行会中断按顺序向后和向前导航。中断顺序后,您仍可以按顺序转到中断点之前的行,但您无法转到该点后的任何行。而您在中断该顺序后所编辑或导航至的行将按顺序添加到中断点之后。

例如,打开一个包含 6 行以上的文件,并编辑第 2、4 和 6 行。点击 Back 按钮以返回到第 4 行,然后再次返回到第 2 行。点击 Forward 按钮以返回到第 4 行。编辑第 3 行。这会中断该顺序。您无法再使用 Forward 按钮返回到第 6 行。但是,您可以点击 Back 按钮返回到第 2 行。

从文件中打开文件或变量

您可以从已在编辑器或实时编辑器中打开的文件内打开函数、文件、变量或 Simulink® 模型。将光标放在名称上,右键点击,然后选择打开所选内容。编辑器或实时编辑器根据所选内容执行操作,如下表中所述。

项目

操作

局部函数

导航到当前文件中的局部函数(如果该文件是 MATLAB 代码文件)。如果当前文件中不存在具有该名称的函数,编辑器或实时编辑器会对所选内容运行 open 函数,从而用适当的工具来打开所选内容。

文本文件

在编辑器中打开。

图窗文件 (.fig)

在图窗窗口中打开。

位于当前工作区中的 MATLAB 变量

在变量编辑器中打开。

模型

在 Simulink 中打开。

其他

如果所选内容属于其他某种类型,则打开 所选内容会在当前文件夹中查找私有文件夹中的匹配文件并执行适当的操作。

另请参阅

相关主题