Giter Site home page Giter Site logo

vimari's Introduction

Vimari

Keyboard Shortcuts extension for Safari

Download on the Mac App Store

GitHub release (latest by date) GitHub release (latest by date including pre-releases)

Vimari is a Safari extension that provides vim style keyboard based navigation. This lets you control Safari from your keyboard instead of having to use your mouse to open links, scroll, etc. The code is heavily based on vimium, a Chrome extension that provides much more extensive features.

Vimari attempts to provide a lightweight port of vimium to Safari, taking the best components of vimium and adapting them to Safari.

Releases

Safari 12 and above

Download on the Mac App Store

Safari 11 and below (DEPRECATED)

Installation

Safari 12 and above (macOS Mojave or above)

Mac App Store

  1. Download Vimari for free from the Mac App Store
  2. Launch Vimari.app
  3. Click "Open in Safari Extensions Preferences", Safari's Extension Preferences should open
  4. Make sure that the checkbox for the Vimari extension is ticked
  5. Go back to Vimari.app and press the reload button to check the status of the app. If it says "Enabled" then it is ready.
  6. You may need to relaunch Safari for the extension to work

Prebuilt binaries

  1. Download the latest version of Vimari
  2. Unzip it
  3. Move it to your /Applications folder
  4. Launch Vimari.app
  5. Click "Open in Safari Extensions Preferences...", Safari's Extension Preferences should open
  6. Make sure that the checkbox for the Vimari extension is ticked
  7. Go back to Vimari.app and press the reload button to check the status of the app. If it says "Enabled" then it is ready.
  8. You may need to relaunch Safari for the extension to work

Safari 11 (legacy Safari Extension method)

Download the Vimari 1.13 and double-click the file.

Usage

Settings

Modifier - Modifier key to hold down with your action key. If you leave it blank you don't need to hold down anything (default setting).

Excluded URLs - Comma separated list of website URLs you don't want to use vimari with. To exclude GitHub for example, provide the value github.com or http://github.com. It's smart and should handle all possible domain cases.

Link Hint Characters - Allowed characters to be used when generating link shortcuts.

Extra detection by cursor style - Detect clickable links by looking for HTML elements having cursor style set to "pointer".

Scroll Size - How much each scroll will move on the page.

Vimari v2.1+

Smooth Scroll - Scroll smoothly through the page.

Normal vs Insert mode - Isolate website keybindings from the Vimari keybindings. In normal mode you can use the Vimari keybindings while in insert mode you can use the websites own keybindings.

Transparent Bindings - Full keybinding isolation might not be your style, instead the transparent bindings setting (when enabled) allows you to use all non-Vimari-bound keys to interact with the web page as if you were in insert mode.

Multiple Bindings - You can bind multiple keybindings to a Vimari action. This is done by specifying an array of bindings in the configuration file, like so: "goToPageTop": ["g g", "shift+k"].

Keyboard Bindings

These bindings are the ones set by default, however you are able to change them in the settings.

In-page navigation

f       Toggle links
F       Toggle links (open link in new tab)
k       Scroll up
j       Scroll down
h       Scroll left
l       Scroll right
u       Scroll up half page
d       Scroll down half page
g g     Go to top of page
G       Go to bottom of page
g i     Go to first input

Page/Tab navigation

H       History back
L       History forward
r       Reload
w       Next tab
q       Previous tab
x       Close current tab
t       Open new tab

Vimari v2.1+

Vimari Modes

i       Enter insert mode
ESC     Enter normal mode
CTRL+[  Enter normal mode

Tips & Tricks

Vimari is built as a Safari Extension, this poses some limits on what is possible through the extension. However default Safari shortcuts can help you keep your hands at the keyboard. Some helpful ones are listed here:

  • Focus URL Bar l - This is a feature not available in Vimari, it is also helpful where extensions are not loaded (for example on topsites://). By focusing the URL Bar you can go to a website where the extension is loaded.

  • Reader mode R - Currently Vimari does not support entering Reader mode (due to API limitations), also navigation inside reader mode (for example using j or k) is not supported.

  • Re-open last closed tab T - Allows you to reopen a recently closed tab.

License

Copyright (C) 2011 Guy Halford-Thompson. See LICENSE for details.

vimari's People

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

vimari's Issues

Enhancement: fade shortcuts on Link Hinting

Scenario: After I press Ctrl+F, a page that has lots of links will display a bunch of labels with letters such as: LK, SK, LL, SJ.

If I press S at first, only SK and SJ will have its 'S' fade out. As an enhancement, would be nicer if LK and LL would also fade in this sort of situations.

I just moved from Chrome + Vimium, and thanks for the Vimari extension.

Page reloading when using swipe gesture to go back in history

As in title, if you have Vimari enabled, and use two-fingers swipe to go back in history, webpage below current one shows, and then reloads with significant delay. Uninstalling Vimari solves the problem

OS X Yosemite 10.10.3, Safari version 8.0.6 (10600.6.3)

Space out link hint letters

The Vimium extension 'spaces out' link hints by not putting similar link hints next to each other. It also looks like they use more letters, which lets them have shorter 2 letter labels, where vimari has 3 letter labels.

screenshot of google chrome 2-04-16 10-52-16 pm

Vimari not working at all in Safari Version 7.0.5

I'm running Safari Version 7.0.5 (9537.77.4) on OS X 10.9.4. After installing and activating Vimari v1.10, I cannot get it to work at all. It simply doesn't respond to any of the key bindings (ctrl+f, etc.).

I'm an avid user of Vimium in Chrome and was looking forward to getting the same functionality in Safari. Is anyone else successfully running Vimari in Safari 7.0.5?

Link hint letters don't go away in pop-up window

On the Macworld.com site, I get these accursed little "recommended for you" pop-up windows with links to other articles. When I click the close ("X") on this pop-up, the identifying link letters stay on the screen after the pop-up disappears. They scroll with the main window content so they're apparently not part of the pop-up.

Don't know if this is fixable, but it'd be nice. What would be even nicer would be a link hint letter for the close "X" so I could get rid of the pop-up easily.

Thanks!

New Icon

If anyone is interested in designing a new icon for vimari... as much as I am nostalgic about the current one, its not the most visually appealing.

Open to any ideas.

"Promo"/Usage video for vimari to put on YouTube

Does anyone have the skills to put together a short youtube video showing how to use vimari? Its a lot easier to show people how it works in a video rather than describing it on the home page.

Have to reload some pages for bindings to work

Hi,
I am having an issue where I have to reload some sites for the extension to be effective. This seems like it would have been addressed in commit 4258908, but the current release either does not include that commit or it is ineffective. I thought I'd build the extension on my own, but for that it seems like I need an Apple developer account.

Is there any chance that a new release will be made soon?

Group link hints by their second letter as in vimium

Is it possible to change vimari so it behaves like vimium? After pressing the first letter, the link hints are much more spread out in vimium, because they are not grouped by their first letter, but their second instead.

Here is the Wikipedia language list in vimari:

vimari-hints

And here it is in vimium:

vimium-hints

Doesn't work in Safari 7.1

I installed it and make sure it is enabled, but it didn't do anything when I press some key, like f, d, gg. My system is OS X 10.9.5

No link hinting after Cmd-F

Hi!

After I search within a webpage (Cmd-F), vimari's link hint toggle stops working. To re-enable it, I have to switch away from the browser's tab and come back. Then it works again.

Scrolling

I'm curious if allowing scrolling using vim like keystrokes (j for down, k for up, maybe d for page up, and u for page up) is something that you think would be worthwhile.

Link hints have incorrect style / are illegible

Using vimari 1.9, and Safari 7.0 (9537.71) (with flash disabled).

Steps to reproduce

  1. Go to espn.com, and active link hints
  2. The link hints are illegible in many spots.

incorrect-style

Excepted result

The link hints should have a yellow background.

Navigating "next" and "prev" links?

A feature I sorely miss in Vimium and others:

]]      Follow the link labeled 'next' or '>'. Helpful for browsing paginated sites.
[[      Follow the link labeled 'previous' or '<'. Helpful for browsing paginated sites.

Any chance of some equivalent in Vimari?

Does not work on El Capitan

This plugin does not work at all on OS X 10.11 and cannot even be installed. It just does not show up in the extensions list and thus won-t be loaded.

Remove need for ctrl button?

Hello there, as a recent convertee back from Chrome, I'm really not used to pressing control to get up the find links part of the code, is it possible to have pressing ctrl optional, or should I just create my own fork and keep that to myself?

Turn off Vimari for Certain Websites

It would be wonderful if you could turn off Vimari on certain domain names, e.g. Gmail, so you could use the built in keyboard shortcuts there instead of having the Vimari extension override them.

Safari freezing for 1-2 minutes on pages with many links

It took a while to figure out what the issue was (I thought it was Safari itself at first), but I have narrowed it down to Vimari.

This happens most often when I browse forum topics with many threads (possibly because there are hundreds of links on the page at once).

I am using Safari 8.0.5

Vimium blocking 'escape' shortcut in google spreadsheet

It seems Vimium is block the 'escape' shortcut to exit a cell formula in google sheets. I was having this issue and didn't know why, then narrowed it down to Vimium by turning off my extensions one at a time.

Example: Enter some text in any cell > return to the cell and press F2 to edit the contents of the cell > hit escape from here should result in the application exiting the cell edit mode.

move tabs

It would be nice to be able to
move a tab to the left
move a tab to the right

Can't get it to work in one of my machines

I can't get Vimari to work on one of my machines, works fine in others running the same Software versions.

Is there anything I should look for to try finding the culprit?

forward slash to search

Thanks for your extension. One awesome feature would be the ability to press forward slash to search text on a page much like Vimium (and Vim for that matter).

Cheers,

Mark

Google steals focus

Need to stop google and other sites stealing focus on page load.

This can be achieved by moving the vimari event listener to be the first in the queue and then stop the event propagation.

X for reopen the latest closed tab

In Vimium this is a feature very delightful
Safari itself don't support this function.(the history is listed in order of time opened).
It would be helpful to reopen the tabs that accidentally 'x'ed.

Link Hint Characters hidden. Instead of hidden, why not just text field...

First, excellent update Woody and Guy. Control is still there if needed but the option for removal is quite easy for the many requesters... great job pleasing all sides!

About my issue, I know I can build Vimari with extension builder and quickly make the link hint characters not hidden by changing the settings for item #8 to text field instead of the default hidden but I am curious to know why link hint characters aren't by default open to users to adjust in case some conflict with other keystroke extensions? I don't think much harm can be done by having them editable and I also think, if your up to it, having a restore default link hint characters button would make it fool proof. Yay? Nay? As always, many thanks for the extension and sharing your work with us!

Links hints don't line up when zoomed in

When zoomed in with the browser, link hints don't line up with their respective links. This only appears to be the case when scrolled down the page a little.

screen shot 2013-11-23 at 9 12 30 am

'no command prefix' - prevent javascript autofocus on Google

Is there a way to prevent the javascript autofocus from loading on Google.

I'd like to use vimari without having to use press a 'command prefix' similar to how Vimium functions in Chrome. Unfortunately, sites like Google forces the cursor into the search box, which means commands issued for vimari ends up on the search box (actually the first keypress works, then all subsequent key presses end up in the search box).

A search engine like 'DuckDuckDuck' doesn't have this problem.

Any chance this could be enabled in vimari?

Thanks!

Does not work together w/ Gmail

Hi, I have added https://gmail.com, https://mail.google.com, https://mail.google.com/mail/ to "Excluded URLs", disabled vimari, enabled vimari but still, e.g., selecting a message and hitting l for labelling does not work. Any suggestions?

Multiple shortcuts

In Vimium I can use CTRL E / j and CTRL Y / k to scroll up and down. I actually use both of them.
How can I specify multiple shortcuts? Shall I separate them with commas ,?

Google search box takes focus without modifier key

I noticed that the google search box continually grabs focus on the search results page. So if you are using vimari without a modifier key, any key press gets translated into the search box instead of as a vimari command. Any ideas on why this is occurring?

I realize that adding a modifier key circumvents this issue, though I find it much easier to use vimari without the modifier.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.