Hacker Timesnew | past | comments | ask | show | jobs | submitlogin

Kudos to the developers for listing non goals. Too many software projects lose focus and become bloated because they take on features that are secondary to the main purpose. Projects may refrain from listing non goals for fear of excluding people who may want some of those features.

And looking at the list, there are some pretty nice features excluded. For example network support, or editing compressed or tar files. I guess the expectation is that these can still be accomplished by leveraging commands outside the editor. This is a clean approach.

Okay, but no diff mode? vimdiff is fantastic! And I'm not sure how you recover that functionality without multiple workspaces. Maybe the answer is you don't. Use vis for normal editing and pull out vimdiff only when you need it.



concerning vimdiff: one of the goal is to get vis to also work in server mode and be embeddable. it should then be possible to create a diff tool that uses vis for the editing.


That sounds fantastic.

Very often I find myself editing outside of vim and wishing vim style editing were there. Recreating optional vim key bindings for every app that has text is clearly not realistic. Getting as many things inside of vim as possible is just tantalizing enough that a lot of people (myself included) try it. It's better than nothing, but results in some very hacked together tools.

Embedding vim (or in this case, vis) inside of other things would be a much better solution.


So instead of the vim philosophy of embedding every functionality within vim, this potentially embeds vis in every functionality? I actually like that--much more composable.


I believe (and I may be wrong) that the vim philosophy is actually to embed vim in things rather than embed things in vim. They've just lost track of that a little over time.

See also :help design-not: 'Vim is not a shell or an Operating System. You will not be able to run a shell inside Vim or use it to control a debugger. This should work the other way around: Use Vim as a component from a shell or in an IDE. A satirical way to say this: "Unlike Emacs, Vim does not attempt to include everything but the kitchen sink, but some people say that you can clean one with it. ;-)"'


You're right, and I sold vim a little short there, compared to something like emacs.

More accurately, I meant that when someone wants to combine vim with a functionality they tend to implement it as a plugin with vim as the host and interface. I won't speak for anyone else, but my vimrc tends to accumulate a lot of behavior such that it's still a kitchen sink--it just wasn't included with the initial distro.


The great thing about vim is that it'll always be there as a fallback.

I keep a file with my passwords, encrypted with Vim's builtin encryption. Neovim removed that feature. If I ever switch to neovim, I can still use vim when I need to open that file.


Maybe it's even better if you migrate your password file to a credible implementer of crypto. Like gpg.


Or, perhaps a password manager like 1password.


TIL that Vim supports encryption out of the box. Thanks :)


here's some more interesting, related stuff on it - https://www.reddit.com/r/ReverseEngineering/comments/42v21h/...


For a non-vim user - can you describe what vimdiff is please?


vimdiff is a mode within vim to compare differences between buffers. It allows side-by-side comparisons like modern GUI diff tools by showing buffers in different 'windows' (vim screen splitting). You could also open multiple window in this mode to make vimdiff behave like a 3-way merge tool. It also has commands to pick hunks from different buffers into the merge buffer.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: