Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add key shortcuts for Next/Previous #444

Closed
TheDirigible opened this issue Feb 20, 2025 · 5 comments
Closed

Add key shortcuts for Next/Previous #444

TheDirigible opened this issue Feb 20, 2025 · 5 comments

Comments

@TheDirigible
Copy link

These should be the standard Ctrl+G for next search result, Ctrl+Shift+G for previous

@scambier
Copy link
Owner

Please respect the template when creating a feature request

**Is your feature request related to a problem? Please describe.**
<!-- A clear and concise description of what the problem is. Ex. I'm always frustrated when [...] -->

**Describe the solution you'd like**
<!-- A clear and concise description of what you want to happen. -->

**Describe alternatives you've considered**
<!-- A clear and concise description of any alternative solutions or features you've considered. -->

**Additional context**
<!-- Add any other context or screenshots about the feature request here. -->

@TheDirigible
Copy link
Author

Were you unable to understand the request?

@scambier
Copy link
Owner

Same question for you.

@TheDirigible
Copy link
Author

Is your feature request related to a problem? Please describe.

At present, while using the Omnisearch plugin for Obsidian, there is no built-in keyboard shortcut to navigate between search results efficiently. This presents a significant usability challenge, particularly for users who rely heavily on keyboard navigation for an optimized workflow.

Currently, when performing a search within Omnisearch, the only method for moving between search results appears to be manual interaction with the interface, either by clicking with a mouse or by using some other indirect means. This lack of standard keyboard shortcuts for navigation disrupts the flow of work, particularly for power users who expect an efficient and streamlined searching experience.

This problem becomes even more evident when conducting extensive searches across large vaults containing numerous notes. When multiple results are returned, having to manually select each result or navigate through them in a cumbersome manner adds unnecessary friction. For users accustomed to the functionality present in other search implementations, such as web browsers, text editors, or integrated development environments, the absence of these shortcuts in Omnisearch feels like a significant omission.

As a result, the process of reviewing search results becomes far less intuitive than it could be. Many software applications, including web browsers (e.g., Chrome, Firefox), code editors (e.g., VS Code, Sublime Text), and even word processors (e.g., Microsoft Word), implement standardized shortcuts for "Find Next" and "Find Previous" search results. The expectation of such functionality is deeply ingrained in modern user experience standards. Omnisearch would greatly benefit from adhering to these conventions.

Describe the solution you'd like

The ideal solution would be the implementation of CUSTOMIZABLE dedicated keyboard shortcuts for navigating search results, specifically:

  • Ctrl + G → Move to the next search result.
  • Ctrl + Shift + G → Move to the previous search result.

These shortcuts follow a well-established convention seen in numerous applications across various operating systems and platforms. Their implementation within Omnisearch would provide a natural and seamless experience for users already familiar with this standard.

By pressing Ctrl + G, users should be able to advance to the next search result within the Omnisearch interface, ensuring that they can quickly cycle through results without any additional input beyond a simple keypress. Likewise, Ctrl + Shift + G should allow users to navigate backward through the search results, enabling rapid and efficient review of previous matches.

Ideally, the transition between results should be visually distinct, ensuring the currently selected search result is clearly highlighted and in focus. Additionally, if the user reaches the last search result and presses Ctrl + G, the navigation should loop back to the first result (or optionally display a notification that no more results are available). Similarly, pressing Ctrl + Shift + G at the first result should cycle back to the last result.

This functionality should integrate smoothly with the existing Omnisearch experience, requiring minimal disruption to users while providing a significant improvement in usability.

Describe alternatives you've considered

One alternative would be to rely on existing navigation options within Omnisearch, such as manually selecting search results with the mouse. However, this is highly inefficient for users who prefer keyboard-driven workflows and significantly slows down navigation through large sets of search results.

Another potential workaround could involve using third-party automation tools (such as AutoHotkey on Windows or Karabiner on macOS) to create custom keyboard shortcuts that simulate mouse interactions. However, this is far from an ideal solution, as it requires additional setup, may not work consistently across different Obsidian versions or OS configurations, and introduces unnecessary complexity for something that should be a native feature.

Some users may attempt to work around this limitation by relying on the built-in Obsidian search instead of Omnisearch, but this negates the benefits that Omnisearch provides, such as fuzzy searching and more advanced search capabilities.

Ultimately, none of these alternatives provide a satisfactory solution. The most effective and user-friendly approach is the direct implementation of standardized keyboard shortcuts within Omnisearch itself.

Additional context

  • This feature request aligns with common usability expectations across various software applications. Implementing Ctrl + G and Ctrl + Shift + G would make Omnisearch behave consistently with widely accepted search navigation patterns.
  • Many users of Obsidian, particularly those who value keyboard efficiency, would benefit from this enhancement. The ability to quickly move through search results without breaking the workflow is crucial for improving productivity.
  • Given that Obsidian already supports various keyboard shortcuts and customization options, adding this functionality would be a natural extension of the existing user experience.
  • If for any reason the suggested keybindings conflict with existing shortcuts or user preferences, an alternative approach could be to make the keybindings configurable, allowing users to set their preferred shortcuts through the Obsidian settings menu.
  • This feature should be relatively straightforward to implement, as it primarily involves adding event listeners for the respective keyboard shortcuts and modifying the Omnisearch interface to respond accordingly.

By incorporating these keyboard shortcuts into Omnisearch, users will experience a much-improved search workflow, making it faster, more intuitive, and aligned with industry standards.

@scambier
Copy link
Owner

When project maintainers ask for users to fill a template, it usually serves multiple goals:

  • Make sure the user put some thought in their request by forcing them to write it clearly
  • Give some often necessary context to the maintainer so that the issue/need is well understood

Omnisearch, like almost all Obsidian plugins, and like the vast majority of projects you'll find on Github, is free. It's free to use, free to modify, we developers work on them on our free time, and even the "customer" service is provided for free.

So, given that everything here is free, you decided that the best course of action was to

  • Ignore the template that I put in place to help you
  • Snarkily respond when I asked you to please complete it
  • Waste everyone's time by using an LLM

And the cherry on top: the very first sentence of that garbage you sent me is wrong.

I wish you the best.

@scambier scambier closed this as not planned Won't fix, can't repro, duplicate, stale Feb 24, 2025
Repository owner locked as spam and limited conversation to collaborators Feb 24, 2025
@scambier scambier marked this as a duplicate of #446 Feb 24, 2025
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants