Giter Club home page Giter Club logo

vimfx's Introduction

VimFx – Vim keyboard shortcuts for Firefox

Note: VimFx is a legacy extension for Firefox 115+, requiring the LegacyFox shim (see below).


VimFx is a Firefox extension which adds short, Vim-style keyboard shortcuts for browsing and navigation, for a near mouseless experience.

  • Doesn’t change your browser in any way. Everything can be disabled.
  • Easy for beginners, powerful for advanced users. Not just for Vim fanatics.
  • Modeled after Vimium for Chrome.

New to VimFx? Check out Questions & Answers!
Power user? Make a config file!
In either case, have look at the the documentation and the wiki.

VimFx is made by these awesome people.

Installation Instructions

Before installing VimFx, make sure LegacyFox is installed. On Linux, you can issue the commands below; on other operating systems, you can copy the files from the LegacyFox repository into your Firefox installation directory.

git clone https://git.gir.st/LegacyFox.git 
cd LegacyFox
sudo make install  # set DESTDIR= for custom install location

Why VimFx was created

Even before Vimium there was Vimperator for Firefox. In my opinion, Vimperator has too many features and aggressively changes the default Firefox appearance and behavior. Vimium is exactly what I need in terms of added functionality, but for Chrome. That’s why I decided to develop a similar extension for Firefox.

 VimFx will be nice to your browser and to your habits. Promise.

Anton Khodakivskiy, VimFx’s original author.

Key Features

VimFx has concise shortcuts for most commonly performed actions. Many simply invoke standard Firefox features. That is preferred over re-implementing similar functionality.

Press f to mark links, text inputs and buttons on the page. Then either type the hint or the text of a marked element to click it. This command has many variations, for example to copy links or open them in new tabs.

Search with / and cycle between matches with n and N.

Open a new tab with t, close it with x. Reopen it again with X. Switch between tabs with J and K, or some of the several other tab commands.

Scrolling left/down/up/right: h, j, k, l.
Top/Bottom: gg, G.
Page up/down: space, shift-space.
Half a page: d, u.

Use Caret mode to copy text without using the mouse.

There are of course many more shortcuts! Press ? to see them all, and then / to search among them. Click on a command or open VimFx’s options page in the Add-ons Manager to customize the default shortcuts.

You can temporarily disable VimFx by using Ignore mode. Press i to enter it, and shift-escape to exit. Use the blacklist to automatically enter Ignore mode on specific sites.

There’s also an article on ghacks.net which is a good introduction.

Alternatives

If you’re looking for a WebExtension replacement for VimFx, check out these extensions:

vimfx's People

Contributors

aexaey avatar akhodakivskiy avatar atilacamurca avatar av2000ii avatar cbertoldi avatar comepradz avatar girst avatar harsh1618 avatar hayatogh avatar helmuthdu avatar hjtp avatar just-barcodes avatar kambfhase avatar kevincox avatar levirve avatar lilydjwg avatar lindhe avatar lordjz avatar lydell avatar m-r-r avatar mcomella avatar morethanoneanimal avatar mozillazg avatar mymedia2 avatar pluser avatar strel avatar tekhnus avatar thenonameguy avatar xrxr avatar zhuochun 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  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

vimfx's Issues

Сортировка ссылок

Есть предложение, сортировать порядок ссылок не по позиции на экране, а по их «значимости».
Например если на странице несколько заголовков H1 то они идут по порядку a,s,d,f… за ними H2
Или как вариант, по глубине вложенности ссылки в DOM — сделать обход в ширину.

Build Script

A build script is necessary in order to compile coffeescript into javascript, and package everything into an xpi Firefox Extension

Конфликт с fastdial

Fastdial (https://addons.mozilla.org/en-US/firefox/addon/fast-dial-5721) показывает "избранные" закладки в виде thumbnails в новой вкладке.
При открытии новой вкладки при помощи VimFx'ой горячей клавиши t окрывается новая вкладка, но она пустая. Если же открыть новую вкладку стандартным способом (Ctrl + T), то отображаются thumbnails.

Black List

Develop Black List to disable VimFx on website where the url matches some wildcard/regex rule

scrolling with ctrl-f

при прокрутке по ctrl-f самая нижняя строка прокручивается, даже если она наполовину скрыта и нечитаема.

Scrolling with G

Scrolling with G sometimes doesn't reach the bottom of the page

Reloading all tabs and exit with tabs save

  1. Will be good to do a shortcut to reload all tabs, like ":reloadall" in Vimoerator, for example "c+r" for reload just HTML, "c+R"(I don't know if it shortcut will be work becouse of "ctrl+shift" for keymap change) for full reload with js, css, etc.

  2. Exit with tabs save, like ":wqall" in Vimperator. It may be default Vim's "wq", or "c+q". Or "c+q" for exit and "c+Q" for save and exit. Or "c+q" and "c+w".

It's just 2 reasons, why I use Vimperator instead VimFx.

Disable certain commands

Let the user an option to disable certain commands to avoid conflicts with the default shortcuts.

VimFx scrolling is not respecting smooth scrolling settings

With general.smoothScroll=true (Smooth scrolling enabled) VimFx still uses instant scrolling.

While this may be an option for page-top/page-bottom scrolls (g/GG), I believe this is bad behavior for line/screen scrolling.

Windows 8, Firefox 19, VimFx 0.1.1

Help Dialog

Create a help dialog that explains how to work with VimFx and shows all available shortcuts

Поиск | Vim-like search with /

Реализуй, пожалуйста, возможность поиска по "/" и соответствующей подсветкой и навигацией.

Eng: Please implement vim-like search with /, highlighting, and navigation with n/N

Переключение фокуса контейнеру / Scoll focus on the container

Хорошо бы как-то иметь возможность переключаться и прокручивать не только главное окно, но и контейнер с включенными скроллами. Как например тут https://dl.dropbox.com/u/44239143/scroll_container.png

There are two distinct issues:

  • Ability to scroll individual containers that have scroll bars on the page is desired.
  • Currently VimFx uses window.scrollBy which won't work on the webpage that has custom layout where window has fixed height, and there is inner scrollable container. VimFx should be able to scroll in on such pages using j/k.

Can't apply translation

File options.dtd is ok, but vimfx.properties can't be applied.
The button tips and help dialog are still English.

Firefox 17.01 && VimFx 0.4.3

Несуществующие ссылки

Если после нажатия f(F) ввести несуществующую ссылку, то на влкадке перестают работать вообще все шорткаты, в том числе ctrl+w/ctrl+tab, и приходится тянуться мышью что бы закрыть вкладку.
Firefox 16.0.1

Переключение вкладки по 't'

При нажатии на 't' открывается новая вкладка, но не переключается на нее, а фокус становится на адресную строку в текущей вкладке.

Open New Tab won't set focus to location bar

When a new tab is opened by VimFx, the keyboard focus is not set to location bar. When it is opened by Firefox itself, the focus is set correctly.

Press "t" three times (ttt), you'll get 3 blank tabs. Instead, you should end up with one blank tab and "tt" in the location bar.

Press "Ctrl+T", then press "t" two times (tt). Now you have one blank tab and "tt" in the location bar, as expected.

Search only goes to the first match

There is no way to navigate to the next matching word. If I type "/word" and hit enter, then it should navigate to the next matching word on the same page.

VimFx help won't use ClearType on Windows 8, Firefox 19

VimFx help window (Shift+?) is not using ClearType font rendering smoothing when on Windows 8, Firefox 19 (system-wide and Firefox ClearType settings enabled).

This makes the fonts look ugly on low-res/low-dpi displays.

Comparison screenshot:
Comparison Screenshot

Help for HJKL is wrong

The help says:

j, c-e ∙ Scroll Left
k, c-y ∙ Scroll Right
h ∙ Scroll Down
l ∙ Scroll Up

But j/k are used for scrolling down/up as far as I can tell, and is usual vi navigation.

Search prominence

  • Change CSS for the selection while in search mode
  • Add indication for searches with 0 result (blink and fade the search box for example)

i18n

Implement translation

Key down/press/up event handling

  • Improve key handling to deal with keyCode and keyChar problems.
  • Fix Esc key handling - sometimes websites don't receive the Esc key
  • Expand the definition of Editable element. Problematic website examples: gmail

Navigation bar problem

Navigation bar don't have URL input box, also missing bookmark's button. Left only VimFX icon.

Firefox: 16.0.2
Addons: VimFX

UPD. Fixed through Customization menu

Extend Toolbar Button

Allow to disable VimFx on current page, current domain, etc. Add a link to the preferences page.

about:newtab

It would be really nice if f/F worked also on about:newtab. Currently the only way is to use tab which is quite annoying.

Help Dialog improvements

Add hotkey explanation: it's not entirely clear that c-J means ctrl+shift+j
Help dialog won't show up on some non-english keyboard layouts (e.g. Russian)

Handle iframes

Figure out how to handle websites that extensively use iframes. Ex: gmail

blur on Esc

Escape key should blur away from any input element in the browser - not just on the page.

enhanced find command

The find command '/' cannot match another characters(like Chinese) but alphanumeric.

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.