Live data from Hacker News

Vim 8.0 is coming

github.com

201–210 of 420 posts

Re: Vim 8.0 is coming

#201
post #4

I have vim, neovim and emacs (and spacemacs) installed. Right now I'm trying to get into emacs a bit more. What's interesting to me, and the reason I try to keep up to date with the latest changes for all four editors, is that it's been now, what, 25 years (?) since emacs and vim started "competing" and they still are. I guess we could be saying the same in 10 years about firefox and chrome, but it still is amazing i…

Both seem to have found a local maximum for the "optimal programmer's editor" function.

Re: Vim 8.0 is coming

#202

Earlier quoted context omitted.

> "That's decidedly not true. Nor is this about customization of workflows. I am talking about actual unadulterated power to do things you cannot do in an IDE. All IDEs optimize for the average use case. If they do expose a set of advanced commands or transformations, they are hidden deep in the menus and what you can do with them is extremely rigid and limited. At most you have a few dozen commands (you would call t…

In Visual Studio, creating a custom keybinding appears to involve three dropdown menus, a dialog box, and at least two UI controls. In Emacs or Vim, it's a single line of code you add to your initialization file. I think there may be different definitions of "easy" in play here. I'll concede that Visual Studio makes custom keybindings possible , but so does any text editor worthy of even momentary consideration as a…

> "And I'll take your challenge. Here's something I can do in Emacs: I can take a spreadsheet received from a client, full of intended configuration settings for a custom internal application. I can export it as CSV, load it in Emacs as such, and extract the relevant sections of the content into tables in a plaintext Org-mode document. I can then add a function to that document, in whatever language I choose, which will receive the contents of those tables as structured data in the language's own idiom, and generate the collection of complex SQL statements necessary to implement the desired configuration. From there I can decide whether I want this SQL script inserted into the document I'm writing, or written out to a file that I can copy to a remote host and feed to the SQL monitor. Or I can instead have Emacs itself connect to the target RDBMS and apply the configuration directly. Or any combination of those. And once the document's written, I can do all this with a single keystroke. Another single keystroke exports the document to HTML, so I can share it with the client to demonstrate exactly how their intent has been translated to reality, and with colleagues so they can see what's been done."

Okay, so let's look at this. If I've understood correctly, you want to be able to generate data migration code based on a CSV file, and export that code so that it's ready to be inserted into documentation, is that a fair assessment?

So for Visual Studio, one way to do this would be to write a custom runner for Fluent Migrator:

https://github.com/schambers/fluentmigrator

https://www.nuget.org/packages/FluentMigrator/

https://www.nuget.org/packages/FluentMigrator.Tools/

Re: Vim 8.0 is coming

#203

Earlier quoted context omitted.

I'm not talking about superficial usage like that. I'm talking about productivity boosts like multiline edits, line swapping, cursor jumping over blocks, and more advanced tricks. Also about where to do all those little tweaks to the configuration you need to google for or ask a coworker about to get a hold of. Those are not discoverable with any GUI.

> ... Those are not discoverable with any GUI. But kind of easy-to-guess once you have used Windows for a while. Examples (Primarily Netbeans on Windows and Linux): Alt + shift + arrow -> move line(s) up/down or (de)indent. Ctrl + shift + arrow up/down -> duplicate line up and down etc. Most of you already know I guess but I guess there are always some who didn't realize that on Windows and Linux (desktops that is) y…

For Emacs:

> ctrl-shift-d in Netbeans which brings up a stack of my latest cuts

Eval (or bind yourself to a key): (popup-menu 'yank-menu)

Also, the whole copy-paste infrastructure works with that "stack" ("kill ring" in Emacs speak), so you can easily paste previous cuts via pressing M-y after pasting (C-y).

> regex search/replace in Netbeans. Yes, that means you can search for something(crazyregexgoeshere)(anotherregex) and replace with somethingelse-$1-$2

M-x regexp-replace; use \N instead of $N.

Besides features related strictly to understanding of Java code semantics, it's unlikely Emacs doesn't have something Netbeans has :).

Re: Vim 8.0 is coming

#204
post #10
post #4

I have vim, neovim and emacs (and spacemacs) installed. Right now I'm trying to get into emacs a bit more. What's interesting to me, and the reason I try to keep up to date with the latest changes for all four editors, is that it's been now, what, 25 years (?) since emacs and vim started "competing" and they still are. I guess we could be saying the same in 10 years about firefox and chrome, but it still is amazing i…

I became an heavy Emacs user as I could not find the comfort of Borland IDEs in UNIX, as I started to use it. Since I moved away from C++ into Java and .NET land, never felt the need to use them any longer. And nowadays, with Qt Creator, Clion, xCode, AppCode and VS, I also don't feel the need of them when I need to go back to C++. It is very good to know the basics from plain Vi, because there are still commercial U…

A good bit of my job consists of hopping onto a customer's server via SSH. Vim is about the only thing I can be reasonably confident will be installed on a standard Redhat/Centos server that I can use for looking at logs, manipulating scripts, etc.

Re: Vim 8.0 is coming

#205

Earlier quoted context omitted.

Since I happen to have the answer to both of those: `daw` and `diw` deletes a whole word (unlike `dw` which only deletes forward). They differ in what they do with whitespace; `aw` also trims trailing whitespace (or leading whitespace if there's no trailing) while `iw` leaves the whitespace alone. These two are text objects that can be combined with other commands and quantifiers, so that `yaw` copies a word without…

What's the difference between bdw and daw? I already use "b", "e", and "w" quite a lot, so the "a" and "i" infixes seem a little redundant. Is there an advantage to the infixes that I'm not seeing?

The 'a' and 'i' in this context operate on text objects. They're much more powerful than motions. For example, beyond the 'w' for word, there is 'p' for paragraph, '"' for double quotes. All of these allow you to edit the object while the cursor is inside them.

Re: Vim 8.0 is coming

#206

What does it mean to NeoVim? Does it affect it's development, split developers or anything? Is it good?

I have to think it's a direct response to neovim, and that competition between them is likely to be very good

The reason neovim was started was to add these exact features. Now that vim has them, I think neovim's work is done. Mission accomplished.

Re: Vim 8.0 is coming

#207

Earlier quoted context omitted.

According to Wikipedia ( https://en.wikipedia.org/wiki/Vi and https://en.wikipedia.org/wiki/Emacs ) both vi and Emacs are from 1976. 40 years this year!

To be fair, vim is not strictly vi although they were related. Amazing, I was 1 year old when both were started. How many other software package has such longevity? Unix and its various guises?

Not very related as it is not a software implementation, but I also find it fascinating how FORTRAN, the first notable programming language is still used today by many after 59 years of its inception.

Re: Vim 8.0 is coming

#208
post #175

Earlier quoted context omitted.

> The GUI paradigm is over 30 years old. People still stick to the mouse even though we've had ubiquitous touchscreens for almost a decade. Touch screens are not a 100% replacement for mice. They are an alternative, and for desktop/laptop PCs with vertical screens they are a non starter due to human physiology.

Mice are not a 100% replacement for keyboards. If you're doing lots of typing, there is something to be said for keeping your hands on the keyboard. Vim and emacs facilitate this much better than GUI-based editors.

[deleted]

Re: Vim 8.0 is coming

#209
post #4

I have vim, neovim and emacs (and spacemacs) installed. Right now I'm trying to get into emacs a bit more. What's interesting to me, and the reason I try to keep up to date with the latest changes for all four editors, is that it's been now, what, 25 years (?) since emacs and vim started "competing" and they still are. I guess we could be saying the same in 10 years about firefox and chrome, but it still is amazing i…

>I guess we could be saying the same in 10 years about firefox and chrome

That's pretty optimistic considering Firefox's current marketshare. Based on its momentum I'd say in 10 years, at best, I expect it to be where Opera was before it became a Chromium fork.

For now Firefox does things better than Chrome but I don't expect them to keep up when it becomes a community project. It'll be like using Opera used to be.

Re: Vim 8.0 is coming

#210
post #175

Earlier quoted context omitted.

Mice are not a 100% replacement for keyboards. If you're doing lots of typing, there is something to be said for keeping your hands on the keyboard. Vim and emacs facilitate this much better than GUI-based editors.

> Mice are not a 100% replacement for keyboards. And they're not used as such. They are used as complimentary to keyboards. On the other hand, mice-based GUIs ARE a 100% replacement for CLIs.

>On the other hand, mice-based GUIs ARE a 100% replacement for CLIs.

Really? I can automate a pipeline of GUIs? Please show me how I can automatically query a database, take that output, run complex data aggregation over those results combined with past results, send that to a remote server for storage, and email myself the result of the upload, using only a combination of GUIs.

(Points deducted for anything that involves instructing the machine to "move mouse to position (x,y)", since screen sizes may vary and where an individual GUI chooses to pop open a dialog/modal may also vary)

Post reply on HN