My most favourite commands in Vimum are 'f' and 'F'. The 'f' or 'F' command creates key combinations for all the links found in the page. It highlights the key combinations in little yellow boxes above every link. We can then type the lowercase key combination for a link to open that link. While 'f' opens the link in the current tab, 'F' opens it in a new tab. Alternatively, we can type uppercase key combinations to reverse the behaviour of 'f' and 'F', i.e., 'f' with upper case key combination opens the link in a new tab and 'F' with upper case key combination opens it in the current tab.
My other favourite commands, in no particular order, are: 'J' (go one tab left), 'K' (go one tab right), 'H' (go back in history), 'L' (go forward in history), 't' (create new tab), 'T' (search through open tabs), 'x' (close tab), and 'r' (reload page).
Also, there are the 'h', 'j', 'k', and 'l' commands to scroll left, down, up, and right, respectively.
Vimium for Firefox: https://addons.mozilla.org/en-US/firefox/addon/vimium-ff/
Vimium for Chrome: https://chrome.google.com/webstore/detail/vimium/dbepggeogba...
For me personally the browser was the last application in which I had to use the mouse, vimium solved that. Sounds like a mundane application but after a serious hand injury it made the difference to me for working 4 hours with mouse and being in pain, or working 8 hours pain free.
Recently I switched from Vimium to Surfingkeys, which is comparable but also offers an actual Vim emulator for text field input. Can definitely recommend it.
Well, strictly speaking Tridactyl can do this. They overwrite your empty tab with their own so Tridactyl works there too and you can 'd' the tab.
ctrl+w (is default browser shortcut)
Check out my configuration to get some ideas of what you can do: https://github.com/b0o/surfingkeys-conf
Note that while I currently use Firefox, I haven’t yet added instructions on how to install my config there, which is different to Chrome due to lack of file system access permissions. Long story short, use the `gulp serve` task to start a server on `localhost:9919`, then point the SurfingKeys configurator there.
Not quite what I'm looking for. I've tried so many browsers and in the end I've always come back to Firefox.
Still a real ad-blocker would be great, youtube is barely usable these days with three layers of unskippable ads on each video. (although you can work around that /specific/ problem with umpv and a hotkey to launch it: section10 https://qutebrowser.org/FAQ.html )
https://github.com/brookhong/Surfingkeys (available for both Firefox and Chrome).
The defaults are a bit different, but it's quite similar, and much more powerful. Almost like vimperator/pentadactyl were, before WebExtensions.
Weirdly enough, none of the people I've tried to convince to use it has stuck with it - all very tech literate people.
I've been working on a Safari Vim-inspired Extension for macOS 10.15+ for many months now. It'll be paid, something like $5 or less. I would have liked to open source it, but I don't have a way to get enough eyes on a KickStarter or something to gather donations.
It is close to ready, I'm hoping to release it this month. I'll do a Show HN when I do. Here are some screenshots if you'd like to take a look. I'd love some feedback!
Preferences UI: https://i.imgur.com/r8WOrHb.png
Follow Link UI: https://i.imgur.com/RpGxdh6.png
Help Menu UI (needs some work!): https://i.imgur.com/OmMe9LK.png
Thanks, I'll think more about this. I think it'd also give people confidence in the security of the code - running browser extensions is a little scary since they technically have access to everything. As a customer, knowing that it'd be open sourced would give me some peace of mind that it's not doing anything malicious.
I paid money for an extension that promptly became unsupported and then died in an upgrade. Which is fine, whatever, but it did put a big question mark over the category of "paid browser extension" for me.
Knowing the source will be out there would fix that part for me - I may not be able to take over dev, but I could at least try to fix things that break until I find a replacement.
To confirm, is the model you and the parent would like:
"After x units are sold, or after 12 months (whichever comes first), the project will be open sourced and changed to free in the App Store. It will then be supported with an optional in-app-purchase donation - with no nagging or feature differences."
Yeah, writing extensions for browsers appears to be increasingly unpleasant.
Yours looks great assuming it has all features of sVim and smooth scrolling with jk
Also the link hinting, can you please make it same as sVim with yellow background so it's easier to read.
Like this: https://i.imgur.com/I5orbAQ.png
Thank you. Looking forward to the release.
Good luck with the rebuild! I figured someone must be working on it but there weren't any GitHub issues last time I looked. Has it been hard to convert it to use the new App Extension API? There are quite a few things where I have to ask Swift to do things for me - since JS apis don't exist (creating new safari windows, etc.).
I didn't mention above but I started from scratch rather than using sVim/Vimium as a base (which would be okay since they are MIT licensed). I think there are some pros/cons to this. The main pro is that since I only have to worry about Safari 13+ I can use the latest features on the JS side. I am curious how my approach to various things compares to sVim/Vimium. I haven't looked at the source for them yet - but plan to once I'm done to check out the design differences.
> Yours looks great assuming it has all features of sVim and smooth scrolling with jk
It should be close - I still need to write the smooth scrolling polyfill - that's one of the trickier things left. I found some libraries but want to try doing it myself. I'm going to try and match the Safari pageUp/pageDn behavior as close as possible.
> Also the link hinting, can you please make it same as sVim with yellow background so it's easier to read.
Thanks for bringing that up. I intended to allow increasing the font size. I was hoping people liked my color choices, but you're right, it should be configurable. I'll add it to my todo list.
> Thank you. Looking forward to the release.
Thank you! Your feedback is really helpful!
You're not mentioning my favorite Vimium command! m<key> to save a mark, and `<key> to load it. lowercase chars marks are in-page marks, and uppercase chars are global marks (like bookmarks).
Having said that, I have to confess that these days I also use macOS a lot. This has happened mainly due to my job. My employer provides MacBook Pro for work and I prefer not having to switch between operating systems too often, so my usage of Debian GNU/Linux as my main laptop OS has been on the decline. Despite that, I always keep a Debian virtual machine as well as a remote Debian system handy, so that I can log into it via SSH whenever I need it.
I'll add my recommendation for qutebrowser. i3, rxvt, and vim are where I spend most of my time.
[ ... change directory ... ]
$ . ranger
[ ... change directory ... ]
But I also use it instead of cd when I want to switch to a "distant" directory - much more comfortable than bothering with the tab completion, and the Vim-like search functionality allows to quickly jump to a specific file in the current (possibly very cluttered) directory.
That was the key that finally made my tmux/vim editor situation into a full blown IDE.
"Vim mode" means a lot more than just using 'hjklioaD^['. It would be fairer to call them "nvi modes".
It’s very basic, missing a lot of features, and likely buggy, but I’ve had fun making it and using it.
It saves to and loads from localStorage, so you can use it without an account and save and load graphs on the same machine.
But even those cases I've had mixed results on "obeys vimrc keybindings" and "captures all keypresses and uses vim purely as a modal"
firenvim for example, puts nvim into textarea boxes in firefox, and it loads up all my vimrc theme and status bar and stuff (but only dumps the text into the textarea on :w). whereas VSCode vim plugin merely uses vim under the hood for the actual text editing, but doesnt pass every keybind back (nor does it do color formatting). Which puts it into uncanny valley for me, and unless someone is VSCode live sharing at me, I don't use it.
Emacs: put all applications into emacs!
Vim: make other applications controlled like vim!
I'm a vim user and I prefer #2.
Does anyone have any experience with this? I'd love to have a vim that is more pleasant to program.
edit: added link
As an emacs user, I think what makes emacs special is not the keybindings, but the software itself, or, better phrased, the architecture and approach to extensibility that the software uses. Opinions on that?
I prefer "vim-shortcuts" and "emacs-software". Best of both worlds in my view !
Setting up environments for developing in vim for various languages have generally been easier and work mostly without having to do anything other than perhaps installing a plugin for syntax highlighting. In Emacs I find myself wrestling with several different modes, several of which don't cooperate with each other. I have to add hooks for every language for every mode I want to integrate into it. Also, sometimes they heavily conflict with evil-mode, which is also remarkably annoying.
I hope that at some point Emacs with evil-mode will truly become the best of both worlds, but right now vim still feels faster, easier to use, and more consistent (obviously) with vim editing paradigms.
I used mupdf for years. Then I discovered llpp (a wrapper on top of mupdf). I never went back since, this is my favorite pdf reader by far :)
also, clicking on a listing gives details about what is vim-like for that item
EDIT: actually realised that feh has a --conversion-timeout param to help with svg files. But well, imv also supports gif!
This comment was written in a floating Neovim window opened by Tridactyl.
So in this case, `M-x save-buffers-kill-emacs`, or simply `M-x kill-emacs`, could have done the job.
(if this still didn't work, you could even have written "(kill-emacs)" in a buffer and ran it with `C-x C-e` :D )
Sort of the inverse of Emacs.
Vim is a powerful idea that has many implementations.
Emacs is an environment to run emacs-lisp, a language based on another powerful idea - Lisp.
People unfamiliar with Vim philosophy often scoff: "Why do you need to control everything with h/j/k/l. Why all this modality crap?" And the answer is: Because it gives you incredible control over the text. You'd feel empowered. And text to us humans is everything, especially us: software developers, writers, etc. We live text, and we breathe text, we stare at it all day long, we type it, we manipulate it. And if there's a proven method to make it even just a bit slightly better, how stubborn and stupid one has to be not to give it a try?
People unfamiliar with Emacs often scoff: "Why do you need to run everything in Emacs?". And the answer is simple: Because it gives you incredible control over things beyond the text. Everything is connected. I can schedule my work, and I can track my time spent on it, I can take notes without leaving the context of my work. I can jump into the file manager and edit filenames like it's just text, and then submit my changes - it will do it for all the files. I can select multiple files and see the git-log of modifications to those files. I can submit my changes and update the status of the ticket in the bug-tracking system without leaving the context I'm in. When someone sends me an email, I can link that email to the item in my Org-agenda. And everything is so flexible, and even when you need to switch between projects and have to re-configure things you don't have to restart things, you don't have to change the context, you stay "in the zone." You'd feel empowered.
People often debate what's better Vim or Emacs, often without even having the slightest understanding of what each of them has to offer.
You use the listed apps because you wish you were in vim, sort of.
When you log in to a strange or bare system and need to edit, you wish you had vim. But at least you'll have vi, almost as good.
Vimium - Vim for Chrome
Ideavim - Vim for IntelliJ/PyCharm/WebStorm
UPDATE: It does have a category of plugins.... it's a separate tab at the top disguised as a button