⌨️ A Safari browser extension, use keyboard control browser jumps, scrolling, switching tabs and more. support iPadOS and macOS

Related tags

Scroll vim vimium vimari
Overview

Support

Keyboard

Key Description
k Scroll up
j Scroll down
u Fast scroll up
d Fast scroll down
h Scroll left
l Scroll right
f Highlight
shift Open link in a new tab
r Refresh page
J Switch to pre tab
K Switch to next tab
x Close current page
? Key help

FAQ

Q1 Why do functions such as scrolling with the 'j' key or using the 'f' key not perform as expected?

Due to security restrictions of Safari, if the page has a customized keypress behavior, the keypress behavior of Vimkey will be overwritten. The current temporary solution is to exclude the page from the Vimkey execution scope, which can be set in the Vimkey Settings

Q2 Sometimes problems with Q1 occur accidentally on the same page

It is recommended to turn off Safari's built-in preloading and try again.

Q3 Why Vimkey in the iPad safari not working ?

In you iPad safari use this extension, Please make sure you have a keyboard hardware, like Apple Magic Keyboard for iPadPro.

Contact

Project source: Github

Feedback and support: [email protected]

About

Copyright © Haojen 2021

Guy working at home Illustration byIconscout Store

Comments
  • Any way to force shortcuts being active or not? Like normal/insert mode?

    Any way to force shortcuts being active or not? Like normal/insert mode?

    Hi. Great cross-apple-OS app!

    On Safari Mac, sometimes the shortcuts activate even when inputting text on a handful of sites so far. Example: https://twitter.com/compose/tweet. The shortcuts keep happening when writing a tweet. Quick check in dev tools. It looks like it is all divs. No input field[s].

    I know I vimkey rules can be disabled for a page/site. I still want to use the shortcuts tho. Is there a way to toggle vimkey shortcuts? Like if I could toggle them off while writing a tweet. Then toggle them back on.

    Or if I could tell vimkey somehow to assume something like Twitter's divs acting as input fields are input fields. I am happy to add the exceptions somewhere myself. Or to even contribute them to you/the community.

    In other words, happy to help if I can and do some amount of scripting or editing.

    Thanks.

    opened by inoicouldalwaysturn2u 9
  • Feature request: input method agnostic keybindings

    Feature request: input method agnostic keybindings

    Hello, I want to thank you for your great work in advance. The UI is gorgeous and rich.

    I have one suggestion that benefits all Non-English input method users. Current keybinding system works only when English layout is selected. If I were to use Korean or some Chinese IMEs, I have to set it back to English when done typing.

    I know similar plugin on Chrome called Vimium C has this feature. It would be so nice to have here as well.

    enhancement 
    opened by exploitJ 5
  • Vimkey somehow conflicts with styles in nginx-proxy-manager

    Vimkey somehow conflicts with styles in nginx-proxy-manager

    Descriptions

    1. Vimkey somehow conflicts with styles in nginx-proxy-manager.
    2. I cannot turn the inject of Vimkey off unless I disable the extension completely.

    Screenshots

    When Vimkey is enabled, the textbox can only display a very narrow view of the text I entered (I entered aaaaaa):

    image

    When Vimkey is disabled, it works as expected:

    image bug 
    opened by alexkuang0 4
  • Some keys do not work properly in edit mode

    Some keys do not work properly in edit mode

    在leetcode、Milkdown的代码编辑器中,可以删除部分文字,但不能删除一整行,也不能删除换行符。 如果需要,很乐意提供更多信息

    System info:

    • Safari Version 16.1 (17614.2.9.1.13, 17614)
    • macOS Monterey 12.6.1
    • MacBook Air M2
    bug 
    opened by guluguru 3
  • Feature Request: search tabs of all tab groups

    Feature Request: search tabs of all tab groups

    It would be great to search not only for tab names inside the active tab group, but to search for tab names in all tab groups and automatically switch to that group when entering a tab on a different tab group.

    opened by wabu 3
  • Bug: link highlighting is shown less when split-fullscreen.

    Bug: link highlighting is shown less when split-fullscreen.

    Steps to reproduce

    1. Put safari along side any application.
    2. Adjust screen divider to shrink safari side to reach about 2:1 ratio.
    3. check link highlighting by pressing f.

    I tested in google search result.

    bug 
    opened by exploitJ 2
  • Feature Request: Shortcut to switch to tab groups

    Feature Request: Shortcut to switch to tab groups

    It would be great to have keyboard shortcuts to switch tab groups:

    • either for switching to the next / previous tab group
    • or similar to "search tabs" to search for a tab group name
    opened by wabu 2
  • Need new shortcuts to restore closed tab

    Need new shortcuts to restore closed tab

    Hello, In Vimium now the shortcut key I use most frequently is X restore closed tab.x close current tab This pair of shortcut keys is indeed very convenient, you can open and close web pages. No extension supports this feature after switching to Safari. Thanks

    opened by Harr0y 1
  • Injecting code on disabled domain that blocks original shortcuts

    Injecting code on disabled domain that blocks original shortcuts

    Expected behavior: The extension, when disabled on certain domains, stops injecting code that blocks my shortcuts. Actual behavior: I cannot use YouTube shortcuts (i.e. Shift + </> for adjusting video speed) even if I disabled it on domain www.youtube.com in the extension options.

    image
    opened by alexkuang0 0
  • Conflict With Youtube Keyboard Shortcuts

    Conflict With Youtube Keyboard Shortcuts

    Safari Version: 16.1 Vimkey Version: 2.8.0

    Sometimes, when I press J or K, it scrolls up and down as expected, but they also trigger the Youtube shortcuts(seek backward and play/pause in the player). This happens occasionally and can be solved by refreshing the browser.

    Actual: Youtube keyboard shortcuts and Vimkey are both enabled simultaneously. Expected: Youtube keyboard shortcuts should be disabled when Vimkey is activated. And Enabled when temporarily disabled Vimkey on the page (i)

    opened by annopkomol 1
  • Click labels based on dom text

    Click labels based on dom text

    Here's an idea,

    It would be nice if the labels when f clicking weren't assigned at random or in a sequence but instead depended on the text of the dom node being clicked. For example, a "Submit" button on the screen having "SU" or "SB" click label would be nice compared to something like say "AE".

    opened by ksdme 1
Owner
Haojen
Be Water
Haojen
Lightweight and simple to use vue component that highlights menu items as you scroll the page, also scrolling to target section when clicked.

vue-scrollactive This component makes it simple to highlight a menu item with an 'active' class as you scroll. Highlights items with a class as you sc

Mauricio Farias Dziedzinski 534 Dec 2, 2022
Lightweight package for highlighting menu items as you scroll the page, also scrolling to target section when item clicked. Use as a vue component/directive or in vanilla js.

navscroll-js Installation This package is available on npm. Using npm: npm install --save navscroll Using yarn: yarn add navscroll Directly include it

Honoré Nintunze 57 Mar 2, 2022
Vue component that provides content scrolling and zooming using mouse events or two fingers pinch on a mobile devices

vue-pinch-scroll-zoom Vue component that provides content scrolling and zooming using mouse events or two fingers pinch on a mobile devices example: h

CoddiCat 24 Sep 9, 2022
Component that customizes the scroll and inserts shadow when scrolling exists

Vue Scroll Shadow • • Component that customizes the scroll and inserts shadow when scrolling exists Installation NPM npm i vue-scroll-shadow # or yarn

André Lins 2 Feb 13, 2022
Animating vertical and horizontal scrolling

Animating vertical and horizontal scrolling. Inspired by rigor789/vue-scrollto and uses some of its code and functionality!!

Uther Pally 64 Oct 4, 2022
A Vue plugin which supervises binding element's scrolling and trigger target elements class

A Vue plugin which supervises binding element's scrolling and trigger target elements class

null 0 Nov 27, 2020
A Vue plugin which supervises binding element's scrolling and trigger target elements class

vue-scroll-trigger A Vue plugin which supervises binding element's scrolling and trigger target elements class Sample BEHIVE-DESIGN Install with yarn

Ranlizzz 2 Nov 5, 2020
A Vue.js directive for body scroll locking without breaking scrolling of a target element.

v-scroll-lock A Vue.js directive for body scroll locking (for iOS Mobile and Tablet, Android, desktop Safari/Chrome/Firefox) without breaking scrollin

Pete Hegman 182 Nov 24, 2022
Customize the scrolling position on route navigation. Especially hash mode.

vue-scroll-behavior Customize the scrolling position on route navigation IE / Edge Firefox Chrome Safari Opera iOS Android IE9+, Edge ✓ ✓ ✓ ✓ ✓ ✓ Tabl

Yazhe Wang 142 Jul 10, 2022
:beginner:A simple, seamless scrolling for Vue.js vue无缝滚动component

vue-seamless-scroll A simple, Seamless scrolling for Vue.js Features Initial configuration support Compatible with multiple platforms Multi-technology

sos 1.5k Jan 6, 2023
Starter template for parallax effects & smooth scrolling experience

Nuxt + Locomotive Scroll Starter template for parallax effects & smooth scrolling experience. Empower your Nuxt project in no time. See it in action →

Ivo Dolenc 42 Dec 11, 2022
⚡️ Blazing fast scrolling for any amount of data

vue-virtual-scroller Blazing fast scrolling of any amount of data | Live demo | Video demo For Vue 3 support, see here ??️ Become a Sponsor Sponsors T

Guillaume Chau 7.5k Jan 1, 2023
A Vue.js directive for body scroll locking without breaking scrolling of a target element.

v-scroll-lock A Vue.js directive for body scroll locking (for iOS Mobile and Tablet, Android, desktop Safari/Chrome/Firefox) without breaking scrollin

Pete Hegman 182 Nov 24, 2022
A simple web component (Vue.js >= 3.2) that provides infinite scrolling to display a large array of data one element at a time

infinite-scroller-comp infinite-scroller-comp is a Vue.js (>=3.2) web component that provides a content area and an associated vertical scroll bar. Th

null 0 May 10, 2022
↕ A simple but fast & powerful library to animate HTML elements while scrolling pages.

Vue Scroll Animator ↕ A simple but fast & powerful library to animate HTML elements while scrolling pages. Installation npm install @byloth/vue-scroll

Matteo Bilotta 0 May 19, 2022
Lightweight Vue plugin for smooth-scrolling extended from vue-smooth-scroll

Vue2 Smooth Scroll Lightweight Vue plugin for smooth-scrolling extended from vue-smooth-scroll. For simple use-cases, the native scroll-behavior CSS p

xlaoyu 119 Nov 28, 2022
A Vue directive to lock the body scroll without stopping the target element from scrolling

A Vue directive to lock the body from scrolling without stopping the target element from scrolling

Bram Honingh 30 Jul 10, 2022
Vue-slidePage is a fullscreen scrolling component of Vue.js, Based on slidePage

vue-slidePage Introduction vue-slidePage is a fullscreen scrolling component of Vue.js, Based on slidePage Demo simple custom Usage Install $ npm i -S

null 16 Nov 12, 2021
Vue plugin to disable scrolling page

Vue plugin to disable scrolling page

17axaH 0 May 12, 2021