GoToFile is a flexible, and accurate utility to find and manage files and folders on your Mac as fast as you can type.
GoToFile works out-of-the-box without any configuration, but we recommend setting up a keyboard shortcut to open the search panel. To do this, select “Settings…” from the menu item and configure the System Wide Hot Key in the Access section of the Settings dialog.
GoToFile runs in the background and only becomes visible when you need it. Select “Go to File…” from the menu item or press the configured keyboard shortcut to open the search panel. You will see an input field like this:
You can start typing right away. GoToFile will recursively fuzzy-search for filenames in your home folder containing the characters you type in the order you type them. You can use the cursor keys ↑ and ↓ to navigate the result set. Press ⏎ to open the selection with its default application. Press ⇧⏎ to open the selected item in the frontmost application.
The icon of an item in the result list can be dragged on applications supporting drag&drop. The search panel will be automatically be hidden when a drag operation is initiated. If the operation fails (no valid drop target has been found) the search panel appears again.
GoToFile features a configurable context menu which is opened by right-clicking in the result list.
When showing files, the status bar shows numbers in square brackets like this: [number/number] or [number/number/number]. The first number represents the number of selected items. The second one the number of displayed matches. The third number is only displayed in Search Mode. It represents the number of total matches.
When entering a lower case search string GoToFile will search for filenames which contain all the characters of the search string in the order they appear in the search string. Matching characters may be interspersed with others. The lower the distance between matching characters, the higher the item will be ranked. Upper case characters in the search string will favor matching characters at the beginning of words or upper case characters within words (CamelCase).
Entering vamp will return the list as shown. Vampires.pdf is considered the best match as all characters of the search string appear in the filename without gaps. Entering VAMP, however, will return Vampires.pdf as the least likely match. In this case GoToFile prefers filenames containing the characters of the search string at the beginning of word boundaries. Shorter names are always ranked higher, so the order would be:
You can use more than one search term by separating them with at least one ␣ (space) character. The order of search terms is not important. If you want to search for items containing a ␣ character you have to prefix it with a backslash: lng\ fn will match long filename but not longfilename.
+, -, \ and ␣ are special characters when used at the beginning of a search term (See Regular Expressions and Metadata). If you want to use them at the beginning of a Fuzzy Search term, escape them with the \ character: \+If fuzzy searching does not yield the desired result you can use regular expressions. Search terms prefixed with + or - will be considered a Regular Expressions. The positive Regular Expression (+) will show only matching items while the negative one (-) will hide matching items.
Regular expressions can be used by themselves or mixed with ordinary search strings. They have to be separated from other search terms by at least one ␣ (space) character.
-\.pdf$. The expression translates to “any file having the ‘.pdf’ filename extension”. Note: The dot character has the special meaning “match any one character” in regular expressions. To match the dot character itself it has to be escaped (prefixed by a backslash character).tree and the result contained entree, extreme, street, and treetop. You want to search for the characters in tree in consecutive order. Insert a + before your search, so your input reads +tree. This will match only entree, treetop, and street.The regular expression syntax currently supported by GoToFile is that specified by ICU. It is described in detail at http://userguide.icu-project.org/strings/regexp. The site https://regex101.com is a great place to experiment with regular expressions.
Regular expression matches in GoToFile are case insensitive.
In the search field invalid Regular Expressions are displayed in red. They are ignored and don’t affect the search.
GoToFile allows for searching by an item’s metadata. Searchable properties include file size, owner, and timestamps. For a complete list see the tables below.
metadata search is disabled by default. You can enable it in the Search tab of the GoToFile Settings. Note that this feature increases memory usage and scan time by a few percent. Decide for yourself if this feature is worth the trade-off.
A metadata query begins with the backslash (\) character. If the next character is an exclamation mark (!), the query is negated. Following this, you specify the key for the attribute you want to query. An operator (○) may precede the numeric value, which itself can be optional depending on the specific key.
When entering a metadata query GoToFile may color parts of it. Orange parts are not yet complete while red parts inticate an error.
GoToFile handles four different timestamps:
| Key | Name | Timestamp is updated when |
|---|---|---|
tb |
Birth timestamp | - item was created |
tc |
Attributes change timestamp | - attributes (owner, permissions, xattrs, …) are changed - item is renamed - content is changed; for directories that includes added/deleted/renamed items in this directory, but not its subdirectories |
tm |
Content modification timestamp | - content is changed; for directories that includes added/deleted/renamed items in this directory, but not its subdirectories |
ta |
File access timestamp | - item is read (HFS+) - item is read, created, moved, copied or duplicated (APFS); This value may not be updated in real time in order to improve filesytem performance |
t* |
Any of the above timestamps |
The keys (tb, tc, tm, ta, or t*) are followed by an operator (○), a numeric value, and a unit key.
| Value | Attribute | Example | Example Description |
|---|---|---|---|
○Ny
|
Age in years | \tb>2y |
Match items which were created more than 2 years ago |
○NM
|
Age in months | \!tb>2M |
Exclude items which were created more than 2 months ago |
○Nw
|
Age in weeks | \tb<2w |
Match items which were created less than 2 weeks ago |
○Nd
|
Age in days | \t*<20d |
Match items which were touched in any way less than 20 days ago |
○NH
|
Age in hours | \ta>10H |
Match items which were last accessed more than 10 hours ago |
○Nm
|
Age in minutes | \!tc>=10m |
Exclude items whose attributes were changed 10 minutes or more ago |
○Ns
|
Age in seconds | \tm<10s |
Match items which had their contents changed within the past 10 seconds |
The keys (tb, tc, tm, ta, or t*) are further specialized using one of the keys below. These are followed by an optional operator (○) and a numeric value. If no operator is specified, = is assumed.
| Value | Attribute | Example | Example Description |
|---|---|---|---|
y○NNNN |
Year | \!tmy2005 |
Exclude items which were modified in 2005; the y is optional |
M○[1–12] |
Month | \tbM3 |
Match items which were created in March |
d○[1–31] |
Day of month | \tbd3 |
Match items which were created on the 3rd day of a month |
Q○[1–4] |
Quarter | \tbQ>=3 |
Match items which were created in or after the second quarter of a year |
w○[1–53] |
Week | \tbw23 |
Match items which were created in the 23rd week of a year |
e○[1–7] |
Day of week | \tce>=6 |
Match items which had their metadata changed on a Saturday or Sunday; The value depends on the macOS Language & Region settings: 1 is the configured first day of the week |
The keys (tb, tc, tm, ta, or t*) are followed by an optional operator (○) and a value. If no operator is specified, = is assumed.
| Value | Attribute | Example | Example Description |
|---|---|---|---|
| ○yyyy | Year | \tb<2025 |
Match items created before 2025 |
○yyyyQ[1–4] |
Quarter of year | \tm2024Q3 |
Match items modified in the 3rd quarter of 2024 |
○yyyyw[1–53] |
Week of year | \tm2024w3 |
Match items modified in the 3rd week of 2024 |
| ○yyyyMM | Year and month | \tb202501 |
Match items created in Jan 2025 |
| ○yyyyMMdd | Date | \tb>=20250115 |
Match items created on or after Jan 15th 2025 |
| Key | Attribute | Example | Example Description |
|---|---|---|---|
kSHORTCUTS |
File kind; File kinds are user defined, named sets of filename extensions. See File Kinds for details. | \kipy |
Match lossy pixel images |
s○N[kMG]
|
File size in B, kiB, MiB or GiB; matching file size will exclude folders and symlinks | \s0 |
Match empty files |
\s>1M |
Match files greater 1 MiB | ||
l |
Symbolic link | \l |
Match items which are symlinks |
\!l |
Match items which are not symlinks | ||
h○N |
Item link count | \h>1 |
Match items which have other items hard-linked to them. For directories on an APFS filesystem this number corresponds to the number of files and subfolders contained within (including . and ..). A directory with item link count 2 is an empty directory. |
u○USER |
POSIX user; Operator only allowed when querying by UID | \usoma-zone |
Match items owned by user soma-zone
|
\u>=504 |
Match items owned by user with UID 504 or greater |
||
g○GROUP |
POSIX Group; Operator only allowed when querying by GID | \!gstaff |
Match items not owned by group staff
|
These keys cannot be queried. They can only be used to enforce a sort order.
| Key | Attribute | Example | Example Description |
|---|---|---|---|
pl |
Path; Last path component | \pl:a |
Order by last path component in ascending order |
pa |
Path; Absolute path, including last path component | \pa:d |
Order by absolute path in descending order |
px |
Path; Filename extension | \px:a |
Order by filename extension in ascending order. Items lacking an extension precede those with one. |
| Operator | Description |
|---|---|
< |
Less |
> |
Greater |
= |
Equal |
<= |
Less or equal |
>= |
Greater or equal |
Note: To emulate a NOT operator use a negative query: \!usoma-zone to match items not owned by user soma-zone.
If no operator is specified, = is assumed.
By default GoToFile will present the results ordered by an internal ranking. You can, however, also sort by metadata. This can be done by either appending the order specification to the end of the metadata query or by specifying the search order immediately behind the metadata key.
| Example Query | Description |
|---|---|
\s>1M:d |
Matches all items greater than 1MiB and sorts (:) the result in descending (d) order |
\s:a |
Matches any item and sorts (:) the result in ascending (a) order |
See sections Timestamp Related Attribute Keys, Other Attribute Keys, and Attribute Keys for Sorting Only for a list and description of all valid keys.
Once the desired item has been found and selected GoToFile allows for several operations. These operations are accessible via context menu, keyboard shortcuts or Action Mode (⌘K).
For a complete list of all built-in actions consult the section keyboard shortcuts.
In addition GoToFile allows for user defined actions. See section Actions for details.
GoToFile supports basic file management functionality. It allows you to rename, copy, move, and trash items.
Select the item you want to rename and press ⌃⏎. Change the name and press ⏎.
Press ⌃C to mark the selected items as the copy source. A small badge will appear below the icons of the selected items. Next select your copy destination and press ⌃V. A confirmation dialog is presented. Once the copy operation is confirmed, the copy source list is cleared.
You can extend the copy source list by selecting other items and pressing ⌃⇧C. Pressing this key combination on an item which is already part of the copy source list whill remove it from the list.
Should you want to verify which items are currently in the copy source list, press ⌘M in order to switch to Marked Items Mode and press ⌘M again. You can remove items from this list by selecting them and pressing ⌃⇧C.
Press ⌃X to mark the selected items as the move source. A small badge will appear below the icons of the selected items. Next select your move destination and press ⌃V. A confirmation dialog is presented. Once the move operation is confirmed, the move source list is cleared.
You can extend the move source list by selecting other items and pressing ⌃⇧X. Pressing this key combination on an item which is already part of the move source list whill remove it from the list.
Should you want to verify which items are currently in the move source list, press ⌘M in order to switch to Marked Items Mode and press ⌘M again. You can remove items from this list by selecting them and pressing ⌃⇧X.
To create a new folder press ⌃⇧N. A dialog will appear where you enter the name of the new folder. Click the Create button (⏎) to create the folder.
Should you, at the time you create a new folder, have marked items for either copying or moving, the dialog will contain an additional button “Create with Copy/Move Sources”. Click this button (⌥⏎) in order to create the folder and copy/move the copy/move sources into the new folder.
The Create button becomes inactive when the folder name is empty or if an item with the same name already exists in that location.
Where the new folder is created depends on the selection. When a folder is selected, the new folder is created inside the selected folder. When a file is selected, the new folder is created in its parent folder. In Browser Mode the same rules are followed. In addition, should no item be selected, the new folder will be created in the browser’s current folder.
Press ⌘⌫ to move the selected items to the Trash.
The icon of an item in the result list can be dragged on applications supporting drag&drop. The search panel will automatically be hidden when a drag operation is initiated. If the operation fails (no valid drop target has been found) the search panel appears again. You can configure to bring back the search window after a successful drag&drop operation in the Settings.
If the icon of an selected item is dragged, all selected items take part in the drag operation. Dragging the icon of an unselected item will only make this particular item a drag source. Selected items will be ignored in this case.
When the preferences option “Hide search field on de-focus” is enabled in GoToFile’s Settings, the result list of GoToFile may be used as a dragging destination for other applications. This preferences option can also be changed with a button which is revealed when moving the mouse cursor over the top-right corner of the search field.
Dropping works in all Major Modes. Modifiers work the same way as in Finder to enable copying (⌥), moving (⌘), or creation of aliases (⌥⌘).
Browser Mode is the only mode representing the contents of a single folder, its Current Folder. Dragging an item from another application onto a folder in the result list will make this folder the dragging destination. Dragging an item above or below a row in the result list will make the Current Folder of this mode the dragging destination. A row representing a file cannot become a dragging destination.
These modes support path component selection. If a path component of a row has been selected, this selection is honored for Drag&Drop as well! Although the row might initially have represented a file it will be considered to be the folder selected in the row’s path component selection.
Dropping an item onto a file without active path component selection will make the folder containing the file the dragging destination.
Queries entered in this mode search all directories that make up the current Project recursively. These directories are scanned when GoToFile starts. While GoToFile is running it keeps track of all changes to the project’s search directories an updates its cache in the backgeound.
By default the number of results in this view is limited to 100. This value can be changed in the GoToFile Settings. You can temporarily disable this limit using the built-in action “Ignore Maximum Result Set Size” (⌘S).
The info bar shows the number of selected items, the number of matches in the result list, and the total number of matches. In case not all configured search folders are accessible, the number of total matches is followed by an asterisk.
To the right of the Info Bar you see an icon that, depending on the search mode, looks like a % or like a % with the left circle omitted. Click it to switch between filename-only and full-path search. Its keyboard shortcut is ⌘⇧O.
To the right of the Info Bar you see two small icons, one depicting a file, one depicting a folder. Clicking on them lets you show or hide items of the respective type. Alternatively you can press ⌘⇧F to toggle displaying of files and ⌘⇧D to toggle displaying of directories.
The modes Search Mode, Recent Items Mode and Marked Items Mode allow for filtering by path.
Use ⌃, (Shrink path selection) or ⌃. (Extend path selection) to highlight a path component of the currently selected item. Press ⌘- (Ignore selected folder) to temporarily hide all items located at the highlighted path component or one of its descending folders. Press ⌘= (Focus on selected folder) to temporarily show only items located at the highlighted path component or one of its descending folders. The filter icon will be displayed in the Info Bar and the result set will be immediately updated.
The commands ⌘- and ⌘= also work without highlighting a path component. In this case the selected folder or, in case the selected item is a file, the folder containing the selected file is used.
Both actions can be combined and performed multiple times to narrow down the result set. Click the filter icon or press ⌥⎋ (Clear filter) to reset the filter.
= refers to the key to the left of the ⌫ key. On non-US keyboard layouts it might have a different location and/or symbol. See the GoToFile Settings section hotkeys to look it up or change it.- refers to the key to the right of the 0 key. On non-US keyboard layouts it might have a different location and/or symbol. See the GoToFile Settings section hotkeys to look it up or change it.Press ⌘⇧S to recursively search the selected folder. If the selected item is a file the folder containing the file will be searched recursively. This action will create an ad-hoc project. Use the Project Selector (⌘P) to switch back to a configured project or press ⌘P two times to switch back to the most recent project.
The result is similar (not identical!) to focussing on path components (⌘=). Global rules apply to ad-hoc projects as well but only real projects can have directory-specific rules.
This action creates an ad-hoc project from the folder containing the document of the frontmost application.
⌘⌥S
This functionality is ideal when using GoToFile as a replacement for macOS’ Open… dialog. It will pre-filter the index to include only items which are relevant to the frontmost application. This filtering happens whithout any delay.
⌘\ to enable frontmost-application filtering; The icon of the frontmost application appears at the right of the search fieldGoToFile will now only show Numbers documents.
But Numbers can open other file formats as well. If you want so see those too, you have to relax the filter by pressing ⌘\ again. The icon to the right of the search field will turn grey and GoToFile will show every file Numbers can open.
Press ⌘\ again to disable the App Filter.
You use the Project Editor to make changes to the current project, define new ones, or delete existing projects.
⌘⌥P to open the project editorTo keep a folder from being scanned, or to specify which items to include in GoToFiles index you have to specify a pattern describing the file or folder.
Literals, Wildcard patterns (aka Glob patterns), and regular expressions may begin with, and/or contain a path separator. In the former case the pattern is matched against the complete path, relative to the root directory being scanned. In the latter case the pattern is matched against the tail of the complete path. Patterns without path separator are matched against the item name only.
We assume that a directory Folder with the following contents has been configured for searching:
Folder
├── Archive
│ ├── Private
│ │ ├── John
│ │ ├── Mary
│ │ └── Tim
│ └── Work
│ ├── John
│ ├── Mary
│ └── Tim
└── Live
├── Private
│ ├── John
│ ├── Mary
│ └── Tim
└── Work
├── John
├── Mary
└── Tim
The patterns will be matched against different sections of a path according to the existence and position of path separators in the pattern:
| Pattern | Effect |
|---|---|
Mary |
Matches all four items Mary
|
Work/Mary |
Matches Archive/Work/Mary and Live/Work/Mary
|
Live/*/Mary |
Matches Mary in Live/Private and Live/Work
|
/Archive/Work/Mary |
Matches only Archive/Work/Mary. Archive has to be a direct descendent of the configured folder Folder. |
All matches are case insensitive.
GoToFile understands three types of patterns: Literal, Wildcard (Glob), and Regular Expression.
This is the most basic pattern. There are no special characters.
| Pattern | Description |
|---|---|
/Library |
Matches a file or folder named Library which is a direct descendent of the search folder |
Library |
Matches any file of folder named Library regardless of its position in the filesystem hierarchy. |
Library/Private |
Matches any file of folder named Private which is a direct descendent of Library regardless of its position in the filesystem hierarchy. |
Use this type of pattern for basic matches. GoToFile supports the following wildcards:
| Wildcard | Description |
|---|---|
* |
Match any number of any character |
? |
Match any character |
[abc] |
Match any of the characters a, b, or c
|
[!abc] |
Match any character except a, b, or c
|
[a-z] |
Match any character from the range a to z
|
[!a-z] |
Match any character not in the range a to z
|
/*/ |
Match any single directory |
/**/ |
Match any number of directories |
*.pdf matches any item having the filename extension .pdf.*.t[xs]t matches any item having the filename extension .txt or .tst.In case Wildcards are not sufficient to describe a path you can use regular expressions. The regular expression syntax currently supported by GoToFile is that specified by ICU. The site https://regex101.com is a great place to experiment with regular expressions.
Regular expression matches in GoToFile are case insensitive.
The default project that is defined in GoToFile is called Home. It contains the home folder as a directory to search. But the home folder contains subfolders which don’t contain items users are likely to look for. One such folder is Library. The default project Home has an exception configured which tells GoToFile to not scan the folder Library. This saves time when traversing the home directory and it keeps the result list from being cluttered by unwanted items.
What if there is a folder Important in Library you’d like to scan? The list of folders to search is processed from the most specific to the most generic. You just have to create a new Search Folder ~/Library/Important. GoToFile will move it before the already configured home folder. When processing this list is reversed. For this reason the default project Home includes the folder ~/Library/Mobile Documents/com~apple~CloudDocs after the home folder. It contains your iCloud documents which would otherwise not be searched.
For every Search Folder you can choose to ignore the global folder exclusion list.
Hint: You can add a folder to this list while searching. Select a folder in the search result list and click ‘Exclude from Search Folder’ from the popup menu in the search field.
By default every item found in a configured folder is recorded in an index. But for every folder in a project rules can be configured. These rules tell GoToFile which items should be included in or excluded from the index.
GoToFile knows two types of rules: include and exclude. When defining include rules only items matching the rules will be recorded in the index. Everything else is ignored. When defining exclude rules items matching the rules will not be recorded in the index. Everything else is included.
For every Search Folder you can choose to ignore the global item ignore list.
Defining excluded subfolders and folder rules is done on a per-folder basis. If a project consists of multiple folders these settings don’t have to be made to every folder manually. Just drag an already configured folder from the ‘Search folders’ list and drop it on another folder in this list. All settings of the drag source will be applied to the drag destination.
These options don’t affect the index. They just control which items from the index are displayed. Changes to these settings are always persisted.
Here you select if you want to see files and/or folders in the result list. You can toggle this option from the search field by pressing ⌘⇧F (toggle files) and ⌘⇧D (toggle directories).
When checked the whole path is searched instead of the filename only. This option may slow down the search a bit. You can toggle this option from the search field by pressing ⌘⇧O (with ‘O’ as in ‘Only’).
Use this mode to traverse a file system hierarchy manually. It works very much like Finder’s List View.
If you know the name of an item Search Mode is the fastest way to get there. If you don’t, you press ⌘B to activate Browser Mode. Initially the contents of you home folder will be displayed. Type a few characters to only display matching items. Press ⌘↑ to go to the parent directory, press ⌘↓ to browse a folder. ⌘⇧S will search the selected folder (or the folder containing the selected file) recursively.
Just like Finder the Browser Mode does not show files or folders with names beginning with a dot. Press ⌘. to show these items. Press it again to hide them again.
Another useful command is ⌘/ (Cycle base directories). Use it to switch to your home directory, the filesystem root (/), and the /Volumes folder.
Consider this folder structure:
Folder
└── Archive
└── Private
├── John *
├── Mary
└── Tim *
Browse next/previous sibling folder: If you are browsing folder John and you want to quickly browse folder Mary, press ⌃.. Press ⌃, to go back to John. The selection and search string will be remembered, so when you come back to John, the Browser will look exactly the way it did before you browsed its sibling folder.
Browse next/previous marked sibling folder: In the folder structure above, John and Tim have been marked. You can press ⌃⇧, and ⌃⇧. to skip over Mary when browsing sibling folders.
This mode shows a searchable list of the most recently created/modified items in the directories associated with the current project. You can exclude folders from monitoring by unchecking the ‘Show in Recent Items’ checkbox of the folder in the Project Editor.
When GoToFile starts this list is empty. It is populated in real time while GoToFile is running.
If no search term is entered the list is ordered by modification date in descending order. Once a search term is entered the list is ordered according to best matches.
By default the number of recent items remembered is limited to 100. This value can be changed in the GoToFile Settings.
The search scope section of Search Mode applies to Recent Items as well.
This mode shows a searchable list of files and folders marked in any of the other modes using the ⌃M keyboard shortcut. Use ⌃M on an already marked item to remove it from the list.
You can recognize a marked item by its star badge in the upper left corner of the item’s icon.
There is one list of marked items for all Projects. It is persisted across restarts.
The search scope section of Search Mode applies to Marked Items as well.
This mode provides a searchable list of Projects. Use this mode to switch to another Project.
Projects give you a way to search otherwise unrelated folders at the same time. You can define default settings on a per-project basis.
⌘P to get to the list of projects⏎ to select the project and switch back to Search Mode
This mode provides a searchable list of previously entered queries. Select a query and press ⏎ to return to the Major Mode History Mode was called from and make the selected query the current query.
Once one or more items are selected in one of the Major Modes you can bring up the Actions Mode. It provides a searchable list of actions that can be performed on the selection.
Action Mode always displays all user defined actions. Depending on the settings in the Appearance tab of the GoToFile Settings it also shows all applications the selection can be opened with and all applicable internal actions.
For a complete list of the available actions please check out the Keyboard Shortcuts tab of the GoToFile Settings.
Open the GoToFile Settings dialog by pressing ⌘, while the search window is open, by selecting Settings… from the menu item, or by selecting Settings… from GoToFile’s application popup menu which is opened when you click on the colored square field to the left of the search field.
The Settings window is divided into five sections: Access, Search, Appearance, Hotkeys, and Updates / License.
Here you can set the global hotkey to bring up the search panel. The Menu Item can also be hidden if desired.
If you want to launch GoToFile at login, check the corresponding checkbox. If the checkbox is disabled please open the System Preferences, select Users & Groups, select your user account and then Login Items. Drag the GoToFile application icon onto this list.
When Warn before movin item to Trash is enabled, GoToFile asks your confirmation before performing the operation.
By default the GoToFile search window will be hidden as soon as you activate another application. When unchecking Hide search field on de-focus you can make the search window sticky. This may be useful for using GoToFile’s selection as a drag&drop destination.
When GoToFile is used as a drag&drop source the search window is hidden as long as the drag operation lasts. When the operation end successful the search window appears again. If you’d like the search window to remain hidden, select Hide search field after successful drag&drop operation.
With Maximum number of results in Search Mode you limit the maximal number of items visible in the result table of Search Mode.
With Maximum number of results in Recent Items Mode you limit the maximal number of items visible in the result table of Recent Items Mode.
The option Process Metadata allows you to switch metadata processing on or off. Switch it off if you don’t want to use it or if you want to shave off a few percent of GoToFile’s memory usage and scanning speed. The search speed is not affected by metadata processing. See Metadata for details.
You can also configure if you want GoToFile to Treat Bundles as Files. This setting affects the filtering of results by type.
Don’t scan folders matching pattern: This is where you can exclude folders from being scanned. Configuration works similar to exclusion lists in the Project Editor. Exclusions defined here are appended to the list of excluded folders of all search folders of any project unless the scan folder’s ‘Ignore global exclusions’ box is ticked. Patterns are matched against paths relative to the search folder. So if you configure /tmp and the current search folder is /Users/me the pattern will match /Users/me/tmp. Global exclusions also affect ad-hoc projects.
Don’t show items matching pattern: You can prevent certain items from appearing in the index. The default settings will match temporary (filenames ending or beginning with ~) and hidden files (filenames beginning with .). Refer to the Project Editor for details.
Use Font Weight to configure the font weight to be used for GoToFile’s search results and search string.
In Actions visible in Actions Mode you can configure which actions you want to see when switching to Actions Mode. User defined actions will always be visible there. If you want you can add all Open With… actions. Another option is to include all internal actions (Info, Copy, Copy Path, Type Path, …). This might be useful if you don’t want to remember all the different keyboard shortcuts.
Below, with Show Metadata in Result List, you can decide if/when you want GoToFile to display metadata in the result table.
| Option | Description |
|---|---|
| Never | You can query metadata, but it won’t be displayed. |
| Always | You can query metadata and all metadata will be displayed directly in the result table. |
| When Queried | The criterion used in the query will be displayed in the result table. So if you search for files which are at least 1kB in size (\s>1k), the file size of each matching item is displayed. |
In order to save vertical, space not every metadata item is displayed on a separate row. Instead there are two groups. To save horizontal space, GoToFile uses symbols instead of labels.
| Symbol | Description | Explanation |
|---|---|---|
| ⚖️ | File size | The size if the file. Directory sizes are not calculated. |
| 👤 | User | The owner of the item |
| 👥 | Group | The group owning this item |
| 🔒 | Permissions | The permissions (read, write, execute) of the item grouped by user, group and other. |
| 🔗 | Link count | Number of items hard-linked to this. For directories on an APFS filesystem this number corresponds to the number of files and subfolders contained within (including . and ..). A directory with item link count 2 is an empty directory. |
| Symbol | Description | Explanation |
|---|---|---|
| ✨ | Birth date | The time an item was created |
| ✏️ | Modification date | The time the data of an item was modified |
| 📎 | Change date | The time an item’s attributes (metadata) was changed |
| 👁️ | Access date | The time an item was last accessed/read |
GoToFile may be extended with Actions to perform user-defined tasks on the selection. These Actions are accessible by bringing up Actions Mode (⌘K). You may also assign specific keyboard shortcuts in the Hotkeys section of the GoToFile Settings to perform them directly.
The panel consists of two major sections: The action list to the left and the configuration tab view to the right. The configuration tab view consists of three tabs: General, Availability, Output.
+ button below the action list. A new action is created.If your action consist of an application bundle this is all there is to be configured. The command will open all selected items with the specified application.
If you chose a script or other executable you have several more configuration options. You can configure the working directory and command line arguments. You can also process an action’s output and open it in an application, a Terminal or GoToFile.
Enter the script in the text view. Make sure to provide a shebang line to specify the interpreter you’d like the script to run on like so:
#!/bin/sh
GoToFile will run this script with the environment variables that would be set for a regular login session using your login shell.
gtf-reset-action-environment-cache which is located in the folder Content/Resources/bin of the GoToFile application bundle.The controls available in this tab depend on whether the action is supposed to open the selection with an application, process the selection with an external script or process the selection with an embedded script. This is what the Action Kind popup button is for.
Click on the Set… button to select an application you’d like to open the selected items with or an executable to process the selected items with.
Command line arguments are specified in the table below. Each command line argument has to be entered on a new line. GoToFile will replace some placeholders with their actual values. These placeholders are:
| Placeholder | Description |
|---|---|
${BASENAME} |
The last component of the selected path |
${FILENAME} |
As above but without filename extension |
${DIRNAME} |
The folder containing the selected item |
${PATH} |
The absolute path of the selection |
${HOME} |
Your home directory |
Example: Eject selected Volume
The most elegant way is probably to let Finder do the work and error reporting. An AppleScript one-liner will do:shell
/usr/bin/osascript -e 'tell application "Finder" to eject disk "DISK"'
/usr/bin/osascript as executable/usr is hidden in the system macOS file selector dialog. You can jump to it directly by pressing ⌘⇧G and entering /usr/bin into the panel. Then select osascript..-etell application "Finder" to eject disk "${BASENAME}"public.volume to the list. This ensures that the action will only be available when a mount point is selected.And this is what the configuration looks like:
.scptd filename extension containing resources and the actual script. To use a Script Bundle with GoToFile set the /usr/bin/osascript command line utility as the action’s executable. Then add the path of the Script Bundle as the first command line argument and ${PATH} as the second.Your script is entered directly into the text field. GoToFile will make sure you specify the interpreter in the first line, but it won’t check the script itself.
Example: Strip an item off its extended attributes
The shell command we would use on the command line is /usr/bin/xattr. In Terminal we’d write
shell
/usr/bin/xattr -rc PATH
PATH is the path to the item to be stripped.
We’ll enter this into the script editor:
#!/bin/zsh
/usr/bin/xattr -rc "$@"
You can enter scripts in any language you have an interpreter for. Here AppleScript is used to replicate GoToFile’s built-in “Reveal in Finder” action:
The working directory is the location where the executable is executed. Any relative paths will be relative to this directory. It defaults to the folder /tmp.
The last control in this tab lets you choose whether you want this action to perform a Separate run for each selected item or Run once for all selected items. This setting is only relevant for executables. Applications are started once for all selected items.
Example: Performing an Action with multiple items selected. We have Separate run for each selected item enabled.
We’ll re-use the xattr example from above:
#!/bin/zsh
/usr/bin/xattr -rc "$@"
Let’s assume the action is called with two selected items: /path/to/a and /path/to/b. GoToFile will execute two commands:
/usr/bin/xattr -rc /path/to/a
/usr/bin/xattr -rc /path/to/b
Example: Performing an Action with multiple items selected. We have Run once for all selected items enabled.
We’ll re-use the xattr example from above:
#!/bin/zsh
/usr/bin/xattr -rc "$@"
Let’s assume the action is called with two selected items: /path/to/a and /path/to/b. GoToFile will execute two commands:
/usr/bin/xattr -rc /path/to/a /path/to/b
Most actions only make sense when applied to certain file types. In the Availability tab you can configure for which files you want the action to be available. You can provide a list of filename extensions or Uniform Type Identifiers (UTIs) for which the action is allowed. Use the + and - buttons below the table to add or remove rows. Use the button to add a UTI by selecting an example item.
The output written by executables to standard output may be further processed. In this section you configure if or how this output is handled.
| Output Mode | Description |
|---|---|
| None | No processing. The action will be performed and this is it. |
| GoToFile | The output will be presented in the GoToFile result table, with each line displayed in its own row. The system also supports delimited data with two columns. In this case, the value from the first column will appear on a separate line from the corresponding value in the second column, but still in the same row. Recognized delimiters are tab, comma, semi colon, colon or vertical line (|). The contents of the result table can be filtered as usual. |
| Terminal | A Terminal window will be opened and the executable will be started. User interaction is possible. Note: If you encounter permission issues please check if your Terminal application has all required permissions, including access to the required folders. |
| Application | The executable produces data on standard output. The output will be written to a temporary file and opened with the specified application. |
In case the executable is writing its output to standard error instead of standard output, check the box “Output is written to Standard Error”.
- button below the action list.In this section you can customize most of the keyboard shortcuts used by GoToFile. Use the filter field to quickly lookup a hotkey based on its description. For a complete list of the available hotkeys please check out the section Keyboard Shortcuts in this help file.
Any hotkey can be added to GoToFile’s context menu by checking the check box between the description and the hotkey column.
A hotkey may be drawn in red. This indicates that this hotkey is already taken by macOS. Move the mouse cursor over the hotkey input field to bring up a tooltip pointing out which macOS function is using the hotkey.
Set your default file manager, terminal emulator and text editor here.
The file manager setting is honored when pressing ⏎ on a folder, when executing the “Reveal in File Manager” action, and, if the file manager supports it, the “Show Info in File Manager” action. In case the configured File Manager does not provide an “Info” service, Finder is used instead.
File Kinds allow you to group related filename extensions. You can query by File Kinds.
Each file kind has a unique name and a shortcut. Both have to be unique for sibling file kinds, i.e. no two siblings can share the same name and no two siblings can share the same shortcut.
You can arrange file kinds in a hierarchy. Each file kind can have an own list of extensions and subkinds. This allows you to query for ever more specific file kinds.
Consider this hierarchy. The character in braces is the shortcut, the values in square brackets
Image (i)
├── Pixel (p) [webp, avif, jp2]
│ ├── Lossy (y) [jpg, heic]
│ └── Lossless (l) [png, bmp, tiff]
└── Vector (v) [svg, eps, fig]
A query for file kind Image (\ki) finds items matched by Image and its descendents. If you’re interested in pixel images only, you append the shortcut for Pixel: \kip. GoToFile will help you build the query by suggesting the next possible shortcuts.
Note that Pixel has both, extensions and subkinds, defined. This was done because webp, avif and jp2 may use lossy or lossless compression. The same could be achieved by adding them explicitly to Lossy and Lossless.
This is where you make changes to the file kinds hierarchy.
User the + and - buttons below the outline to add or remove new file kinds. Use drag&drop to move a file kind to a new parent. Double click to rename a file kind.
To the right of the file kinds outline you’ll see the extensions associated with the selected file kind.
Extensions directly associated with the selected file kind are represented as blue tokens. You can edit and remove them. Type a new extension in here and press enter to add a new extension.
A file kind with subkinds will also show the extensions of all its descendents. Those tokens have a grey background color and cannot be edited or even selected. Chage them in the file kind they have been defined in.
Here you can check for updates manually and enter/review you license information.
Every time the search window is closed while a search query is entered in the searhc field GoToFile stores the query in its history. You can navigate the history in every mode operating on files by pressing ⌃P (previous item) and ⌃N (next item). While navigating the history you can press ⌃⌫ to remove the currently displayed query from the history and bring up the previous item.
You can also enter the History Mode (⌘H) to get a searchable list of the previously entered queries.
The Search History will remember the last 100 items. It is persisted across application restarts.
This action creates an ad-hoc project from the selected path and sets it as the current project.
System Settings>Keyboard>Shortcuts and select Services from the left hand table below. Locate and select GoToFile: Search in the Files and Folders section of the table next to it. Click Add Shortcut and press the desired shortcut.System Settings>Keyboard>Shortcuts and select Services from the left hand table below. Locate and select GoToFile: Browse in the Files and Folders section of the table next to it. Click Add Shortcut and press the desired shortcut.This action searches for items matching the name of the selected item in the currently active project.
System Settings>Keyboard>Shortcuts and select Services from the left hand table below. Locate and select GoToFile: Find Similar Items in the Files and Folders section of the table next to it. Click Add Shortcut and press the desired shortcut.GoToFile includes scripts to browse and search a path from the command line.
The two scripts gtfs and gtfb are contained in the GoToFile application bundle. If GoToFile has been installed in the Applications folder, the scripts can be found in /Applications/GoToFile.app/Contents/Resources/bin. You can either copy them from there to a location in your $PATH or set your $PATH to include this directory.
When gtfs is called without arguments, it will bring up GoToFile’s search panel and set the current working directory (cwd) as the Ad-hoc project. The search string will be empty. gtfs supports four optional command line arguments:
--path=STRING: The path of the Ad-hoc project
--project[=STRING]: The project you want to search; if no project is specified, the currently active project is assumed.
--query=STRING: The search string
--help: Prints gtfs [[--path=]STRING|--project[=STRING]] [--query=STRING]
To search project “Home” for “myfile” enter:
gtfs --project=Home --query="myfile"
To search the current project for “myfile” enter:
gtfs --project --query="myfile"
To search the current folder for “myfile” enter:
gtfs --query="myfile"
When gtfb is called without arguments, it will bring up GoToFile’s search panel in Browser Mode and set the current working directory (cwd) as the current path. The search string will be empty. gtfb supports three optional command line arguments:
--path=STRING: The path to browse
--query=STRING: The search string
--help: Prints gtfb [[--path=]STRING] [--query=STRING]
To search the folder ~/Downloads for “myfile” enter:
gtfb ~/Downloads --query="myfile"
| Key symbol | Description |
|---|---|
| ⎋ | Escape |
| ⌃ | Control |
| ⌥ | Option or Alt |
| ⌘ | Command or |
| ⇧ | Shift |
| ⏎ | Return or Enter |
| ↹ | Tab |
| ↖ ↘ | Home and End |
| ⇞ ⇟ | Page Up and Page Down |
| ↑ ↓ ← → | Arrows |
| ⌫ | Backspace |
| ⌦ | Delete |
| ␣ | Space |
| Keyboard shortcut | Action |
|---|---|
| ↑ | Move selection up |
| ↓ | Move selection down |
| ⇧↑ | Extend selection up |
| ⇧↓ | Extend selection down |
| ⇞ (first item selected) | Move selection to first item on previous page |
| ⇞ (other item selected) | Move selection to first visible item |
| ⇟ (last item selected) | Move selection to last item on next page |
| ⇟ (other item selected) | Move selection to last visible item |
| ↖ | Move selection to first item |
| ↘ | Move selection to last item |
| ⇧↖ | Extend selection to first item |
| ⇧↘ | Extend selection to last item |
| ⌘⇞ | Scroll to previous page, keep selection |
| ⌘⇟ | Scroll to next page, keep selection |
| ⌘↖ | Scroll to first page, keep selection |
| ⌘↘ | Scroll to last page, keep selection |
| Keyboard shortcut | Action |
|---|---|
| ⌘S | Switch to Search Mode |
| ⌘⌥S | Search folder containing document of frontmost application; This action creates an ad-hoc project with only a single search folder. |
| ⌘\ | Filter for frontmost application; Press once to show only items which belong to the frontmost application. The icon of the frontmost application will be displayed to the right of the search field. Press twice to show only items which can be opened by the frontmost application. The icon of the frontmost application will be greyed out. Press one more time to switch off filtering for frontmost application. The icon of the frontmost applicationwill disappear. |
| ⌘B | Switch to Browser Mode |
| ⌘P | Switch to Project Mode |
| ⌘⌥B | Browse folder containing document of frontmost application |
| ⌘R | Switch to Recent Items Mode |
| ⌘M | Switch to Marked Items Mode |
| ⌘H | Switch to History pseudo mode |
| ↹ (Search Mode) | Switch to Browser Mode |
| ↹ (any other mode) | Switch to Search Mode |
| ⌘⌥P | Toggle Project Editor |
| ⌃P | Load previous query from history |
| ⌃N | Load next query from history |
| ⌃⌫ | Remove current query from history |
| ⎋ (text) | Clear input field |
| ⎋ (no text) | Close search window and reset filters. If an ad-hoc project was searched, the previous “regular” project will be selected. Search mode will be restored. “Vertically Maximize Window” is reset. |
| ⌘W | Close search window and leave search string, filters, current mode, current project, and window maximize state untouched |
| ⌃⇧␣ | Toggle “Vertically Maximize Search Window” |
| ⌘A | Select every item |
| ⌘⌥0 | Show active file operations |
| ⌘⇧/ | Show this help file. Note: On non-US keyboard layouts this key might have a different location and/or symbol. See the GoToFile Settings section hotkeys to look it up or change it. |
| ⌘Q | Quit GoToFile |
The mode column indicates in which mode the keyboard shortcut works: Search, Browse, Marked Items, Recent Items, Projects, History.
| Mode | Keyboard shortcut | Action |
|---|---|---|
| SBMR | ⌃\ | Toggle ‘Cycle Through Metadata Display Options’ |
| SBMR | ⌘⇧F | Toggle ‘Show Files’ |
| SBMR | ⌘⇧D | Toggle ‘Show Directories’ |
| S | ⌘S | Toggle “Ignore Maximum Result Set Size” as configured in the GoToFile Settings; This value is reset to NO whenever the query is modified. |
| S | ⌘↑ (when searching an ad-hoc project) | Change the project’s search folder to its parent folder |
| SBMR | ⌘⇧O | Toggle ‘Search last path component’/‘Search complete path’ |
| SBMR | ⌘1, ⌘2, …, ⌘0 | Switch to project 1…10; Projects are numbered according to their position in the Project Editor (⌘⌥P). You can re-arrange them in the Project Editor with drag&drop or by assigning them numbers directly (see next row). |
| SBMR | ⌘⇧1, ⌘⇧2, …, ⌘⇧0 | Make the current project accessible via ⌘n where n is the number pressed. This will effectively re-arrange the project list by swapping the position of the current project with the position of the project previously in this spot. |
| SBMRP | ⌘` | Switch between current and previous project; Note: The key ` refers to the key directly below the ⎋ key. On non-US keyboard layouts it might have a different location and/or symbol. See the GoToFile Settings section hotkeys to look it up or change it. |
| SB | ⌘. | Toggle ‘Show Hidden Files’ |
| SB | ⌘↑ | Browse parent folder |
| SB | ⌘/ | Set current directory to Home directory. Press multiple times in order to cycle between Home -> System Volume -> All Volumes. |
| SB | ⌃, | Browse preceding sibling directory |
| SB | ⌃. | Browse following sibling directory |
| SB | ⌃⇧, | Browse preceding marked sibling directory |
| SB | ⌃⇧. | Browse following marked sibling directory |
| SB | ⌘1, ⌘2, …, ⌘0 | Browse sole search folder of project 1…10; Projects are numbered according to their position in the Project Editor (⌘⌥P). You can re-arrange them in the Project Editor with drag&drop or by assigning them numbers directly (Search Mode or Recent Items Mode: ⌘⇧1, ⌘⇧2, …, ⌘⇧0). |
| SBMRPH | ⌘M | Switch between regular marked items and items which have been marked for copy/move |
These actions are performed on all currently selected items or, if a path component of the selected item is highlighted, on the highlighted path component. See Selection for details.
If the current mode is Projects the actions are performed on the search folder configured for the selected project. Should the selected project consist of multiple search folders these actions will fail.
The mode column indicates in which mode the keyboard shortcut works: Search, Browse, Marked Items, Recent Items, Projects, History.
| Mode | Keyboard shortcut | Action |
|---|---|---|
| SBMR | ⏎ | Open selection with default application |
| SBMR | ⇧⏎ | Open selection with active application |
| SBMR | ⌘⏎ | Type path of selection into active application |
| SBMR | ⌘⇧⏎ | Type name of selection into active application |
| SBMR | ⌥⏎ | Copy path of selection to pasteboard |
| SBMR | ⌥⇧⏎ | Copy name of selection to pasteboard |
| SBMR | ⌥⌃⏎ | Copy content of selection to pasteboard; Requires a single file as selection |
| SBMR | ⌃⏎ | Rename selection |
| SBMR | ⌘K | Switch to Actions pseudo mode |
| SBMR | ⌘F | Reveal selection in Finder |
| SBMR | ⌘I | Show Finder info for selection |
| SBMRPH | ⌘⌫ | Move selection to Trash |
| SBMR | ⌘E | Edit selection in default text editor. The default text editor can be configured in the Applications tab of the GoToFile Settings. |
| SBMR | ⌘T | Open new Terminal window and cd to selection. The default terminal emulator can be configured in the Applications tab of the GoToFile Settings. |
| SBMR | 2x⇧, ⌘Y | Preview selection with Quick Look. On non-US keyboard layouts the configurable shortcut key might have a different location and/or symbol. See the GoToFile Settings section hotkeys to look it up or change it. |
| SBMR | ⌘⎋ | Send selection to Quicksilver; There are similar actions for LaunchBar and Alfred. |
| SBMR | ⌘⇧J | Jump to selection |
| SBMR | ⌘⇧S | Search selection; Creates an ad-hoc project from the selected path and sets it as the current project |
| SBMRP | ⌘↓, ⌘⇧B | Browse selection. If the selected item is a folder, the browser will open at this location. If it is a file, browser will open the folder containing the file and select the file. If a project is selected the browser will open the sole search folder configured for this project. |
| SBMR | ⌘⇧P | Create new project from the selection. The new project will contain the selected folder as Search Folder. If the selected item is not a folder, its containing folder will be added as Search Folder instead. The new project will take on the name of the Search Folder. |
| SBMR | ⌃C | Mark selection as copy source; Subsequently pressing ⌃C on another item will make this item the copy source; The copy source will remain set after performing the copy operation via ⌃V. |
| SBMR | ⌃⇧C | Add selection to copy source; Only items which have not yet been selected as copy source will be added; The copy source will remain set after performing the copy operation via ⌃V. |
| SBMR | ⌃D | Duplicate selection |
| SBMR | ⌃X | Mark selection as move source; Subsequently pressing ⌃X on another item will make this item the move source; The move source will be cleared after performing the move operation via ⌃V. |
| SBMR | ⌃⇧X | Add selection to move source; Only items which have not yet been selected as move source will be added; The move source will remain set after performing the move operation via ⌃V. |
| SBMR | ⌃V | Perform the file operation initiated with ⌃C (copy) or ⌃X (move). If the selection is not a directory the item will be copied/moved into the folder containing the selection. If the selection is a folder the item will be copied/moved into this folder. |
| SBMR | ⌃⇧N | Create new folder in the selected folder or in the folder containing the selected file |
| SBMR | ⌃M | Toggle the Marked flag of the selection. Marked items are visible in Marked Items Mode. |
| SBMR | ⌃,, ⌃. | Shrink / extend path selection |
| SBMR | ⌃/ | Clear path selection; Note: The key / refers to the key immediately to the left of the right ⇧ key. On non-US keyboard layouts it might have a different location and/or symbol. See the GoToFile Settings section hotkeys to look it up or change it. |
| SBMR | ⌥⎋ | Clear Live Path Filter |
| SBMR | ⌘= | Add selection to Live Path Filter; This limits the search result to items in the selected folder (or the folder containing the selected file) and its subfolders; More than one filter may be applied. Press ⌥⎋ to reset the filter. Note: The key = refers to the key to the left of the ⌫ key. On non-US keyboard layouts it might have a different location and/or symbol. See the GoToFile Settings section hotkeys to look it up or change it. |
| SBMR | ⌘- | Add selection to Live Path Filter; This excludes items in selected folder (or the folder containing the selected file) and its subfolders from search result; More than one filter may be applied. Press ⌥⎋ to reset the filter. Note: The key - refers to the key to the right of the 0 key. On non-US keyboard layouts it might have a different location and/or symbol. See the GoToFile Settings section hotkeys to look it up or change it. |
| SB | / | Browse selected folder; Note: The key / refers to the key to the left of the right ⇧ key. On non-US keyboard layouts it might have a different location and/or symbol. See the GoToFile Settings section hotkeys to look it up or change it. |
| SB | ⌃/ | Deselect All. This is useful when performing a copy or move operation when the current folder contains only folders but you want to copy to the currently browsed folder. Note: The key / refers to the key to the left of the right ⇧ key. On non-US keyboard layouts it might have a different location and/or symbol. See the GoToFile Settings section hotkeys to look it up or change it. |
| SBMRP | ⏎ | Search project |
| SBMRP | ⌘P | Switch to most recent project. This is useful when the last search was made in an ad-hoc project by pressing ⌘⇧S on any item. In this case the current project would be replaced by an ad-hoc project consisting only the selected folder (or the selected item’s containing folder). While in Search mode you can press ⌘P twice (first time to get to the Project Selector, second time to switch back to the actual project you came from). |
The index is a database which helps speeding up the search process. The database is held entirely in memory. It is populated whenever a project/folder is selected for the first time after the program starts. Later on the database is updated in the background whenever changes are made to the file system.
A project is a collection of folders to search. It also defines how these folders are searched and which items should be stored in the index. Projects are configured in the Project Editor.
An ad-hoc project is like a project containing only a single directory to search, but it is not created (or visible) in the Project Editor or in the Project Selector.
Ad-hoc Projects are created by
- searching a directory by pressing ⌘⇧S while a file or folder is selected
- using the command line utility gtfs without the --project argument or with the --path argument
- using the Search Folder or Find Similar Items
When searching an ad-hoc project the Info Bar will display ‘Search directory …’ instead of ‘Search project …’. Press ⌘P twice to switch back to the previous project. Closing the search panel via ⎋ with an ad-hoc project active will switch back to the most recent “regular” project for the next search. Pressing ⌘W will also close the window but leave the ad-hoc project active.
In every mode the selection is the item selected in the result table. Actions operate on the selection. In Search Mode, Recent Items Mode, and Marked Items Mode you can further choose which part of the path is considered for actions. Use ⌃, and ⌃. to select different parts of the selected items path. Once part of the path is highlighted actions will operate on this path component instead of the full path. The selection icon reflects this change. Clear the highlighting by either selecting a different item of by using the Clear Highlight (⌃/) command.
The term “executable” refers to any script or binary which can be executed from the command line.
One of the major modes of operation of GoToFile: Search, Browse, Recent Items, Marked Items. Major Modes operate on files.
Minor Modes provide utility functions. They do not operate on files but display a searchable list of arbirary data which the user can act upon: Project, History, Actions, Data Provider.