Org itself brings such a feature, which you could expand.
You have to setup your org-mode a bit, because this keymap is auto-generated on every call to the function. Also you need to disable the auto isearch feature to navitage. see following source:
(setq org-goto-auto-isearch nil)
(advice-add 'org-goto-map :after (lambda ()
You can use interactive to select a buffer, get-buffer-window to find the window showing that buffer, and select-window to switch to that window:
(defun open-window-by-buffer (buffer)
(interactive "bBuffer: ")
(select-window (get-buffer-window buffer) nil))
I love ido-mode for selecting things like open buffers, so here's a solution using that:...