4 ms·
I had a brief play around with the example, and pretty quickly came across bugs and unimplemented commands (for example: 'b', 'e' and 'O' are missing, but 'o' a
by thristian 15y ago
I had a brief play around with the example, and pretty quickly came across bugs and unimplemented commands (for example: 'b', 'e' and 'O' are missing, but 'o' acts like 'O'). I like the way the cursor changes colour to hint at the current mode.
However, what I'd really love would be a bookmarklet I could click to Vi-ify every <textarea> on the current page. I've got "It's All Text" set up in Firefox to open <textearea>s in gvim, but it's still clunkier than editing right there in the page.
- arnorhs 15y ago+1 on that bookmarklet. Would be very helpful in a lot of cases.
- tmhedberg 15y agoThe Pentadactyl plugin for Firefox (http://dactyl.sourceforge.net/pentadactyl/ http://dactyl.sourceforge.net/pentadactyl/), which is a better-maintained fork of the well-known Vimperator, allows you to hit <C-T> in any textarea or text input to enable Vim-style keybindings inline. <C-I> opens the text for editing in an actual Vim instance, like the plugin you mentioned. Of course, Pentadactyl changes a lot about how the browser works beyond just text editing, so it may not be for everyone.
- mahcuz 15y agoI can't live without pentadactyl.
- dredmorbius 15y agoNice. I swear by Vimperator myself.
- haridsv 15y agoYou can use jVi plugin that automatically enables vi bindings on text boxes.
- ElbertF 15y agoBookmarklet: javascript:(function(){var d=document;var s=d.createElement('script');var t=d.getElementsByTagName('textarea');s.setAttribute('src','http://webvi.googlecode.com/svn/trunk/lib/webvi.js);d.body.appendChild(s);for(var i in t){if(typeof t[i]=='object')t[i].setAttribute('class','webvi');}webvi_init();})();
- thristian 15y agoThanks for that! I had to make some changes to get it working on my machine: javascript:(function() {var d=document;var t=d.getElementsByTagName('textarea');for(var i in t){if(typeof t[i]=='object') t[i].setAttribute('class','webvi');}var s=d.createElement('script');s.async=false;s.setAttribute('src','http://webvi.googlecode.com/svn/trunk/lib/webvi.js');d.body.appendChild(s);webvi_init();})(); In particular, you missed a ' in the .setAttribute() call, and I had to set .async=false on the script element so that it would load and execute it before trying to call webvi_init(). EDIT: No, that doesn't work either. It runs in Firebug if I paste it into the console and remove the "javascript:" prefix, but it doesn't run as a bookmarklet: it just complains about webvi_init() not being defined, even though the async flag is cleared. :(((
- kree10 15y agoI got it working on Chrome by executing webvi_init() on s.onload(): javascript:(function(){var d=document;var t=d.getElementsByTagName('textarea');for(var i in t){if(typeof t[i]=='object') t[i].setAttribute('class','webvi');} var s=d.createElement('script');s.setAttribute('src','http://webvi.googlecode.com/svn/trunk/lib/webvi.js');d.body.appendChild(s);s.onload=function(){webvi_init();};})();
- thristian 15y agoThat got it working, thanks! Then I tried to write a comment in HN using WebVi in the reply box, and after I hit 'Submit', the comment that actually got posted was just 'M' instead of what I (thought I) wrote. Ah well, early days yet. :)
- rix0r 15y agoNo kidding. The first thing that I tried immediately wasn't supported (capital 'C' to start typing over the first line). Would be very nice once it gets more mature, though.
- super_mario 15y agoI use Pentadactyl with Firefox. It allows you to use familiar vim commands to navigate the web completely without mouse. It's really fast way to search for things and lookup information (which I do a lot), but it also supports limited set of VIM commands in text areas, about 60 or so commands. It's useful when you don't want to edit in external VIM process (which you can do as well, this is configured out of the box).