Coder Social home page Coder Social logo

gggritso / vimmy.safariextension Goto Github PK

View Code? Open in Web Editor NEW
270.0 10.0 30.0 957 KB

A small set of Vim behaviours for Safari

Home Page: http://gggritso.com/Vimmy.safariextension/

License: The Unlicense

JavaScript 73.72% CSS 14.30% HTML 11.98%
vim safari-extension abandonware

vimmy.safariextension's Introduction

[Abandoned] Vimmy - Neato Vim-ness for Safari

Project Status

Ever since Mojave Apple has been making it harder and harder and more annoying to develop Safari extensions to the point where I just don't feel like doing it anymore. The process is now more obscure, the documentation is lacking, and the upgrade path is unclear.

If you're an application developer and you want to take this project over, by all means, go ahead and fork it! The license is fully permissive. You can re-distribute this as your own, and even charge for it if you wish. Good luck to you, if you do!

As an alternative, you can check out Vimari which is supported on Safari 13.

Installation

The best way to get the latest version is to download the release file from GitHub. The extension is available on the Safari Extensions Gallery but they haven't been responding to my requests for an update, so the version there is stale.

Commands

  • hjkl to scroll left/down/up/right
  • gg and shift+g to scroll to top/bottom
  • f to click on elements like links, inputs, buttons
  • shift-f to open links in a new background tab
  • esc and ctrl+[ to break out of link mode
  • shift-h to go back in history
  • shift-l to go forward in history
  • gt and shift-k to go to the next tab
  • gT and shift-j to go the the previous tab
  • x to close the current tab
  • t to open a new tab
  • r to reload the current tab
  • ctrl-d to scroll down by half a page
  • ctrl-u to scroll up by half a page
  • ctrl-f to scroll down by a full page
  • ctrl-b to scroll up by a full page

Settings

If you use websites that have their own shortcuts, you can add them to the extension blacklist (available since version 0.4.0). In extension settings, just add a list of domains where you want the extension to be ignored. Each line can be a regular expression. Please separate the values using commas. For example, yours might look something like this:

google.com,facebook.com,tumblr.com/.*

Unfortunately Safari is quite limited in what kinds of settings can be added at the moment, so I couldn't add a proper list input. Maybe one day!

It's also possible to add a global hard-coded website blacklist. If you have thoughts or suggestions for this, please check out the Github repo.

If the slightly-rotated hints are a distraction for you, there is also an option to turn that off.

If the black-and-white hints aren't your cup of tea, you're welcome to try high-contrast mode which changes the background to yellow.

Why

There are other Vim extensions for Safari, but this one is mine!

  • better hints (high contrast, chevrons show associated link)
  • fluid scrolling animations
  • minimum useful command set

vimmy.safariextension's People

Contributors

danielcompton avatar dwaxe avatar gggritso avatar kujohn avatar marekpiechut avatar mrknmc avatar sethfri avatar therealkris avatar

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

vimmy.safariextension's Issues

Typo: ctrl-d to move down "have" a page

Only one minor thing I've noticed on the extension website (http://gggritso.com/Vimmy.safariextension/)

Edit:
I didn't want to open another issue for this but I've also noticed that using the "f" command on the same website the "home" link isn't available to keyboard navigation, no hint character appears near the yellow text..
Maybe I'm missing something

Thank you for the great extension BTW 👍

Apple Safari Extensions Gallery only provide version 0.2

The first, thank you for the greatest extension on Safari.

I can only get Vimmy 0.2.0 from Safari Extensions Gallery.
After checking the github website and I knew the latest version is 0.7.0...

So, is it possible to replace the old version on Safari Extensions Gallery?
I read closed issue and found a link to get the version 0.6.0....^_^

'esc' exit focus mode.

Hello. Thx for the powerful extension. But can you add a function: use 'esc' to exit focus mode?

gt activates the file finder

After pressing t for the gt motion, Github's source code browsing activates the file finder. Maybe, replace it with gb or something else that excludes t?

key modifier or other key to open link in new tab

it would be great to be able to open a link in a new tab instead default webpage/safari behavior. For example, pressing f will open using default behavior, but if you press ⇧+f it will force opening url in a new tab (preferable background tab) . Another possibility would be using always f to select links but if you keep pressed some modifier key (e.g. ⌘, ⌥) while typing the two letters to select a link, it would open the link in a new tab.

I've tried all vim-like safari extensions, I always end coming back to yours, it's the best.

A key mapping suggest

Hi, gggritso, I really love your Vimmy.
But here I want to make a suggest that can you map the q button as to break out of the link mode?
Because the esc and ctrl-[ is much more hard to reach.
(I know the Vim tradition of using Esc and ctrl-[ and respect that .)
What do you think?

Allow customizing of link hint letters

I'm using a Dvorak layout and would find customization of the link hint letters very useful. This is possible in Vimium and Vimperator among other similar extensions.

Add option for yellow tags like vimium

I prefer Vimium's style of yellow tags on black text, as I find them much more readable, especially on pages with dark backgrounds, e.g.:

screenshot of safari 24-04-17 4-01-23 pm

In #23 ChrisLTD showed a forked version that had Vimium style tags. Would it be ok to add this as an option, or give a stylesheet override?

o For search bar

It would be neat if pressing o would open a search bar like Vimium does in Chrome

Smooth scrolling with hjkl

Currently scrolling by holding down hjkl scrolls in jerks every time the key repeat is triggered. Vimium has a feature that smooths this out so that when you scroll by holding down a key the scrolling is smooth. It would be nice to have this in Vimmy.

@gggritso

vimmy commands override textbox

i have find myself unable to comment on forums and youtube videos because the character are used in vimmy commands. is there anyway to get around this? thanks

Change the behavior of "h" and "l"

Can you please change the behavior of "h" and "l" from scroll left/right to switch to left/right tab which is the also the behavior of Vimium?

Keep hints enabled

Is there any way to keep hints enabled? Or could this be implemented? For instance it could be implemented so that if you press f twice hints would stay enabled. If you're doing something repetitive this is very handy, instead of having to press f al the time. Anyways thanks for the awesome extension.

Copy Link

It would be neat to be able to copy a selected link. Maybe using "L".

add a command for new tab

I have been using chrome on mac for a long time just because vimium, and I switched to safari immediately after I found this awesome extension.

but after using this extension for a few days, I found that there is no command for new tab, and I'm used to opening a new tab with command t. However, I can simply open a new tab with ⌘-t, but that just not the Vim way.

so, is that possible to add a new command (e.g. t) for new tab?

User settings for key bindings

It would be useful if the user could choose the key bindings.

Things like scroll distance and hint characters would be nice as well.

Add a command for undo close tab

First of all, thanks for making this awesome extension!!!

Can you please add a command (like "u") to undo close tab? Vimium also has such command.

J and K for previous/next tab

It would be really nice if - besides gt and gT (which are kind of hard to press) - J and K would be supported for previous and next tab.

gt and gT don't cycle tabs

Just installed the extension on Safari 9.1.2 on El Capitan 10.11.6.

The shortcuts mentioned above don't work and simply do nothing.

Shift+F makes new tab active

I've recently moved from Chrome... tried to replace Vimium with two different Safari extensions that hadn't been updated in years. So glad to see one that is being actively developed! Anyway, I have found an issue that maybe I am just missing a preference setting for, but the help says Shift+F should open a new tab for the link (and remain on your current page), but for me it activates this new tab. I use this feature a lot with vimium so it would be great if it behaved the same way (new tabs do not become active).

Thanks for putting this out there it will make it possible for me to use Safari...

Add shortcut to open copied url

p shortcut will be nice to open in current tab
P shortcut will be nice to open in new tab
(like in Vimium for Google Chrome)

Feature request: URL exception list

I'd really love it, if I could exclude some manually inserted URLs from using Vimmy.

For example I am using feedly.com to read RSS feeds and their webapp already has keybindings for j and k set up, which get overridden by Vimmy.

Thanks for your wonderful plugin!

Keep user's place when refreshing

When refreshing a Safari tab the traditional way using Cmd + R, it keeps your scroll position. When typing r in Vimmy, it starts you back at the top of the page. The traditional Safari behavior is preferable.

Fix "Latest Release" in README.md

README.md contains the following:

The best way to get the latest version is to download the release file from GitHub.

The link points to v0.7.0:
https://github.com/gggritso/Vimmy.safariextension/releases/download/0.7.0/Vimmy.safariextz
it should probably point here (if you don't want to modify on each release):
https://github.com/gggritso/Vimmy.safariextension/releases
or here:
https://github.com/gggritso/Vimmy.safariextension/releases/download/0.8.0/Vimmy.safariextz

Unable to break link mode with Ctrl-[

I just switched over to safari. I noticed Esc, BSpace, and Ctrl-[ are used to break out of link mode, but I am unable to use the last one and I'm not sure why! Any thoughts? Thanks.

How do I update to v0.3.0?

Hi,
I am currently running v0.2 and seem to be unable to update to the latest Vimmy version. Safari Extension gallery is just showing me "installed", but no update notification and if I download the file directly from the URL in updateManifest.plist (https://s3.amazonaws.com/gggritso.com/Vimmy.safariextz) Safari won't let me install the package:

screen shot 2016-08-16 at 08 34 59

OSX Version: 10.11.6 (15G31)
Safari Version: 9.1.2 (11601.7.7)

Allow a count when using tab navigation commands

A possible enhancement for your consideration:

I sometimes find myself wanting to be able to go navigate multiple tabs forwards or backwards and wish I could use a count when using the navigation commands, e.g., 3gt or 3K to go three tabs to the right.

Disable reload of page when "r" is typed in a select tag

Currently, typing "r" in a select tag to scroll to value that starts with "r" reloads the page. I think the behaviour here should be equivalent to typing "r" in a text area or input field which doesn't trigger the reload. Happy to submit a PR for this.

some suggest

I like you tag style when pressing f key.
It will be awesome if it has a short key for go to next tab.
forgive my poor English :)

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.