Home

Awesome

sVim

sVim is a Safari extension with shortcuts similar to Vim. The functionality of sVim will mostly follow the Chrome extension cVim.

Get it

Help

Shortcuts

Keyboard CommandDescriptionMapping Name
Movement
"j"scroll downscrollDown
"k"scroll upscrollUp
"h"scroll leftscrollLeft
"l"scroll rightscrollRight
"d"scroll half-page downscrollPageDown
"e", "u"scroll half-page upscrollPageUp
"shift+d"scroll full-page downscrollFullPageDown
"shift+e"scroll full-page upscrollFullPageUp
"shift+g"scroll to bottom of the pagescrollToBottom
"g g"scroll to top of the pagescrollToTop
"0"scroll to the left of the pagescrollToLeft
"$"scroll to the right of the pagescrollToRight
"g i"go to the first input boxgoToInput
"g n"find a "next page" link and navigate to itgotoNextPage
"g p"find a "previous page" link and navigate to itgotoPrevPage
Miscellaneous
"r"reload the current tabreloadTab
"z i"zoom page inzoomPageIn
"z o"zoom page outzoomPageOut
"z 0"zoom page to original sizezoomOrig
"g r"toggle Safari reader if possibletoggleReader
"g v"show sVimrc pageshowsVimrc
"g ?"open help page in new tabhelp
Tab Navigation
"g t", "shift+k"navigate to the next tabnextTab
"g shift+t", "shift+j"navigate to the previous tabpreviousTab
"g 0"go to the first tabfirstTab
"g $"go to the last tablastTab
"g l"go to the last active tab that's still openlastActiveTab
"x"close the current tabquit
"g x shift+t"close the tab to the left of the current tabcloseTabLeft
"g x t"close the tab to the right of the current tabcloseTabRight
"g x 0"close all tabs to the left of the current tabcloseTabsToLeft
"g x $"close all tabs to the right of the current tabcloseTabsToRight
"shift+x"open the last closed tablastClosedTab
"ctrl+shift+x"open the last closed tab in backgroundlastClosedTabBackground
"t"open new tabnewTab
"shift+h"go back in historygoBack
"shift+l"go forward in historygoForward
"shift+,"move current tab leftmoveTabLeft
"shift+."move current tab rightmoveTabRight
"g u"navigate to parent directoryparentDirectory
"g shift+u"navigate to top directorytopDirectory
"g d"navigate to parent domainparentDomain
"g h"navigate to home pagehomePage
Window Navigation
"w"open new windownewWindow
"g w"navigate to the next windownextWindow
"g shift+w"navigate to the previous windowpreviousWindow
Modes
"escape", "ctrl+["enter normal modenormalMode
"i"enter insert modeinsertMode
Link Hints
"f"open link in current tabcreateHint
"shift+f"open link in new background tabcreateTabbedHint
"ctrl+shift+f"open link in new foreground tabcreateForegroundHint
Clipboard
"y y"copy current URL to clipboardyankDocumentUrl

sVimrc

sVimrc Commands

sVimrc Settings

Setting NameDescriptionTypeDefault
preventdefaultescprevent escape from exiting full screen, if unset then only prevent when not in normal modebooleantrue
smoothscrolluse smooth scrollingbooleantrue
fullpagescrollpercentpercent of the page to scroll by when using scrollFullPageUp and scrollFullPageDowninteger85
lastactivetablimitnumber of last active tabs to rememberinteger25
lastclosedtablimitnumber of closed tabs to rememberinteger25
scrolldurationduration of smooth scrollinginteger30
scrollstepamount of pixels scrolled when using scrollUp and scrollDowninteger60
zoomsteppercent to zoom when using zoomPageIn and zoomPageOutinteger10
hintcharacterscharacters to be used in link hint modestring"asdfgqwertzxcvb"
homeurlurl to use as home pagestring"topsites://"
mapleader<Leader> keystring""
newtaburlurl to use as the default new tab urlstring"topsites://"
blacklistsdisable sVim on the sites matching one of the patternsarray[]
nextpagetextpatternsa list of regex patterns used to find the "next page" link on the pagearray["Next"]
prevpagetextpatternsa list of regex patterns used to find the "prev page" link on the pagearray["Previous"]

sVimrc Example

" Settings
set nosmoothscroll
let fullpagescrollpercent = 100
let lastactivetablimit = 50;
let lastclosedtablimit = 50;
let scrollduration = 25
let scrollstep = 65
let zoomstep = 15
let hintcharacters = "1234567890";
let homeurl = "http://google.com";
let mapleader = ","
let newtaburl = "http://google.com"
let blacklists = ["*://example.com/stuff/*", "*://mail.google.com/*"]
let nextpagetextpatterns = ["Next"]
let prevpagetextpatterns = ["Prev(ious)?"]

" Shortcuts
map "q" nextTab
map "shift+q" previousTab
map "<Leader> h" closeTabLeft
map "<Leader> l" closeTabRight
map "down" scrollDown
map "up" scrollUp
map "left" scrollLeft
map "right" scrollRight
map "space" scrollFullPageDown