Live data from Hacker News

Use GNU Emacs

www2.lib.uchicago.edu

291–300 of 301 posts

Re: Use GNU Emacs

#291

Earlier quoted context omitted.

> I rarely hear people talking with excitement about WebStorm or VS code. VSCode? It's got its fan base and it's quite vocal. Actually, Didn't VSCode collate the majority of the former Atom users, as Atom collated the majority of SublimeText before it?

First, interesting (and proper) user of "collate." To me, until this moment, it meant basically "to sort," but I looked it up to see if I was wrong. It means to "collect and combine in order." Neat. I'm an editor vagabond. I went from Ed 4 to Notepad++ to JEdit to UltraEdit to TextPad to Sublime Text to Atom to VS Code. Of all of these, Sublime Text is the one I still use every day. TextPad on Windows was the other o…

Thanks for noticing. I had to double check as well :p

I'm also on the lookout for my next "forever home" but I set the bar to only try a modal editor that acrually differs from Vim's modes. So, modal without vim-mode.

Re: Use GNU Emacs

#292
post #194

Earlier quoted context omitted.

Most people don't care about that as a qualification.

I would assume that many people here do some work on free software. If people producing free software are not able to comfortably develop free software using only free software , then we have lost something important.

Well, feel free to try and bridge that gap.

Emacs is likely to continue to exist for a long time, but the gap between it and modern IDEs is also likely to widen over that same timeline.

Re: Use GNU Emacs

#293
post #245

Earlier quoted context omitted.

We likely have lost something. It's like global warming. Everybody talks about it as if they care, but if you still drive a car, do you actually care? No. Not enough to stop contributing to global warming. It's the same thing with free software. I care, but not enough to stop me from using the easiest thing out there to use regardless of whether or not it's free.

Let’s not exaggerate; many people do care enough to have it affect their behavior. If there’s something you “care” about, but this does not affect any decisions you make in any way, do you actually care about it?

That's a foolish binary.

You can care about something, but have other contributing factors to your decision that override that care.

I care about the environment, but I still drive an internal-combustion vehicle, because NOT doing so isn't really an option where I live.

I care about issues of poverty, but enough to minimize all our expenses in order to give away more funds, because we want to be able to enjoy our lives.

Re: Use GNU Emacs

#294

Earlier quoted context omitted.

There are plenty of ways of managing multiple buffers, and tabs is... just one of them, and, it's just not good... Complaining about it just means you don't understand how to use the editor you are complaining about. These tabs are for people who come from another editor and think they need tabs. Similar to how you can have scrollbars or panels with buttons to do things in Emacs, but they aren't there to improve edit…

> What do you use for managing multiple buffers? Ibuffer Some people use Helm or Projectile. There's a whole section in the Wiki about it: https://wikemacs.org/wiki/Buffer_management > The tabs in emacs are different than the ones in vscode. Just forget tabs exist in Emacs. Like I said, they are for people who are used to have tabs, but serve no purpose if you use Emacs. It's like if you were trying to use Photoshop…

Clearly you are not understanding what tabs in emacs are... it's pretty much a visual way to identify windows-configuration-to-register, and instead of doing C-x r w REG / C-x r j REG all the time you have a nice automatic way...

(please read the emacs manual the other post of this thread as posted)

Re: Use GNU Emacs

#295

Earlier quoted context omitted.

There are plenty of ways of managing multiple buffers, and tabs is... just one of them, and, it's just not good... Complaining about it just means you don't understand how to use the editor you are complaining about. These tabs are for people who come from another editor and think they need tabs. Similar to how you can have scrollbars or panels with buttons to do things in Emacs, but they aren't there to improve edit…

> What do you use for managing multiple buffers? Ibuffer Some people use Helm or Projectile. There's a whole section in the Wiki about it: https://wikemacs.org/wiki/Buffer_management > The tabs in emacs are different than the ones in vscode. Just forget tabs exist in Emacs. Like I said, they are for people who are used to have tabs, but serve no purpose if you use Emacs. It's like if you were trying to use Photoshop…

>> What do you use for managing multiple buffers?

> Ibuffer

> Some people use Helm or Projectile. There's a whole section in the Wiki about it: https://wikemacs.org/wiki/Buffer_management

I'm familiar with and have used Helm, Projectile, and project.el. I've also read that Wiki quite a few times :)

>> The tabs in emacs are different than the ones in vscode.

> Just forget tabs exist in Emacs. Like I said, they are for people who are used to have tabs, but serve no purpose if you use Emacs.

That's not true.

I use both Ibuffer and tabs. I effectively use tabs to hold window configurations and project buffers. That means instead of having to pick related buffers out of ibuffer I just switch to tab `proj1` and things are probably how I need them already. I suppose I could use registers, but that seems like more steps.

I'll use this ibuffer state with two projects open as reference for my next example:

     MRL Name                    Size Mode             Filename/Process
     --- ----                    ---- ----             ----------------
    [ Default ]
      %  *Help*                   506 Help
     *   *proj1-eshell*            41 Eshell           /tmp/proj1/
      %  proj1                    212 Dired by name    /tmp/proj1/
     *%  *Completions*            134 Completion List
     *   *proj2-eshell*            41 Eshell           /tmp/proj2/
      %  proj2                    212 Dired by name    /tmp/proj2/
  foo                        0 Fundamental      /tmp/proj1/foo
  bar                        0 Fundamental      /tmp/proj2/bar
  *scratch*                145 Lisp Interaction
     *%  *Messages*              1697 Messages
     *%  *Async-native-c...       228 Fundamental
With ibuffer if I wanted to start working on `proj1` I'd need to replace `tab-bar-select-tab` with:

- `C-s foo RET` to open the foo buffer - `C-x p e` to open the eshell buffer

I don't have to do that if I use tabs because the window configuration was already in that form.

If I had many source files open or some other more elaborate window configuration it's even more unwieldy to not use tabs. Imagine this example scaled up to with `proj1` and `proj2` having `foo2` through `foo6` and `bar2` through `bar6` each visible in a window split 3x3.

Each time I switch projects I wouldn't want to manually recreate that split. I may not even remember it. Even if I created a register I may not remember that I created a register.

However if there is a tab that already contains that window configuration it is unavoidable because that tab holds the context for me.

I don't see any other way to get this functionality without tabs or without me "just remembering".

In case you have some counter-example in mind, it'd be good to work from a common example. Here's the bash snippet I used for the example above:

    cd /tmp && mkdir proj1 && cd proj1 && git init && touch foo && cd .. && mkdir proj2 && cd proj2 && git init && touch bar
>> tab == buffer in vscode

> Not sure what you are trying to say... Do you mean a "tab" in VSCode terminology is equivalent to "buffer" in Emacs terminology? -- If so, that's not true. VSCode has a number of fixed windows, which cannot have interchangeable contents. It has a window dedicated to showing text files, it has a window dedicated to interaction with shells, it has a window dedicated to interaction with filesystem etc. While this is really inconvenient and the lack of generic approach is really hurting due to inconsistencies between these windows, that's how they chose to do it.

I meant to express that vscode tabs are more limited than emacs tabs.

>> I used to think this, but my mind was changed after seeing many experienced emacs users that do prefer using scrollbars

> I haven't met a single Emacs user who'd use scrollbars. I probably met about 2-3 dozens. Most wouldn't even know what they look like. Scrollbars aren't well-integrated into the rest of interaction with the program. It's a handicap if you use them. I cannot think about a single reason, a single situation in which scrollbars would be preferable to other methods of navigation. They are less precise, slower and in some cases impossible to implement (eg. infinite buffers).

Scrollbars are the least convincing example of my point. The menu-bar and context menu are much more compelling I'd say. FWIW I don't actually use visual elements at all and just use the keyboard.

Re: Use GNU Emacs

#296

Earlier quoted context omitted.

> What do you use for managing multiple buffers? Ibuffer Some people use Helm or Projectile. There's a whole section in the Wiki about it: https://wikemacs.org/wiki/Buffer_management > The tabs in emacs are different than the ones in vscode. Just forget tabs exist in Emacs. Like I said, they are for people who are used to have tabs, but serve no purpose if you use Emacs. It's like if you were trying to use Photoshop…

Clearly you are not understanding what tabs in emacs are... it's pretty much a visual way to identify windows-configuration-to-register, and instead of doing C-x r w REG / C-x r j REG all the time you have a nice automatic way... (please read the emacs manual the other post of this thread as posted)

> it's pretty much a visual way to identify windows-configuration-to-register, and instead of doing C-x r w REG / C-x r j REG all the time you have a nice automatic way...

That's a great succinct way to put my longer elaborate example that's a sibling to this response.

Re: Use GNU Emacs

#297
post #37

I’ve been using Emacs for ~15 years right now, but I don’t recommend it for the last few. I love it, it’s great, and as many others, I tried to move out of it but there was something I couldn’t do I KNEW I could get in Emacs and it frustrated me so much I kept going back. But I don’t think it brings a lot of added value. There are many very very powerful IDEs and editors which offer out of the box great UX and featur…

I disagree 100%.

Emacs is the best. I do not hesitate to recommend it. Will it work for you? I don't know. Might it be exactly what you were looking for? Yep! That's how it was for me: it gave me everything I ever wanted and more. Period.

Re: Use GNU Emacs

#298
post #262

Earlier quoted context omitted.

So, put them all in a central location. It's very doable, for I have this very thing in my config. https://www.emacswiki.org/emacs/BackupDirectory

Exactly. Did you miss the gp comment?

[deleted]

Re: Use GNU Emacs

#299

I have been using emacs since around 2005. If you are looking to immerse yourself in emacs, then I highly recommend switching your windows manager to EXWM [1]. If you are looking to get over the learning curve, then I recommend buying the book Mastering Emacs [2]. If you are interested in learning new and creative ways to use emacs, then I recommend attending the next emacs conference [3]. Also, please join #emacs on…

A bit off topic but a few years ago you posted about a calendar API, did you ever find a good one [0]? I was looking to use one too so was wondering if you wanted to discuss more about it and what your use case was.

[0] https://news.ycombinator.com/item?id=16593119

Re: Use GNU Emacs

#300
post #245

Earlier quoted context omitted.

Let’s not exaggerate; many people do care enough to have it affect their behavior. If there’s something you “care” about, but this does not affect any decisions you make in any way, do you actually care about it?

That's a foolish binary. You can care about something, but have other contributing factors to your decision that override that care. I care about the environment, but I still drive an internal-combustion vehicle, because NOT doing so isn't really an option where I live. I care about issues of poverty, but enough to minimize all our expenses in order to give away more funds, because we want to be able to enjoy our liv…

It’s not meant to be taken as an absolute binary; it’s a question one should ask oneself. If you think you “care” about something, but never allow it to influence any decisions, you should really question yourself whether you actually care or not. As you say, the answer might very well be “Yes, I care, but there aren’t actually any options to express my precise level of care. The choice I make might be the same as if I didn’t care, but that’s because choices are limited, and my decision is ‘rounded up’ to the same choice I would have made if I did not care.” It is valuable to examine one’s own choices like this, because it causes you to notice when an alternative which is acceptable turns up.
Post reply on HN