Code Monkey home page Code Monkey logo

vimmatic's Introduction

Vimmatic

GitHub Actions

⚠️ The project status is experimental. ⚠️

Vimmatic allows you to browse web pages with Vim-like key binds.

This extension enables you to navigate pages, switch tabs, and open a site you want with your keyboard. The extension provides a Vim-like experience on your browser and a new choice for Vim users. You can configure keymaps and browse pages with your preferences.

Vimmatic provides the following features: Scrolling a page and managing tabs with keyboard shortcuts Also, they are available by a command Opening a page from bookmarks and histories. Custom search engined Setting keymaps by a JSON-format configuration.

For usage and more detailed information, check out our documentation. The development of Vimmatic is publically available as open-source software. Feel free to contact us at github repository.

Install

Firefox
Firefox
Chrome
Chrome
Firefox Add-ons Chrome Web Store

Documentation

You can find the documentation on the website.

Copyright

Copyright © Shin'ya Ueoka and contributors

Licence

MIT

vimmatic's People

Contributors

alx741 avatar aminroosta avatar c01o avatar chen-chao avatar chocolateboy avatar cirelli94 avatar cybai avatar dependabot-preview[bot] avatar dependabot[bot] avatar dev-output avatar emlow avatar femnad avatar github-actions[bot] avatar greenkeeper[bot] avatar heavenshell avatar jiabohou avatar kleschenko avatar l4rzy avatar luanpotter avatar matiasstorm avatar natinaum avatar nixon avatar robsmith11 avatar ryanstreur avatar stefanough avatar tbnv999 avatar tevio avatar tsia avatar ueokande avatar yourfin 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

vimmatic's Issues

Go to address bar

The issue is already reported or known issue?

  • I have searched the existing issues on github
  • I am using the latest version

Description

While developing i often want to modify the current url. I am used to using CMD+L to jump to the address bar. It would be nice to have a vim style binding for this. Maybe ga for "go address bar".

Other details

No response

style text-transform ignored

The issue is already reported or known issue?

  • I have searched the existing issues on github
  • I am using the latest version

Current behavior

Property 'text-transform' ignored by settings styles => hint.

Expected behavior

No response

Steps to reproduce

No response

Environment

  • OS: Fedora 38
  • Browser: Firefox 122
  • Vimmatic version: 0.6.1

Ensure there are at least two maintainers of package

Description

Since vim vixen was broken with dark mode for several months (see ueokande/vim-vixen#1437 (comment)), it would be nice to have multiple maintainers who could complete pull requests and make releases. The community diagnosed the problem quickly in that case, but to actually use the fix, it required users people to learn how to make their own extensions and laboriously load them on each computer they use. To get around this, there was an unnecessary fork (vim-vix-remix/vim-vix-remix#4) made by people who just wanted to distribute the new change, but the context switch of setting up a new project made it hard for people to continue. I personally ended up stopping to use the extension all together which made me sad, since it was a quite nice extension.

I don't mean this to sound accusatory. I appreciate all your hard work, and definitely don't expect you to respond in any given time frame since you do this all for free, but I think that since there is a fairly large user base for extensions like these, it'd be nice to have some redundancy in the development process. I am willing to volunteer to be an assistant maintainer since I intend to use this new extension, and feel up to the task. Let me know if you are interested.

Allow to select items from list in console mode

The issue is already reported or known issue?

  • I have searched the existing issues on github
  • I am using the latest version

Description

Hi,
I think this feature might improve user experience for full keyboard interaction.
When using : + any command which propose autocompletion list there is no way to select item of the list with keyboard.

  1. Arrow keys are focused on text input, so getting up/down will just move text cursor to start/end
  2. Ctrl+n and Ctrl+p are still catched by browser to open new window and print current page.

It would be a more vim-like experience to catch those inputs in console mode so user would be able to select items without mouse interaction.

Best Regards,
Busyvar

Other details

No response

Support for Firefox 112.0 with flatpak

The issue is already reported or known issue?

  • I have searched the existing issues on github
  • I am using the latest version

Current behavior

None of the keymaps works

Expected behavior

Extension works

Steps to reproduce

  1. Install firefox 112.0 with flatpak

Environment

  • OS: Ubuntu 22.04.02
  • Browser: Firefox 112.0 (flatpka)
  • Vimmatic version: 0.2.0

Extension fills dev console with console.warn

The issue is already reported or known issue?

  • I have searched the existing issues on github
  • I am using the latest version

Current behavior

This extension spews the following message:

unexpected message format: SyntaxError: JSON.parse: unexpected character at line 1 column 2 of the JSON data
    listen WindowMessageListener.ts:46

in the dev console, over and over, at least once per second if not more. The offending line.

Definitely should not leave a console.warn in production. It's flooding my console when I'm trying to do web development, making my job harder during the day. I have to disable the extension for my development.

I don't know whether or not the message itself indicates something seriously wrong, but it's definitely not wanted. I hope the issue can be resolved by either removing the console.warn from this extension, or fixing the issue itself, of trying to parse something as JSON which is not JSON.

Expected behavior

Don't spew warnings in the user's dev console.

Steps to reproduce

  1. Open any page.
  2. Open the dev console.
  3. The extension starts to spew warnings in there.

Environment

  • OS: Arch Linux
  • Browser: Firefox 122.0.1
  • Vimmatic version: 0.6.1

Nothing works on Firefox.

The issue is already reported or known issue?

  • I have searched the existing issues on github
  • I am using the latest version

Current behavior

Installed, enabled all permissions, even restarted Firefox. None of the keybindings works, not even hjkl.

Expected behavior

Keybindings should work.

Steps to reproduce

  1. Install VImmatic Firefox extension
  2. Enable permissions
  3. (Optional) restart Firefox

Environment

  • OS: MacOS 13.4
  • Browser: Firefox 114.0
  • Vimmatic version: 0.3.1

Is this extension ready for prime time?

After being a casual user of Vim Vixen for several years, I decided to get properly into the commands then noticed that it had been archived, with loads of open issues and pull requests. I didn't follow the Vim Vixen development process at all, but having read the archive announcement and found my way here, as a simple user I'd just like to know:

  1. Why is this extension "better" (other than that it's actually being developed?)
  2. Is it ready to replace Vim Vixen for a basic user, or should I follow development and wait until some point?

Search or filter hints

The issue is already reported or known issue?

  • I have searched the existing issues on github
  • I am using the latest version

Description

It would be really powerfull to use the letters to start filtering the links hinted containing (fuzzy search like) the letter that you have enter, and finally navigating to the hint by number.

So if you want to go the the link "I am a super link", you could type fas1 follow-hint ; filter as and follow the new filtered hint 1

Other details

No response

Disabling the plugin only works once

The issue is already reported or known issue?

  • I have searched the existing issues on github
  • I am using the latest version

Current behavior

Sometimes I need to use my keyboard on a page, which makes it problematic when I have the vim plugin active.
When I disable it with the icon in my extension bar. It seems to work, but when I change the page to the next page, it activates back again and I end up with a disabled icon in my bar with an active plugin in reality.

image
image

Expected behavior

I expect the plugin to be disabled when it is gray. It should not activate back again after reload.

Steps to reproduce

  1. Open a page
  2. Disable the plugin
  3. Reload
  4. Plugin is active even tho the icon is gray

Environment

  • OS: Linux P14s-arch 6.1.55-1-lts # 1 SMP PREEMPT_DYNAMIC Sat, 23 Sep 2023 16:57:15 +0000 x86_64 GNU/Linux
  • Browser: Mozilla Firefox for Arch Linux 118.0.1 (64-bit)
  • Vimmatic version: 0.5.2 October 2, 2023

Options are reset upon reloading the options screen (Firefox)

The issue is already reported or known issue?

  • I have searched the existing issues on github
  • I am using the latest version

Current behavior

I can set the options successfully, but upon returning to the options page they are reset to the default ones.

Expected behavior

The options not to reset when reloading the options page.

Steps to reproduce

  1. Open plugin-settings
  2. Open the "Options"-tab
  3. Modify options (e.g. set properties.smoothscroll to true)
  4. Close plugin-settings
  5. Test if smoothscroll is enabled (it is for me)
  6. Reopen plugin-settings
  7. Reopen "Options"-tab
  8. The options are now reverted to the default (check visually)
  9. Close plugin-settings
  10. Test if smoothscroll is still enabled (it still is for me)

At this point, the plugin still seems to use the user-set options, while displaying the default options.

  1. Reopen plugin-settings
  2. Reopen "Options"-tab
  3. Change something minor (add a space, remove it again)
  4. Test if smoothscroll is enabled (it no longer is)

This bug can be worked around by storing the entire configuration in a separate text-file and always reapplying the whole thing.

Environment

  • Browser: Firefox
  • Vimmatic version: 0.1.1

Action trigger while typing in reddit search

The issue is already reported or known issue?

  • I have searched the existing issues on github
  • I am using the latest version

Current behavior

When typing in the reddit search this can activate the vimmatic actions.
In my example I will press f for follow
This isn't a problem when:

  • searching on reddits startpage
    grafik

  • searching in a subreddit
    grafik

It only is when searching while any post is open, like this one:
https://www.reddit.com/r/firefox/comments/12hxqjl/microsoft_fixes_5yearold_windows_defender_bug/
grafik

Expected behavior

types f

Steps to reproduce

  1. Open any reddit post (eg. https://www.reddit.com/r/firefox/comments/12hxqjl/microsoft_fixes_5yearold_windows_defender_bug/)
  2. Press any action key (like f)
  3. The action is triggered instead of typing the letter.

Environment

  • OS: Windows 10
  • Browser: Firefox 112.0.1
  • Vimmatic version: 0.2.1

Backlist not working on Youtube

The issue is already reported or known issue?

  • I have searched the existing issues on github
  • I am using the latest version

Current behavior

I have this as my backlist:

  "blacklist": [
    "youtube.com/*",
    "youtube.com"
  ],

  • i open www.youtube.com
  • vimmatic still works

NOTE: Backlist works on everyother site (that i checked), only youtube doesn't seem to be backlisting... same issue with Vim Vixen

Expected behavior

  • i open www.youtube.com
  • vimmatic to not work

Steps to reproduce

  1. Add youtube to backlist; eg:
  "blacklist": [
    "youtube.com/*",
    "youtube.com"
  ],
  1. Open www.youtube.com

Environment

  • OS: Linux 6.1.0-21-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.90-1 (2024-05-03) x86_64 GNU/Linux
  • Browser: Firefox 115.12.0esr (64-bit)
  • Vimmatic version: 0.7.1

Opening an image with a shortcut like f follow

The issue is already reported or known issue?

  • I have searched the existing issues on github
  • I am using the latest version

Description

I sometimes need to inspect an image on the page to increase the size for example. My current behaviour is to switch to the mouse, right click, open image in new tab. I really felt in love with the follow command f, and had the idea, that it would be nice to open that image with a follow command without switching to my mouse.

Other details

No response

Breaks chatgpt

The issue is already reported or known issue?

  • I have searched the existing issues on github
  • I am using the latest version

Current behavior

Puts a massive white banner on the bottom of chatgpt page. Covers the prompt. I havent spent anytime debugging. I installed plugin went to site. Banner appears. removed extension. Banner no longer there.

Expected behavior

No response

Steps to reproduce

  1. Open page ...
  2. Massive White Banner covering bottom of page. Including chatgpt prompt.

Environment

  • OS: ubuntu-22.04.3
  • Browser: firefox-121.0 x64
  • Vimmatic version: latest.

Bind commands to `event.keyCode` instead of letters

The issue is already reported or known issue?

  • I have searched the existing issues on github
  • I am using the latest version

Description

Keymaps don't work when using a non-English keyboard layout (e.g. Russian). A dirty workaround is to duplicate all the keymaps in the config and replace the English letters with letters of another language. Another way to fix this, would be to use KeyboardEvent.code instead of KeyboardEvent.key in InputDriver.ts

This is a feature request instead of a bug report because, despite improving UX for most users, such a change may break existing installations for AZERTY or QWERTZ users. So, the best way would be to make this feature optional under the properties section.

Other details

Users asking for the feature: ueokande/vim-vixen#1442

Use regex syntax for text search

The issue is already reported or known issue?

  • I have searched the existing issues on github
  • I am using the latest version

Description

It would be nice, if you could use regex in your text search to make the search even stronger!

Other details

No response

any fix for multiple scroll containers?

The issue is already reported or known issue?

  • I have searched the existing issues on github
  • I am using the latest version

Current behavior

ueokande/vim-vixen#1019 link to the issue, facing the same problem

Expected behavior

No response

Steps to reproduce

No response

Environment

  • OS: arch
  • Browser: firefox
  • Vimmatic version: 0.5.3

Cannot see/edit/access Preferences JSON

The issue is already reported or known issue?

  • I have searched the existing issues on github
  • I am using the latest version

Current behavior

When I navigate to Manage Extension>>Preferences

I see a small empty square where the JSON usually is displayed.

image

Expected behavior

Manage Extension>>Preferences should take me to a view where I can edit the Preferences JSON.

Steps to reproduce

  1. Manage Extension
  2. Preferences
  3. the JSON location is just a small empty box

Environment

  • OS: System:
    Kernel: 6.1.55-1-MANJARO arch: x86_64 bits: 64 compiler: gcc v: 13.2.1
    clocksource: tsc Desktop: Xfce v: 4.18.1 tk: Gtk v: 3.24.36
    info: xfce4-panel wm: xfwm v: 4.18.0 vt: 7 dm: LightDM v: 1.32.0
    Distro: Manjaro Linux base: Arch Linux

  • Browser: Firefox 119.0
    Build ID 20231023160744
    Distribution ID Manjaro
    User Agent Mozilla/5.0 (X11; Linux x86_64; rv:109.0) Gecko/20100101 Firefox/119.0
    OS Linux 6.1.55-1-MANJARO
    OS Theme Matcha-dark-sea / Matcha-sea

  • Vimmatic version: v0.5.2

ALL OTHER ADDONS/EXTENSIONS DEACTIVATED!

Press escape to enable commands again

The issue is already reported or known issue?

  • I have searched the existing issues on github
  • I am using the latest version

Description

The current behavior is that when you click on the URL bar, you can't go back to "command mode" to start pressing f + hints or any other shortcut. In the vimium extension for chromium browsers, you can press the escape key to do it.

Other details

No response

Options screen broken

The issue is already reported or known issue?

  • I have searched the existing issues on github
  • I am using the latest version

Current behavior

The options screen shows an empty text box that is unable to be written in.
Previously set configuration stays in effect but is unable to be changed
image

Expected behavior

Options screen shows configuration json

Steps to reproduce

  1. Open options screen

Environment

  • OS: MacOS 13.6 and Arch Linux
  • Browser: Firefox 117.0.1 and Chrome 114.0.5735.198
  • Vimmatic version: 0.5.2

opening clipboard’s URL in new tab appends http:// to local files

The issue is already reported or known issue?

  • I have searched the existing issues on github
  • I am using the latest version

Current behavior

opens http://file///D:/test/test.html

Expected behavior

should open file:///D:/test/test.html

Steps to reproduce

  1. Have a local file path copied to clipboard like file:///D:/test/test.html
    1.1. eg. by opening any local file in the browser and y: yanking the url to clipboard
  2. p/ P to open url in (new) tab

Environment

  • Browser: FF 110.0.1
  • Vimmatic version: 0.2.0

Can't use reddit search bar

The issue is already reported or known issue?

  • I have searched the existing issues on github
  • I am using the latest version

Current behavior

Trying to write anything at all on Reddit text fields will trigger Vimmatic actions.

Expected behavior

Ya know ... actually writing text in a text box or search bar without triggering Vimmatic ¯_(ツ)_/¯

Steps to reproduce

  1. Head over to https://reddit.com
  2. Try to search something in the search bar

Environment

  • OS: Linux (Arch)
  • Browser: Brave
  • Vimmatic version: 0.7.1 (Latest From Chrome Store)

hlsearch and incsearch

The issue is already reported or known issue?

  • I have searched the existing issues on github
  • I am using the latest version

Description

Allow highlighting all matches instead of only the current match and highlight matches while typing (hlsearch and incsearch vim options)

Other details

No response

Menu closes upon opening

The issue is already reported or known issue?

  • I have searched the existing issues on github
  • I am using the latest version

Current behavior

If i enter '/' or ':' i see their respected fields popping up for a split second, then they disappear.
Its not that they become invisible somehow, they are reset to be hidden and my ability to further enter characters is gone.

Expected behavior

.

Steps to reproduce

  1. Open page
  2. Press '/'
  3. Witness search field
  4. The search field is gone

Environment

  • OS: GNU/Linux 6.5.7-gentoo
  • Browser: LibreWolf LibreWolf 121.0-1
  • Vimmatic version: 0.6.0 (Last Updated February 6, 2024)

smooth scroll

The issue is already reported or known issue?

  • I have searched the existing issues on github
  • I am using the latest version

Description

please add a smooth scroll feature

Other details

No response

Cannot select `F` because `F*` and `F` are displayed when `follow.start` is executed.

The issue is already reported or known issue?

  • I have searched the existing issues on github
  • I am using the latest version

Current behavior

  1. Set option
{
  "keymaps": {
    "0": { "type": "scroll.home" },
    ";": { "type": "command.show" },
    "t": { "type": "command.show.tabopen", "alter": false },
    "T": { "type": "command.show.tabopen", "alter": true },
    "w": { "type": "command.show.winopen", "alter": false },
    "W": { "type": "command.show.winopen", "alter": true },
    "b": { "type": "command.show.buffer" },
    "a": { "type": "command.show.addbookmark", "alter": true },
    "k": { "type": "scroll.vertically", "count": -1 },
    "j": { "type": "scroll.vertically", "count": 1 },
    "h": { "type": "scroll.horizonally", "count": -1 },
    "l": { "type": "scroll.horizonally", "count": 1 },
    "<C-U>": { "type": "scroll.pages", "count": -0.5 },
    "<A-K>": { "type": "scroll.pages", "count": -0.9 },
    "u": { "type": "scroll.pages", "count": -0.9 },
    "<C-D>": { "type": "scroll.pages", "count": 0.5 },
    "<A-J>": { "type": "scroll.pages", "count": 0.9 },
    "<C-B>": { "type": "scroll.pages", "count": -1 },
    "<C-F>": { "type": "scroll.pages", "count": 1 },
    "gg": { "type": "scroll.top" },
    "G": { "type": "scroll.bottom" },
    "$": { "type": "scroll.end" },
    "d": { "type": "tabs.close" },
    "D": { "type": "tabs.close", "select": "left" },
    "x$": { "type": "tabs.close.right" },
    "!d": { "type": "tabs.close", "force": true },
    "K": { "type": "tabs.prev" },
    "J": { "type": "tabs.next" },
    "gT": { "type": "tabs.prev" },
    "gt": { "type": "tabs.next" },
    "g0": { "type": "tabs.first" },
    "g$": { "type": "tabs.last" },
    "<C-6>": { "type": "tabs.prevsel" },
    "r": { "type": "tabs.reload", "cache": false },
    "R": { "type": "tabs.reload", "cache": true },
    "zp": { "type": "tabs.pin.toggle" },
    "zd": { "type": "tabs.duplicate" },
    "zi": { "type": "zoom.in" },
    "zo": { "type": "zoom.out" },
    "zz": { "type": "zoom.neutral" },
    "f": { "type": "follow.start", "newTab": false },
    "F": { "type": "follow.start", "newTab": true, "background": false },
    "m": { "type": "mark.set.prefix" },
    "'": { "type": "mark.jump.prefix" },
    "H": { "type": "navigate.history.prev" },
    "L": { "type": "navigate.history.next" },
    "[[": { "type": "navigate.link.prev" },
    "]]": { "type": "navigate.link.next" },
    "gu": { "type": "navigate.parent" },
    "gU": { "type": "navigate.root" },
    "i": { "type": "focus.input" },
    "gf": { "type": "navigate.source" },
    "gh": { "type": "navigate.home" },
    "gH": { "type": "navigate.home", "newTab": true },
    "gr": { "type": "tabs.reader.toggle" },
    "y": { "type": "urls.yank" },
    "p": { "type": "urls.paste", "newTab": false },
    "P": { "type": "urls.paste", "newTab": true },
    "/": { "type": "find.start" },
    "n": { "type": "find.next" },
    "N": { "type": "find.prev" },
    ".": { "type": "repeat" },
    "<S-Esc>": { "type": "addon.toggle.enabled" }
  },
  "search": {
    "default": "google",
    "engines": {
      "google": "https://google.com/search?q={}",
      "yahoo": "https://search.yahoo.com/search?p={}",
      "bing": "https://www.bing.com/search?q={}",
      "duckduckgo": "https://duckduckgo.com/?q={}",
      "twitter": "https://twitter.com/search?q={}",
      "wikipedia": "https://en.wikipedia.org/w/index.php?search={}"
    }
  },
  "properties": {
    "hintchars": "fjdkslruewovnmc",
    "smoothscroll": false,
    "complete": "sbh",
    "colorscheme": "system"
  },
  "blacklist": [
    {"url": "www.amazon.co.jp", "keys": ["f"]},
    {"url": "feedly.com", "keys": ["a", "g", "j", "J", "k", "K", ";"]},
    {"url": "getpocket.com", "keys": ["a", "j", "k"]},
    {"url": "mail.google.com", "keys": ["j", "k"]},
    {"url": "www.youtube.com", "keys": ["f"]}
  ],
  "styles": {
    "hint": {
      "background-color": "yellow",
      "border": "1px solid gold",
      "font-weight": "bold",
      "font-size": "12px",
      "color": "black"
    },
    "console": {
      "font-family": "monospace",
      "font-size": "12px"
    }
  }
}
  1. Open page http://toro.d.dooo.jp/wforum/wforum.cgi
  2. Press key f
  3. F and F? are shown
  4. Cannot select F

Expected behavior

If F* is displayed, do not display F.

Steps to reproduce

  1. Set option
{
  "keymaps": {
    "0": { "type": "scroll.home" },
    ";": { "type": "command.show" },
    "t": { "type": "command.show.tabopen", "alter": false },
    "T": { "type": "command.show.tabopen", "alter": true },
    "w": { "type": "command.show.winopen", "alter": false },
    "W": { "type": "command.show.winopen", "alter": true },
    "b": { "type": "command.show.buffer" },
    "a": { "type": "command.show.addbookmark", "alter": true },
    "k": { "type": "scroll.vertically", "count": -1 },
    "j": { "type": "scroll.vertically", "count": 1 },
    "h": { "type": "scroll.horizonally", "count": -1 },
    "l": { "type": "scroll.horizonally", "count": 1 },
    "<C-U>": { "type": "scroll.pages", "count": -0.5 },
    "<A-K>": { "type": "scroll.pages", "count": -0.9 },
    "u": { "type": "scroll.pages", "count": -0.9 },
    "<C-D>": { "type": "scroll.pages", "count": 0.5 },
    "<A-J>": { "type": "scroll.pages", "count": 0.9 },
    "<C-B>": { "type": "scroll.pages", "count": -1 },
    "<C-F>": { "type": "scroll.pages", "count": 1 },
    "gg": { "type": "scroll.top" },
    "G": { "type": "scroll.bottom" },
    "$": { "type": "scroll.end" },
    "d": { "type": "tabs.close" },
    "D": { "type": "tabs.close", "select": "left" },
    "x$": { "type": "tabs.close.right" },
    "!d": { "type": "tabs.close", "force": true },
    "K": { "type": "tabs.prev" },
    "J": { "type": "tabs.next" },
    "gT": { "type": "tabs.prev" },
    "gt": { "type": "tabs.next" },
    "g0": { "type": "tabs.first" },
    "g$": { "type": "tabs.last" },
    "<C-6>": { "type": "tabs.prevsel" },
    "r": { "type": "tabs.reload", "cache": false },
    "R": { "type": "tabs.reload", "cache": true },
    "zp": { "type": "tabs.pin.toggle" },
    "zd": { "type": "tabs.duplicate" },
    "zi": { "type": "zoom.in" },
    "zo": { "type": "zoom.out" },
    "zz": { "type": "zoom.neutral" },
    "f": { "type": "follow.start", "newTab": false },
    "F": { "type": "follow.start", "newTab": true, "background": false },
    "m": { "type": "mark.set.prefix" },
    "'": { "type": "mark.jump.prefix" },
    "H": { "type": "navigate.history.prev" },
    "L": { "type": "navigate.history.next" },
    "[[": { "type": "navigate.link.prev" },
    "]]": { "type": "navigate.link.next" },
    "gu": { "type": "navigate.parent" },
    "gU": { "type": "navigate.root" },
    "i": { "type": "focus.input" },
    "gf": { "type": "navigate.source" },
    "gh": { "type": "navigate.home" },
    "gH": { "type": "navigate.home", "newTab": true },
    "gr": { "type": "tabs.reader.toggle" },
    "y": { "type": "urls.yank" },
    "p": { "type": "urls.paste", "newTab": false },
    "P": { "type": "urls.paste", "newTab": true },
    "/": { "type": "find.start" },
    "n": { "type": "find.next" },
    "N": { "type": "find.prev" },
    ".": { "type": "repeat" },
    "<S-Esc>": { "type": "addon.toggle.enabled" }
  },
  "search": {
    "default": "google",
    "engines": {
      "google": "https://google.com/search?q={}",
      "yahoo": "https://search.yahoo.com/search?p={}",
      "bing": "https://www.bing.com/search?q={}",
      "duckduckgo": "https://duckduckgo.com/?q={}",
      "twitter": "https://twitter.com/search?q={}",
      "wikipedia": "https://en.wikipedia.org/w/index.php?search={}"
    }
  },
  "properties": {
    "hintchars": "fjdkslruewovnmc",
    "smoothscroll": false,
    "complete": "sbh",
    "colorscheme": "system"
  },
  "blacklist": [
    {"url": "www.amazon.co.jp", "keys": ["f"]},
    {"url": "feedly.com", "keys": ["a", "g", "j", "J", "k", "K", ";"]},
    {"url": "getpocket.com", "keys": ["a", "j", "k"]},
    {"url": "mail.google.com", "keys": ["j", "k"]},
    {"url": "www.youtube.com", "keys": ["f"]}
  ],
  "styles": {
    "hint": {
      "background-color": "yellow",
      "border": "1px solid gold",
      "font-weight": "bold",
      "font-size": "12px",
      "color": "black"
    },
    "console": {
      "font-family": "monospace",
      "font-size": "12px"
    }
  }
}
  1. Open page http://toro.d.dooo.jp/wforum/wforum.cgi
  2. Press key f
  3. F only and F? are shown

Environment

  • OS: Windows10
  • Browser: Vivaldi 6.1.3035.204 (Stable channel) (64-bit)
  • Vimmatic version: 0.4.1

Cannot use vimmatic bindings in settings or new blank tabs in firefox

The issue is already reported or known issue?

  • I have searched the existing issues on github
  • I am using the latest version

Current behavior

doesn't seem to work in settings or blank new tabs in firefox
but does work in the other tabs that websites are opened in

Expected behavior

works on all tabs

Steps to reproduce

  1. Open settings menu
  2. Press any vimmatic key binding
  3. The extension doesn't seem to work in that tab

Environment

  • OS: ArchLinux
  • Browser: Firefox 119.0
  • Vimmatic version: 0.5.3

Pin and unpin a tab

The issue is already reported or known issue?

  • I have searched the existing issues on github
  • I am using the latest version

Description

It would be nice to have the possibility to :pin and :unpin a tab. I use pinning all the time to make sure that I keep those tabs when closing all others.

Other details

No response

Jumping to marked position in other tab not working

The issue is already reported or known issue?

  • I have searched the existing issues on github
  • I am using the latest version

Current behavior

nothing happens

Expected behavior

jumps to the marked tab and its location

Steps to reproduce

  1. Go to some tab
  2. set a mark which saves tab and location using eg. m 1
  3. go to another tab
  4. jump to mark tab with ' 1

The shortcut is working since when I'm using ' 1 there is an error that there is no mark

Environment

  • Browser: FF 110.0.1 64bit
  • Vimmatic version: 0.2.0

White Vimmatic console frame is visible when I press Escape key, in Github (dark mode enabled)

Current behavior

A white frame appears when I press Escape key, when I'm in dark mode.
So far, in the limited websites I have checked it seems to happen only in github.
A deja vu, like in that vim-vixen issue, this one.
It feels similar, but not so similar, as the current one happens when I press Escape key only, and fix/workaround from the previous issue doesn't seem to work for this.

With inspect element, I found that white frame (iframe) had id vimmatic-console-frame

I don't know if it was present earlier, I didn't notice it, but I updated Firefox just today, so a recent version of Firefox might have caused this issue.

preview

Steps to reproduce

  1. Open github.com (with darkmode, i.e github's default darkmode)
  2. Press Escape key
  3. A white frame appears at the bottom of the screen.

Environment

  • OS: voidlinux
  • Browser: Firefox 113.0
  • Vimmatic version: 0.3.0

Edit: The same happens in codeberg, element web client (matrix) too.

Mozilla says: add-on appears to be corrupt

The issue is already reported or known issue?

  • I have searched the existing issues on github
  • I am using the latest version

Current behavior

When installing for Firefox ESR from https://addons.mozilla.org/en-US/firefox/addon/vimmatic/, I get the message:

Installation aborted because the add-on appears to be corrupt.

I have not before seen an error like this when installing plug-ins. I do not know with whom the problem may lie.

Expected behavior

Installation of plug-in.

Steps to reproduce

  1. Open https://addons.mozilla.org/en-US/firefox/addon/vimmatic/
  2. Click on the button Add to Firefox

Environment

  • OS: OpenBSD-current
  • Browser: Firefox ESR
  • Vimmatic version: 0.4.1

Import Search Engines

The issue is already reported or known issue?

  • I have searched the existing issues on github
  • I am using the latest version

Description

Hello, congrats for your useful addon.

I'm wondering if is possible to import native Firefox search engines into addon preferences.

imagen

{
  "search": {
    "default": "g",
    "engines": {
      "g": "https://google.com/search?q={}",
      "duck": "https://duckduckgo.com/?q={}",
      "br": "https://search.brave.com/search?q={}",
      "xng": "https://searx.tiekoetter.com/search?q={}",
      "yt": "https://www.youtube.com/results?search_query={}"
    }
  }
}

I did some research and that info is in the file search.json.mozlz4 of the user config directory.

That file can be decompress to json with some script like this
Remove or Comment line 30: Cu.import("resource://gre/modules/osfile.jsm");

Once decompressed looks like this:

{
    "version": 9,
    "engines": [
        {
            "id": "[email protected]",
            "_name": "Google",
            "_isAppProvided": true,
            "_metaData": {
                "order": 1,
                "alias": ".g",
                "hideOneOffButton": false
            }
        },
        {
            "id": "[email protected]",
            "_name": "Wikipedia (en)",
            "_isAppProvided": true,
            "_metaData": {
                "hideOneOffButton": false
            }
        },
        ...
    ],
    "metaData": {
        ...
    }
}

If I have some time I will try to do it myself and make a pull request (if is possible and you are agree), if not I will just simply create an exportation script and post it here.

I mainly created this request to propose the idea and as a self reminder.

Other details

No response

Firefox Addon Description links to wrong Github Repo (404)

The issue is already reported or known issue?

  • I have searched the existing issues on github
  • I am using the latest version

Current behavior

The github link at https://addons.mozilla.org/en-US/firefox/addon/vimmatic/ links to
https://github.com/ueokande/vimmaticis
resulting in a 404.

Expected behavior

it should link to
https://github.com/ueokande/vimmatic (without "is" at end)

Steps to reproduce

https://addons.mozilla.org/en-US/firefox/addon/vimmatic/

Environment

No response

Search doesn't ignore newlines

The issue is already reported or known issue?

  • I have searched the existing issues on github
  • I am using the latest version

Current behavior

When visiting this site , I noticed that using / to search for the string "fix your" comes up with zero results. Same problem if any string contains this substring (ie "should fix your"). However, if you search for "should fix" or "your program", those turn up.

I then looked at the source code for the page and noticed the problem: there are newlines in the html file here. "fix" happens to be at the end of a line, and "your" at the beginning of the next. That's why the search fails, because it doesn't ignore new lines. The same problem occurs when trying to search for "my views" (they are on separate lines in the source)

Expected behavior

Searching "fix your" or a string including it and the surrounding words should return a successful result in a search

Steps to reproduce

  1. Open page https://www.kernel.org/doc/html/next/process/coding-style.html
  2. Press key /
  3. Type fix your, hit enter
  4. The extension says Pattern not found: fix your
  5. Press / and type should fix, hit enter
  6. Result is highlighted correctly
  7. Press / and type your program, hit enter
  8. Result is highlighted correctly

Environment

  • OS: Debian Sid
  • Browser: Firefox
  • Vimmatic version: 0.7.1

`hint.quick` is does not work when go to previous tab.

The issue is already reported or known issue?

  • I have searched the existing issues on github
  • I am using the latest version

Current behavior

It seems that hint.quick sometimes does not work when returning to the previous page

Even in this state, hint.open and other key bindings could be used.

Expected behavior

hint.quick is worked when returning to the previous page

Steps to reproduce

  1. Open page to https://google.com/search?q=google
  2. Press key f and click google link
  3. Press key H
  4. Press key f

This step may not reproduce the problem,

but you can reproduce it by repeating it.

vimmatic

Environment

  • OS: Windows 10 (64 bit)
  • Browser: Firefox 121.0.1 (64bit)
  • Vimmatic version :0.6.0

String search improvement: Match counter and Relative next match

The issue is already reported or known issue?

  • I have searched the existing issues on github
  • I am using the latest version

Description

When doing a string search in Vim you have a counter of matched strings [m/n] on the bottom right, this would be nice to have in Vimmatic. Also in Vim the 'next' match is relative to where you are on the page. If I do gg n then it will match the first occurrence on the page [1/n], same thing for G N this will match the last occurring match. This is often nice to do to orient where you are on the page. Currently you have to cycle through each match and find the first/last match.

It would be really nice to have these features in Vimmatic.

Other details

No response

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.