Though this is old questionAddition to ido, I would like to add myhave following setup.
In case of evil mode, use following key bindings to switch buffers
(define-key evil-normal-state-map (kbd "C-j") 'next-buffer) (define-key evil-normal-state-map (kbd "C-k") 'previous-buffer) (define-key evil-normal-state-map (kbd "C-S-h") 'evil-window-left) (define-key evil-normal-state-map (kbd "C-S-j") 'evil-window-down) (define-key evil-normal-state-map (kbd "C-S-k") 'evil-window-up) (define-key evil-normal-state-map (kbd "C-S-l") 'evil-window-right)Set buffer name as title of window. This will help you when navigating with above keybindings
(setq frame-title-format "%b")If you are using evil mode, you can try
evil-leader. Bind frequently used keys to leader. e.g You can bindC-x bto<leader>-b.(global-evil-leader-mode) (evil-leader/set-leader ",") (evil-leader/set-key "b" 'switch-to-buffer)Bind dired mode to
C-<f8>. Now when you want to open file in directory, pressC-<f8>, navigate to file name & pressainstead ofRET. So dired buffer will be killed immediately.(global-set-key (kbd "C-<f8>") (lambda () (interactive) (dired default-directory))) (put 'dired-find-alternate-file 'disabled nil)Use
recentfmode to navigate recent files.C-x C-rOne last important point is - use ergonomic mechanical keyboard. So you can press 'ctrl' key easily and quickly with wrist instead of hurting pinky.
Hope this might help someone.