TE
TechEcho
Home24h TopNewestBestAskShowJobs
GitHubTwitter
Home

TechEcho

A tech news platform built with Next.js, providing global tech news and discussions.

GitHubTwitter

Home

HomeNewestBestAskShowJobs

Resources

HackerNews APIOriginal HackerNewsNext.js

© 2025 TechEcho. All rights reserved.

Vim.js – JavaScript port of Vim

227 pointsby DrinkWaterover 10 years ago

17 comments

brotchieover 10 years ago
Nice, I had a crack at doing this a while back using emscripten, but couldn&#x27;t get around that Vim&#x27;s input handling is blocking.<p>Looks like coolwanglu has found a way around this by hacking some kind of async transformation into emscripten. I haven&#x27;t looked at his code, but I suspect he specially handles known blocking libc calls. My guess is some how storing the set of stack frames when a blocking function is called so that the stack can be unwound to let the js engine continue.<p>Good stuff.
评论 #8677383 未加载
评论 #8677967 未加载
Tyr42over 10 years ago
Wow, it&#x27;s a full vim. I was expecting to find things it couldn&#x27;t do, but I ran out of things to try. Great work.<p>It did take a little longer than vim to load, but I guess that&#x27;s expected.
评论 #8677877 未加载
评论 #8677108 未加载
评论 #8677019 未加载
评论 #8677173 未加载
jqmover 10 years ago
This is very cool. Enjoyed playing around w&#x2F; it. Nice job.<p>But one thing (for whatever it&#x27;s worth) what makes vim super useful (to me anyway) is the plugins and my vimrc with custom key bindings.<p>(edit) On second look, it appears you can modify vimrc. Very nice.
prasoon2211over 10 years ago
Can someone please explain how this is different from CodeMirror vim mode? I am an emacs user and know only the basic vim commands and so, I cannot tell if there is something fundamentally different between the two implementations.
评论 #8676907 未加载
评论 #8676951 未加载
jamesbrennanover 10 years ago
This is great - my favourite part is that this works: `:!alert(&quot;Hello!&quot;)`
dangover 10 years ago
<a href="https://news.ycombinator.com/item?id=6899072" rel="nofollow">https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=6899072</a>
ludamadover 10 years ago
Very nice. It first struck me as just a curiousity but honestly I would consider using a browser plugin like this that let me edit web forms with something like this, picking up my local ~&#x2F;.vimrc. That or for the various interactive code editing tools like ipython.
评论 #8676755 未加载
Theodoresover 10 years ago
...er, don&#x27;t wish to sound negative, this crashed on me. 8Gb RAM Ubuntu box with Chrome - normally a stable computer that doesn&#x27;t do things like &#x27;swap&#x27;. I might try it again on my ChromeOS box, but, right now, that is as far as I got.
评论 #8676972 未加载
评论 #8676939 未加载
评论 #8677342 未加载
评论 #8676839 未加载
bananaoomarangover 10 years ago
Although expected, it is a little clunky&#x2F;slow to use. Fun to play around with nonetheless, but I wonder whether an Emscripten port of Neovim would be a little sprightlier.
评论 #8677327 未加载
italophilover 10 years ago
This is really interesting. Perhaps this would allow for vim on ChromeOS without messing with the linux images (crouton) or the like.
评论 #8676738 未加载
waitingkuoover 10 years ago
How can I do the pageDown and pageUp in my Mac? I often use ctrl-B and ctrl-F in the terminal. But it doesn&#x27;t work here
评论 #8678152 未加载
UUMMUUover 10 years ago
This is awesome. I&#x27;ve tried other attempts in the past but none were as smooth as this was. Great work!
bayesianhorseover 10 years ago
I can&#x27;t wait to integrate this into IPython Notebook...
评论 #8676879 未加载
make3over 10 years ago
cool. am I the only one who gets weirdly blurry text though? win8.1 latest chrome
评论 #8677735 未加载
stray8over 10 years ago
Some way to save the file?
评论 #8677293 未加载
vasuadariover 10 years ago
Brilliant work!!
Eccoover 10 years ago
Sorry for the negative tone, but what&#x27;s the achievement? Emscripten has been out for a while now...
评论 #8677294 未加载