Live data from Hacker News

Vim 8.0 is coming

github.com

211–220 of 420 posts

Re: Vim 8.0 is coming

#211

Dropped the support for MS-DOS. It was too big to fit in memory. This is a little surprising since the latest version of Emacs still supports MS-DOS[1]. If anything, you'd expect Vim to be the smaller and faster choice but it seems this isn't the case anymore... Then again, I don't really understand the culture of all the customisation/plugins/etc. around text editors; part of the reason why I originally chose Vi(m)…

My head turned around. I read it like Vim loads MS-DOS, and I thought, why would it do that? But then it occured to me dat this means Vim can run under MS-DOS. It's been so long since I've used MS-DOS as OS, I can't imagine it anymore. To me it's just a program that is run by another something.

Vim _cannot_ run under MS-DOS. It hasn't worked for years, that's why Neovim removed DOS support 2 years ago. The cries of "losing compatibility" were uninformed fear/uncertainty/doubt.

Vim also doesn't run on OS/2 and other platforms, though the Makefiles have not yet been removed.

Re: Vim 8.0 is coming

#212

Earlier quoted context omitted.

The thing is, I'm a programmer. I want to extend my tools with code, not configuration. The power of the command line is not so much that it's a command line -- the power is that it is a programmable environment. I'm not limited to configuring what the tools are doing on my behalf. I'm writing my own tools. I think this is the biggest draw for Emacs. It's a fully featured lisp development environment. If you want to…

> "I want to extend my tools with code, not configuration." You can do that with Visual Studio too with Visual Studio Extensions. You can also manage extensions (including those from other users) with a built-in package manager, just like in Emacs. Here's a Visual Studio Extensions tutorial if you're interested: https://channel9.msdn.com/Shows/Visual-Studio-Toolbox/Buildi...

"just like in Emacs."

There are many thing you can do, but it really, really isn't just like emacs.

Re: Vim 8.0 is coming

#213
post #162
post #10

Earlier quoted context omitted.

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…

At my last job, I was doing mostly Java server stuff. I switched between Vim and Eclipse seamlessly, depending on what task I was trying to accomplish. Vim is better at plain text editing, Eclipse is better at navigating convoluted Java hierarchies or debugging Java code. For me, those tools are not exclusive but complementary.

Have you tried Vrapper, or any other Eclipse Vim plugin like viPlugin or Eclim?

Or if you use IntelliJ Idea it also has a plugin for Vim

Re: Vim 8.0 is coming

#214
> Plugins keep growing and more of them are available then ever before. To keep the collection of plugins manageable package support has been added. This is a convenient way to get one or more plugins, drop them in a directory and possibly keep them updated. Vim will load them automatically, or only when desired. See |packages|.

Is this going to replace pathogen?

Re: Vim 8.0 is coming

#215
post #179

Earlier quoted context omitted.

That's another misconception GUI people seem to have. You can have nice windows and color schemes in Terminal as well (even on Windows is you install MSYS2). Except you get absolute control over your windows layouts and behaviors with tmux and friends. And you don't have to reach for the mouse to interact with any of them.

Looking forward to drop shadows and brushed-metal in tmux, which you shall promptly post. Also fullscreen exposé-like dashboard with previews would be nice.

Funny enough, iTerm2 has expose for its tabs, but I never use it. It's just not how I work. Drop shadows are not needed, since in iTerm2 or tmux the entire active windows is brighter and all others become slightly greyed out, so you never confuse what has focus.

Bushed metal on the other hand is not something I want or desire.

Re: Vim 8.0 is coming

#216
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…

I say this as an IDE guy (I use Qt Creator, VS and Eclipse at work all day and PyCharm for my quick hacks). I've been picking up some emacs here and there, there are a few huge advantages to something like emacs over a typical IDE:

- You can just live in it. You don't have to leave. I watch TV using dired to run mpv and use org-mode for my todo list. It's all right there.

- Once you get used to one set of keyboard shortcuts, you can harness an enormous amount of power throughout the whole environment. This is true in some IDEs too, but IDEs don't usually offer

- Rust. Rust is actually one of the main reasons I started picking up some Emacs. There are no good Rust IDEs. There's crappy VS and Eclipse plugins. There's Atom plugins, but Atom freezes randomly when running code with Cargo and the DPI scaling still doesn't work properly on Windows. SublimeText was the only thing I could find that worked, and while it worked I wasn't willing to commit $70 to buying a text editor. Then I tried Emacs and it works absolutely beautifully.

- Emacs has really take advantage of the GUI paradigm too, check out the minimap: https://www.emacswiki.org/emacs/MiniMap It's not just some outdated console application that no one uses anymore.

- You don't need a different IDE for when you're writing python vs C++ vs Javascript. There's no switching. Just open whatever you want in that permanent emacs session you have running.

- Most if not all IDE features are actually available easily via plugins, yes, there's a little configuration involved but most of the time it's not too bad. And I'm a tinkerer so I really don't mind.

Overall, IDEs are great if you just want to sit down and code without the tinkering. But if you're willing to put the work in, I think you can get much more comfortable in something like Emacs where you have deep flexibility and access to most (if not all) of the same features once they're set up. I can definitely see the appeal. Especially of really unique stuff like org-mode that you just can't get anywhere else.

Re: Vim 8.0 is coming

#217
post #212

Earlier quoted context omitted.

> "I want to extend my tools with code, not configuration." You can do that with Visual Studio too with Visual Studio Extensions. You can also manage extensions (including those from other users) with a built-in package manager, just like in Emacs. Here's a Visual Studio Extensions tutorial if you're interested: https://channel9.msdn.com/Shows/Visual-Studio-Toolbox/Buildi...

"just like in Emacs." There are many thing you can do, but it really, really isn't just like emacs.

> "There are many thing you can do, but it really, really isn't just like emacs."

"a built-in package manager, just like in Emacs."

They both have built-in package managers for extensions. I don't think this is a controversial statement.

Re: Vim 8.0 is coming

#218
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.

Hopefully servo will be merged into firefox within 10 years

Re: Vim 8.0 is coming

#219
post #98
post #93

Earlier quoted context omitted.

You may want to consider looking at Evil mode, which gives you a very close approximation to the vim editing bindings in emacs. I've been using it as part of the spacemacs distribution for a while now and find it to be the best of both worlds.

Evil mode is slower than vim. And also you are in evil mode only during the editing phase. All other menus drop you back to default emacs keybindings and that is very painful experience. I used evil mode for a couple of years and still just went back to vim.

Personally my muscle memory adapted to this discrepancy, just as it did when starting with Vim (I started with Vim about 10 years ago and moved to Emacs+Evil about 3 years ago).

Now I'm somewhat the opposite, I expect everything else to have Emacs bindings, except when I'm directly editing code.

Re: Vim 8.0 is coming

#220

Earlier quoted context omitted.

Yes, but writing a Visual Studio extension (or Eclipse, etc.) is much higher friction than Emacs. In emacs, I can just open a buffer in emacs-lisp-mode, write a quick function, immediately eval it and start using it. The instant feedback means that quick, small customizations are very low cost. It's like the difference between writing a code generator for Java vs using macros in Lisp.

I see. Can you give me an example of a function you wrote in that way?

Not OP, but a very quick and simple example of something I put in my .emacs very long time ago:

  (defconst trc-comment-keywords "\\
This defines a function #'add-comment-keywords and adds it as a hook to the "open file" operation. The function highlights all matches to the regexp in trc-comment-keywords so that they're highlighted in the source code using a modified font-lock-warning-face.

This is an example of something you could just type in and evaluate right there, in your buffer. Later, you can save it in your init file to have it always enabled.

A more complicated example of related code I wrote with some help from the Internet and the Emacs documentation:

  (defun list-comment-notes ()
    "List all TODO/FIXME/HACK, itp. in a new buffer for reference."
      (interactive)
    (save-excursion
      (goto-char (point-min))
      (let ((collected-lines '()))
        (while (re-search-forward trc-comment-keywords nil t)
          ;; collect lines
          (setq collected-lines (cons 
                                 (format "%d: %s" (line-number-at-pos) (grab-current-line))
                                 collected-lines)))
  
        ;; generate a new buffer
        (let ((notes-buffer (generate-new-buffer (concat (buffer-name) "-comment-notes"))))
          (set-buffer notes-buffer)
          ;; dump collected stuff to here.
          (dolist (a-line collected-lines)
            (insert a-line)
            (insert "\n"))))))
What it does is it scans the current buffer for all occurrences of the keywords and lists them in a new buffer (with "-comment-notes" appended to the name). It's a crude function that could use some improvements, but it works well enough and is now just a M-x list-comment-notes away. Or, with the way M-x works, just M-x l-c-n away. Or I could bind it to a key.

The great thing about Emacs is that all you need to extend it is to type the source somewhere. No need for creating projects, build scripts, rebooting your editor, etc. You can evalute and reevaluate the code until it does what you want. Lisp interactivity, which Emacs inherits, is addicting and still unparalleled in other programming languages / environments.

Post reply on HN