15 ms·
Neovim v0.2.1 released
- jdonaldson 9y agoHighlights include an api for a built in Lua(JIT) : https://github.com/neovim/neovim/pull/4411 https://github.com/neovim/neovim/pull/4411
- kosinus 9y agoIsn't LuaJIT stuck on Lua 5.1, and no longer in development?
- rijoja 9y agoexcellent opportunity for somebody to step up!
- wruza 9y agoFirst of all, it was never unmaintained, and has two parts: interpreter and jit-compiler. The interpreter is rock-hard and was battle-tested in many production environments for years. There is nothing to do in it anymore[1]. Jit part is under active development. For one, among many others, they recently patched GC to remove the famous 2Gb memory restriction for LuaJIT. Jit was also always production-ready, but their sense of “ready” is too responsible, so their current version is beta3. [1] yeah, the language doesn’t have to change and “evolve” constantly, if its roots were planned thoroughly.
- _dcwr 9y agoIt's 5.1 compatible plus some nice-to-haves from 5.2: http://luajit.org/extensions.html http://luajit.org/extensions.html I wouldn't call it 'not in development' and even if, then 5.1 is a fine version of Lua and LuaJIT is battle tested very well and rock solid still. Changes in Lua 5.2 and 5.3 are breaking (and some are deep, like the ints, bit ops, function environments) but most of 'usual' code is compatible between 5.1, 5.2 and 5.3. I learned Lua 5.2 and then went back to 5.1 when 5.3 came out because I didn't like the int stuff in 5.3 and didn't want to use an obsolete version (5.2) with no upsides (5.1 has the upside of being compatible with LuaJIT).
- vog 9y agoTo those who downvoted FRex's comment: Do you care to elaborate? I don't see anything wrong with it. (And it's definitely more insightful than the slightly older sibling comment, which apparently has not been downvoted.)
- oblio 9y agoMaybe someone fat-fingered it?
- vog 9y agoNo, it had more than one downvote when I upvoted it, i.e. stayed grey after upvote. Moreover, I just saw it being black, then grey, then black. So it still receives a mix of downvotes and upvotes. Very strange.
- aidos 9y agoI tried to upvote and it's still grey. There's obviously something wrong in the information, but those who know better aren't taking the time to impart that to us.
- FRex 9y agoIf you or someone can't come and point out that 'obviously wrong something' then don't say that just because a comment got downvoted for some bizarre reason. That same comment now has 11 points. I hope it didn't now become 'obviously right' to you just because of the point count. The fact this (going into 'grey' or 'black' with 0 retort or correction given by anyone) even happened is just stupid to me. I believe nothing I said is wrong and anyone is welcome to prove me wrong. I also answered the original questions/doubts clearly (Is LuaJIT stuck on 5.1 and no longer in development - no and no and there is nothing wrong with 5.1 itself). The only downside could be how brief I was but I gave plenty of keywords ('ints', 'bit ops', 'function environments') for an astute reader to google or look up in the documentation of Lua (which is a Ctrl + F friendly one pager plain HTML with minimal styling and no JS, I have it as a single .html file with inline PNG and css on my desktop to use offline). This stealthy downvote drama is why I use HN passively, logging in only to do a fire and forget comment. I've just avoided seeing this entire downvote debacle unfold in real time during my normal browsing (and thus avoided wondering what's going on or if I were providing people wrong information or something else wrong on my part, since it's not like any downvoter told us why they did it) because of that habit.
- landr0id 9y agoSo what's this API do? Allow you to ditch vimscript for lua or something else?
- pmoriarty 9y agoIt's been possible to script vim in Lua (and various other languages including Python, Ruby, Perl, and even Scheme) for a long time.. long before neovim existed. The problem is that the overwhelming majority of vim scripts are written in vimscript. So even if you switch to using some other language to script vim, virtually all the rest of the vim ecosystem will still be in vimscript.
- fmoralesc 9y agoSure, but now, because neovim is guaranteed to have lua available (not necessarily the case in all vim builds), you can count on it, which in turn eases the problem of consuming the scripts.
- alphaalpha101 9y ago>The problem is that the overwhelming majority of vim scripts are written in vimscript. And thank god for that. Vimscript is an actual scripting language. Lua is... not.
- DigitalJack 9y agoNot the same. At least pre vim 8. I don't know if this has changed. https://geoff.greer.fm/2015/01/15/why-neovim-is-better-than-vim/ https://geoff.greer.fm/2015/01/15/why-neovim-is-better-than-... Example for python from the post import vim # Show current directory in Vim cwd = vim.eval('getcwd()') vim.command(':Explore %s | redraw' % cwd) Technically it's python, but it's a shim.
- superflyguy 9y agoWho is that a problem for?
- baxtr 9y agoOh good ol times... :wq
- erikb 9y agoActually, why do so many people still use :wq? Vim has :x which does the same thing and saves a keystroke and saving keystrokes is what Vim is about, right?
- Snoddas 9y agoMuscle memory
- AndrewOMartin 9y agoI didn't know about it until now. It might be because after a change I know I want to :w, but haven't yet decided if I also want to :q.
- erikb 9y agoIn such a situation I also do the :w and :q separately without even considering :x.
- ComputerGuru 9y agoZZ is way faster than either, especially on Dvorak.
- erikb 9y agoWhat is the difference in Dvorak here? Is shift not used for upper case letters?
- ComputerGuru 9y agoNo, but w and q are on opposite sides of the keyboard.
- oblio 9y agoI wonder if it's stable on Windows now. I tried 0.2.0 but it felt more like a proof of concept. To be honest the version number kind of implies that this is not a super-stable version :)
- fmoralesc 9y agoA lot of work seems to have gone into the windows version for 0.2.1, I would try it again.
- superflyguy 9y agoIt's not, I still get a white background I cannot change, even with nvim-qt -- -u NORC. It's been fine on Linux for ages.
- seren 9y agoFrom a quick test, :terminal did not work on my windows setup on 0.2, it is now working (which is a least a new feature of neovim vs vim)
- justinmk 9y agoEvery Neovim release is considered stable. The leading zero means we may break backwards-compatibility in some cases (but we rarely do; we are considering 1.0 after 0.3 is finished).
- oblio 9y agoFor Windows, are you adopting a GUI as part of the packages supported by the official devs? A GUI-less Windows editor isn't of much use, especially considering the rather sorry state of Windows terminals (even with the enhancements in Windows 10).
- berfarah 9y agoMy favorite thing in this release is that shift+tab works in the terminal now.
- adtac 9y agoTo unindent a visual selection? The "correct" way to do that is "<" in visual mode.
- tgb 9y agoWhat has always annoyed me about this is that < and > (de)indent but also unselect the text and put you back in normal mode. Why? I often want to indent more than once but don't want to count ahead of time how many it will take, but that means I have to reselect the text N times. Is there a good way around this? Edit: just found that gv will reselect the last visual mode selection, which makes this much less cumbersome.
- deleted 9y ago[deleted]
- superflyguy 9y agoWhy don't you just hit . to repeat the last indent?
- dhimes 9y agoThis is the super easy way to do it.
- jenzjenz 9y agoI like to us gv as default, so I have this in my .vimrc: " Align blocks of text and keep them selected vmap < <gv vmap > >gv
- deleted 9y ago[deleted]
- 9y ago
- bpizzi 9y agoI know this may sound quite weird, but I'm actually wondering what the benefits could be from consuming neovim api from emacs. Maybe this could lead to something like having a better modal editor than what evil is already providing (and doing a great job at it), with emacs' benefits like orgmod and magit? What are my fellow hners thinking on that?
- s0l1dsnak3123 9y agoAs a Spacemacs user for over a year (and a neovim user for a few years before that, and a vim user for a few years before that), I find that spacemacs does a good job of emulating vim keybindings, but it isn't exactly right. Having neovim handling the keybindings and communicating what actions need to be taken back to emacs would let me have the great flexibility of emacs' plugin system, while retaining the vim keybindings in as authentic a manner as possible.
- nsomaru 9y agoSwitched back to nvim from spacemacs because of this. Significant cognitive dissonance when something is familiar but not exact. Have decided that just going full emacs would be a better route if the pain is going to be there anyways.
- wodenokoto 9y agoNeovim has sparked a dream in me, that every IDE in the future will have a "use vim" instead of "use vim commands", that will litterally use neovim, and give users the modal power and their preferred setup of vim combined with all the niceties of the given IDE for profiling, debugging code combined with the GUI features.
- erikb 9y agoI believe the general idea to integrate an actual Vim implementation like nVim instead of an emacs plugin would enhance the vim experience inside emacs a lot.
- hellofunk 9y ago> having a better modal editor than what evil is already providing FWIW, after using Evil for 1 year and generally liking it, it still fell a bit short for me since you are still in emacs and still need emacs keybindings some of the time, and some other modes will conflict with Evil, so it was a bit hard to maintain. I switched from Evil to God Mode which gives you modal editing in emacs but using emacs key bindings. I have found this to be a good compromise.
- joelthelion 9y agoWould it hurt to provide a five line summary of changes? This is completely unreadable for someone who doesn't actively follow neovim development.
- justinmk 9y agoNewsletter will be published in a few days.
- joelthelion 9y agoI think OP should have waited for that newsletter to post here. And people shouldn't upload changelogs like this. Of course, nobody has any control over these things :)
- jdonaldson 9y agoYou do have some degree of control, you just have to do a better job of persuading me why this was a bad idea.
- joelthelion 9y agoIf it's not you it will be someone else. People upvote the title, not the content.
- jdonaldson 9y agoetiquette stems from effective persuasion.
- hyyypr 9y agoNice to see things moving forward ! I've been a very happy neovim user for over a year now (on linux). My switch was pre-vim 8 so the ability to have things (like plugins) run asynchronously was a huge plus, but now vim has that too. For me the biggest selling point is the plugin architecture, I've been a vim user for over a decade now, and I'm only writing my own vim plugins now, because neovim allows me to do that in the language of my choice (ie. not VimL).
- desireco42 9y agoI use both vim and neovim and kick in a butt that neovim provides for vim has been awesome. It really helps make things better for all of us.
- alphaalpha101 9y ago>For me the biggest selling point is the plugin architecture, I've been a vim user for over a decade now, and I'm only writing my own vim plugins now, because neovim allows me to do that in the language of my choice (ie. not VimL). You've been able to script vim in languages other than VimL for a long time. I have no idea why you would want to, though.
- nullundefined 9y agoYou can write Vim plugins in other languages as well.
- DigitalJack 9y agoTechnically true, but practically worthless. Python example: import vim # Show current directory in Vim cwd = vim.eval('getcwd()') cmd.command(':Explore %s | redraw' % cwd) Ref: https://geoff.greer.fm/2015/01/15/why-neovim-is-better-than-vim/ https://geoff.greer.fm/2015/01/15/why-neovim-is-better-than-...
- camgunz 9y agoThis is a little unkind. Vim has actual APIs for most things you'd want to do. Ex: https://github.com/camgunz/u300Blog/blob/master/u3b.vim#L307 https://github.com/camgunz/u300Blog/blob/master/u3b.vim#L307 It's not complete coverage, but it's not "the API is just a thin Python wrapper around Vim commands as strings" as your comments suggest.
- eibrahim 9y agoWhy should I use this over vim? I am a web developer so I am mostly editing html, JavaScript, ruby and css files. I love my tmux + vim setup. Give me reasons to switch. I mean practical reasons to switch not technical implementation niceties.
- justinmk 9y agoYou shouldn't feel compelled to switch, Nvim is intentionally user-compatible with Vim. But these days it also makes sense to ask instead "why should I use Vim?" The version of Vim that you actually use probably wasn't installed by default on your main development system. So installing Nvim is the same as upgrading Vim.
- alphaalpha101 9y agoI installed vim a while ago. It updates with the rest of my system, whenever I do a @world update. The question isn't whether someone should feel compelled to switch. The question is why would someone use neovim?
- majewsky 9y agoWhat do you use as your main development system? I'm on an Arch Linux VM, so I have an up-to-date Vim 8.0. And since Vim 8.0 does terminals and asynchronous jobs now, I don't see much value for Neovim unless you have an IDE that integrates Neovim via its API.
- gjjrfcbugxbhf 9y ago> unless you have an IDE that integrates Neovim via its API. This will be the biggest win for Neovim. When something like pycharm/webstorm vim support is moved to real vim rather than a reimplementation I will change.
- jD91mZM2 9y agoI used to think in similar paths too. Honestly, NeoVim's biggest wins are a nice website, cleaner code (I think) and XDG basedir support. (And to be fair, switching on Arch is really easy since it's in the official repositories)
- sandGorgon 9y agothey are releasing linux in AppImage format. Works pretty well!
- badosu 9y agoOne of Neovim's capabilities that seems really promising is enabling rich GUI interfaces for an editor that does not simply emulate vim behaviour. An instance of this is Oni[0]. - https://github.com/onivim/oni https://github.com/onivim/oni
- sigi45 9y agoI was going to rant about this idea but it looks really good and not at all like gvim.
- baldfat 9y agoBut this looks just like a customized Vim in a terminal with what some may consider bloat. > Oni brings several IDE-like integrations to neovim: Quick Info Code Completion Syntax / Compilation Errors Fuzzy Finding Status Bar
- lsiebert 9y agoIt's not a terminal though, so you can get GUI features that terminal nvim can't do. Personally I use terminal vim not any sort of nvim (maybe I should change over but then I potentially have to maintain two sets of plugins, one for nvim and one for vim. ). No if you want to call this out, I'd call it out for the lack of features. This only supports code completion in JS and TypeScript. I have code completion plus snippets for a lot more then that with vim. Honestly if you want to wow me, someone should build a GUI configuration tool for neovim/vim. One big benefit of GUIs is that you can generally see all the possible settings with tool tips and explanations, and I can see that being useful for vimmers, especially if it did the right thing, like using ft-plugins to do filetype specific settings, instead of a bunch of one line autogroups based on file extension. Yes there are vim config generators, but the neovim api means you could programmatically query the current configuration and display it along with the options, meaning you could have interactive configuration modification.
- fmoralesc 9y ago
- starikovs 9y agoI stopped using Neovim a few months ago because of sporadic freezes. I often freezed when I was using :Glog and so on. Now I think I will give it a chance again )
- Spiritus 9y agoThat sounds a lot like this issue with jemalloc and Neovim on macOS: - https://github.com/neovim/neovim/issues/5681 https://github.com/neovim/neovim/issues/5681 - https://github.com/neovim/neovim/issues/6950 https://github.com/neovim/neovim/issues/6950
- zelos 9y agoDoes anyone have any recommendations for NeoVim GUI client on OSX? VimR is nice, but very buggy in my experience. I'm using Neovim.app at the moment after fixing a few bugs in it, but it's got plenty of issues.
- hannofcart 9y agoI wonder if you can build neovim-qt for OSX. I don't see what would stop you, since Qt is available on OSX.
- zelos 9y agoThanks for the pointer. It builds and runs well. Font rendering is fine on my MacBook's retina screen, but it looks terrible on my external monitor for some reason.
- agotterer 9y agoWhat are the benefits of neovim over vim 8?
- DigitalJack 9y agoThe main features of neovim from my point of view are the messagepack based remote API letting you write plugins in any language. Many have bindings already to go such as haskell and golang: https://github.com/neovim/neovim/wiki/Related-projects https://github.com/neovim/neovim/wiki/Related-projects This API, for example as let people write a vim plugin for VSCode that actually runs neovim in the background. It's pretty slick. From a user point of view, more plugins is probably it. I don't know if vim has it yet, but neovim has asynchronous process support, so repls and terminals are easier to use.
- babyfrank 9y agoI've been a user for over a year now. For me the biggest selling point is the plugin architecture.
- lf-non 9y agoFor emacs users, the Wilfred/remacs[1] project may be equally interesting. It is an ambitious fork of emacs, written in rust. [1] https://github.com/Wilfred/remacs https://github.com/Wilfred/remacs
- JadeNB 9y agoHow does one obtain Neovim v0.2.1 for Windows? The installation instructions at https://github.com/neovim/neovim/wiki/Installing-Neovim https://github.com/neovim/neovim/wiki/Installing-Neovim point to https://github.com/neovim/neovim/releases/download/v0.2.0/nvim-win64.zip https://github.com/neovim/neovim/releases/download/v0.2.0/nv... , and the obvious guess https://github.com/neovim/neovim/releases/download/v0.2.1/nvim-win64.zip https://github.com/neovim/neovim/releases/download/v0.2.1/nv... doesn't exist.
- justinmk 9y agoReleases page always has pre-built packages (look for "Downloads"): https://github.com/neovim/neovim/releases https://github.com/neovim/neovim/releases I've updated the wiki URLs also, thanks for mentioning it.
- lotabout 9y agoJust wondering if it is possible to use neovim as lua REPL.