Elisp code to get the same "fast find" as in Visual Studio: When the cursor is on a word, press Ctrl-f3 to automatically search for occurences of this word in the same file (if a region is defined when you press Ctrl-f3, the search is for the content of the region instead). Then, press f3 or shift-f3 to search backward of forward:
;; Visual Studio style "fast find": ;; Ctrl-f3 to search for the word at the point (or for the content of the region if one is defined) ;; Ctrl-Shift-f3 to search backward. ;; once a search is initiated, use Ctrl-F3 or f3 to search forward, ;; Ctrl-Shift-f3 or Shift-f3 to search backward. (defun visualstudio-find-word (forward) (or mark-active ; following code borrowed from function current-word in /usr/share/emacs/21.4/lisp/simple.el (progn (let ((oldpoint (point)) (start (point)) (end (point))) (skip-syntax-backward "w_") (setq start (point)) (goto-char oldpoint) (skip-syntax-forward "w_") (setq end (point)) (if (and (eq start oldpoint) (eq end oldpoint)) ;; Point is neither within nor adjacent to a word. (progn ;; Look for preceding word in same line. (skip-syntax-backward "^w_" (save-excursion (beginning-of-line) (point))) (if (bolp) ;; No preceding word in same line. ;; Look for following word in same line. (progn (skip-syntax-forward "^w_" (save-excursion (end-of-line) (point))) (setq start (point)) (skip-syntax-forward "w_") (setq end (point))) (setq end (point)) (skip-syntax-backward "w_") (setq start (point))) (goto-char start) (push-mark nil nil t) (goto-char end)) (progn (goto-char start) (push-mark nil nil t) (goto-char end)))))) (progn (let ((search (buffer-substring (region-beginning) (region-end)))) (deactivate-mark) (isearch-mode forward nil nil nil nil) (setq isearch-string search isearch-message search isearch-case-fold-search nil)))) (defun visualstudio-find-next-word () (interactive) (visualstudio-find-word t)) (defun visualstudio-find-previous-word () (interactive) (visualstudio-find-word nil)) (global-set-key [f3] 'isearch-forward) (global-set-key [S-f3] 'isearch-backward) (global-set-key [C-f3] 'visualstudio-find-next-word) (global-set-key [C-S-f3] 'visualstudio-find-previous-word) (define-key isearch-mode-map [f3] 'isearch-repeat-forward) (define-key isearch-mode-map [S-f3] 'isearch-repeat-backward) (define-key isearch-mode-map [C-f3] 'isearch-repeat-forward) (define-key isearch-mode-map [C-S-f3] 'isearch-repeat-backward)