The cursor jump behavior controlled by Option plus left or right brackets is determined by the application’s internal word-processing rules, not a global macOS system setting. To customize this, you must adjust settings within the specific app, such as TextEdit, Microsoft Word, or VS Code, where each program defines its own list of "word characters" and punctuation boundaries.
Understanding the Default Behavior
On macOS, the combination of Option (Alt) and the less-than (<) or greater-than (>) keys triggers a command often referred to as "jump to next/previous word." This functionality is deeply integrated into the native text editing frameworks used by Apple, known as AppKit for standard applications and SwiftUI for newer interfaces. However, unlike some other operating systems, macOS does not provide a universal preference pane in System Settings to redefine what constitutes a "word boundary."
Instead, the system relies on Unicode properties and application-specific dictionaries. For example, in many text editors, moving the cursor with these shortcuts skips over spaces, tabs, and common punctuation marks like periods, commas, and hyphens. If you find that the cursor stops at unexpected locations, it is usually because the character immediately preceding or following your current position is classified as part of the word by the active software. This distinction is crucial for users who rely on precise navigation during coding or complex document formatting.
Why It Varies Across Applications
Different applications interpret the same shortcut differently based on their intended use case. A web browser might treat URL segments as distinct words, while a code editor like Visual Studio Code might consider underscores or camelCase transitions as separate tokens. This variability means that a solution effective in one program may not work in another. Users often encounter confusion when switching between a word processor and an IDE, expecting identical cursor behaviors. Understanding that this is an app-level feature rather than an OS-level override helps manage expectations and directs troubleshooting efforts appropriately.
Customizing Behavior in Common Applications
Since there is no single switch in System Preferences, you must configure the behavior within the specific application you are using. Below are methods for the most common scenarios where this issue arises.
TextEdit and Native Mac Apps
In standard Apple applications like TextEdit, Pages, or Notes, the word boundary logic is hardcoded into the framework. You cannot easily change which characters are skipped without modifying the application itself, which is not feasible for average users. However, you can observe the pattern: the cursor typically jumps to the start or end of alphanumeric sequences. If you need more granular control, consider using third-party utilities or scripting tools that can intercept keystrokes, though this approach carries risks of conflict with other shortcuts.
Visual Studio Code and IDEs
Developers frequently seek to customize this behavior in code editors. In Visual Studio Code, for instance, the default keybinding for "moveBySubwords" or similar commands can be overridden. You can access the Keyboard Shortcuts settings by pressing Command+K followed by Command+S. Search for the command associated with Option+Left or Option+Right. While you cannot easily change the *logic* of what a subword is without extensions, you can remap the shortcut to a different action if the default navigation feels unintuitive. Some users install extensions like "Better Jumping" to add custom rules for navigating through symbols and identifiers.
Microsoft Word
In Microsoft Word, the Option+Arrow keys move the cursor by whole words. The definition of a "word" here includes most punctuation. If you want to jump by character instead, you should use Control+Arrow keys. There is no built-in option to exclude specific punctuation marks from being treated as word boundaries in Word. However, you can improve efficiency by learning the difference between the two modifier keys. Using Control for character-based movement and Option for word-based movement covers most navigation needs without requiring external configuration.
Using Third-Party Tools for Global Control
If you require consistent cursor jumping behavior across all applications, including those that do not expose customization options, you may need to turn to third-party utility software. Tools like Karabiner-Elements allow for deep keyboard remapping on macOS. With Karabiner, you can intercept the Option+Left/Right key events and replace them with custom sequences or disable them entirely. This method gives you absolute control but requires careful configuration to avoid breaking other workflows.
When configuring Karabiner, you can create simple JSON rules to map these shortcuts to different actions. For example, you could map Option+Left to move the cursor back one character instead of skipping a word. This provides a workaround for applications that lack native customization. However, be aware that global remappers can sometimes interfere with accessibility features or other specialized input devices. Always test your new mappings in a safe environment before relying on them for critical tasks.
Consider Accessibility Settings
Sometimes, the perceived issue with cursor jumping is actually related to Accessibility settings rather than word boundaries. Check the VoiceOver or Switch Control settings in System Settings under Accessibility. If these features are enabled, they may alter how keyboard inputs are interpreted, causing unexpected cursor movements. Disabling unnecessary accessibility overlays can restore standard keyboard behavior. Additionally, ensure that your mouse or trackpad settings are not conflicting with keyboard navigation, especially if you use assistive technologies.
Alternative Navigation Strategies
If customizing the Option+Arrow keys proves too difficult or inconsistent across apps, consider adopting alternative navigation strategies. Many users find that using Command+Left/Right for line beginnings and ends, combined with Shift+Option+Left/Right for selecting entire words, offers a more robust workflow. This hybrid approach reduces reliance on the ambiguous "subword" jumping mechanism. Furthermore, using search functions (Command+F) to jump to specific text patterns can bypass the need for precise cursor placement altogether.
Another strategy is to use full-text search within documents. Instead of manually navigating to a specific word, press Command+F and type the target phrase. This method is faster and more accurate, especially in large documents. It also eliminates the frustration of inconsistent cursor behavior. For developers, using Go-to-File shortcuts (like Command+P in VS Code) allows you to jump directly to specific lines or functions, rendering manual character-by-character navigation largely obsolete.
Frequently Asked Questions
Can I change what characters count as a word boundary globally?
No, macOS does not provide a global system setting to redefine word boundaries for all applications. The behavior is determined individually by each app's internal text engine. You must configure settings within each specific application or use third-party remapping tools.
Why does the cursor stop at hyphens in some apps but not others?
This depends on whether the application treats hyphenated words as a single unit or splits them. In many browsers and editors, hyphens are considered separators, causing the cursor to jump over them. In word processors, they might be included in the word. Check the specific documentation for the app you are using.
Is there a way to make Option+Arrow act like Control+Arrow?
You can achieve this by remapping the keys using third-party software like Karabiner-Elements. Alternatively, simply get accustomed to using Control+Arrow for character-level navigation and Option+Arrow for word-level navigation, as this is the standard macOS convention.
Does enabling VoiceOver affect cursor jumping?
Yes, VoiceOver and other accessibility features can significantly alter keyboard input interpretation. If your cursor behaves unexpectedly, check System Settings > Accessibility and ensure that VoiceOver or Switch Control is disabled unless you specifically need it.
How do I reset my keyboard shortcuts if I messed them up?
If you have changed shortcuts in a specific app, look for a "Reset" button in that app's preferences. For system-wide changes made via tools like Karabiner, you can delete the custom JSON rule file or revert to the default configuration provided by the tool.