Last active
August 22, 2018 12:48
-
-
Save avendael/7028513 to your computer and use it in GitHub Desktop.
Emacs Keybindings for Vimperator. Paste this into your `.vimperatorrc`
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
" Show tab numbers | |
set guioptions+=n | |
" Hide scrollbars | |
set guioptions-=r | |
" zenburn color theme | |
colo zenburn | |
" Default editor when C-i is invoked | |
set editor=emacsclient | |
" Command line and search patterns history | |
set history=10000 | |
" Show pattern matches as you type | |
set incsearch | |
" Hilight previous search pattern matches | |
set hlsearch | |
" Override ignorecase if pattern has uppercase chars | |
set smartcase | |
" Show the tab bar only if more then one tab is open | |
set showtabline=0 | |
" Focus content after a page has loaded | |
set focuscontent | |
" Show destination links in 1=status line, 2=command line | |
set showstatuslinks=2 | |
" Show completions and use AwesomeBar (+search plugins) | |
set complete=sl | |
set wildoptions=auto | |
" Ex commands output in a new tab by default (prefs, addons...) | |
set newtab=all | |
" - Emacs GTK key-theme and FF already provide bindings for input fields | |
" M-x enters command mode | |
noremap <A-x> : | |
" Emacs navigation in command line and insert mode | |
cmap <C-n> <Tab> | |
cmap <C-p> <S-Tab> | |
cmap <C-f> <Right> | |
cmap <C-b> <Left> | |
cmap <C-j> <CR> | |
noremap <C-j> <CR> | |
inoremap <C-j> <CR> | |
inoremap <C-n> <Down> | |
inoremap <C-p> <Up> | |
inoremap <C-f> <Right> | |
inoremap <C-b> <Left> | |
" Use C-f and C-b for tab browsing | |
noremap <C-f> <C-n> | |
noremap <C-b> <C-p> | |
" Use C-a and C-e to jump to first/last tab | |
"noremap <C-a> g0 | |
"noremap <C-e> g$ | |
" | |
" Or use them to go to the absolute left/right of the document | |
noremap <C-a> 0 | |
noremap <C-e> $ | |
" Use C-p and C-n for up/down | |
noremap <C-p> 2k | |
noremap <C-n> 2j | |
" Use C-v and M-v for jump scrolling | |
noremap <C-v> <C-d> | |
noremap <A-v> <C-u> | |
" Goto the top of the document with M-< | |
noremap <A-<> gg | |
" Goto the end of the document with M-> | |
noremap <A->> G | |
" Map C-x C-s to save | |
noremap <C-x><C-s> <C-s> | |
" Use C-s and C-r for searching (n/N for next/prev as in less) | |
noremap <C-s> / | |
noremap <C-r> ? | |
" Copy the current URL to the clipboard with M-w | |
noremap <A-w> y | |
" | |
" Copy selected text to the clipboard with C-w | |
noremap <C-w> Y | |
" Paste the current clipboard selection to a new buffer with C-y | |
noremap <C-y> P | |
" Use current URL as a start for a new location with C-x C-v | |
noremap <C-x><C-v> O | |
" C-g as cancel (C-q is stop) | |
cmap <C-g> <Esc> | |
imap <C-g> <Esc> | |
noremap <C-g> <Esc> | |
" Avoid Find dialog when canceling a started command, C-x C-g | |
noremap <C-x><C-g> <Esc> | |
" | |
" Avoid quit on C-q, and it's more suitable for Stop here | |
noremap <C-q> :stop<CR> | |
" Kill the buffer with C-x k | |
noremap <C-x>k d | |
" Undo close tab with C-_ (also with C-Shift-t, as C-t is new tab) | |
noremap <C-/> u | |
" Exit and save the session with C-x C-c | |
noremap <C-x><C-c> ZZ | |
" Buffer lists with C-x b and C-x C-b | |
noremap <C-x>b b | |
noremap <C-x><C-b> B | |
" Open a link in a new tab with C-x t | |
" Open a link in the current tab with C-x l | |
noremap <C-x>t :t<SPACE> | |
noremap <C-x>l :o<SPACE> | |
" Open hints in new tab by default (switch roles of f and F) | |
"noremap f F | |
"noremap F f | |
" Switch hints to letter "j", for right hand usage | |
noremap j f | |
noremap J F | |
" | |
" Extended hint mode with M-j | |
" ; - focus link, a - save, y - copy link, O - :open query, T - for :tabopen ... | |
noremap <A-j> ; | |
" We can now also use F for Shift+b/f as back/forward | |
noremap F L | |
noremap B H | |
" Back with Backspace as well | |
map <BS> H | |
" Use C-h i to start help | |
noremap <C-x>? i :help<CR> | |
" Record a key sequence into a macro with C-x ( | |
noremap <C-x>( q | |
" Play a macro with C-x e | |
noremap <C-x>e @ | |
" Set a mark at the cursor with C-x r m | |
noremap <C-x>rm m | |
" Jump to the mark in the current buffer with C-x r b | |
noremap <C-x>rb ' | |
" C-v was pass-next, remap to bind with default keys | |
noremap <C-d> <C-v> | |
" | |
" C-x C-f starts the "Open File" dialog (C-x C-s is Save) | |
map <C-x><C-f> <C-d><C-o> | |
" M-Up/Dn toggles the toolbar and scrollbars | |
map <A-Down> :set go+=brT<CR> | |
map <A-Up> :set go-=brT<CR> | |
" Sidebar selection with s, close with S | |
map s :sidebar<SPACE> | |
map S :sbclose<CR> | |
" Dialog selection with d | |
map d :dialog<SPACE> | |
" Focus the address bar with C-l | |
map <C-l> <C-d><C-l> | |
" Focus last used input field with C-c i | |
map <C-c>i gi | |
" Add a bookmark with C-c a (dialog) | |
map <C-c>a <C-d><C-d> | |
" Bookmarks search, and search by tag | |
map <C-c>q :bmarks<SPACE> | |
map <C-c>w :bmarks -tags= | |
" View source with C-c g, and | |
map <C-c>g gf | |
" ... in an editor with C-c e | |
map <C-c>e gF | |
" Open picture location with C-c p | |
map <C-c>p ;i | |
" Open context menu with C-c m | |
map <C-c>m ;c | |
" Open home directory with C-c f | |
map <C-c>f ~ | |
" Go to home page with C-c h | |
map <C-c>h gh | |
" Go to parent directory with C-c u | |
map <C-c>u gu | |
" Go to the root of the website with C-c C-u | |
map <C-c><C-u> gU | |
" Restart with C-c C-r | |
map <C-c><C-r> :restart<CR> | |
" Tab moving helpers | |
map <A-m> :tabmove<SPACE> | |
map <A-Left> :tabmove! -1<CR> | |
map <A-Right> :tabmove! +1<CR> |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment