A CEO's Guide to Emacs
blog.fugue.co
blog.fugue.co
https://github.com/emacs-helm/helm
Ace Jump is pretty incredible. All editors and IDE's should be required to implement it. Here's a video demo:
https://www.youtube.com/watch?v=UZkpmegySnc
Easy Motion does the same thing in vim: http://www.vim.org/scripts/script.php?script_id=3526
(global-set-key (kbd "C-x r l") 'helm-bookmarks)
(global-set-key (kbd "M-x") 'helm-M-x)
(global-set-key (kbd "M-y") 'helm-show-kill-ring)
(global-set-key (kbd "C-x b") 'helm-mini)
(global-set-key (kbd "C-x C-f") 'helm-find-files)
(global-set-key (kbd "C-c g") 'helm-git-grep)
(global-set-key (kbd "C-c C-.") 'helm-git-grep-at-point)
(global-set-key (kbd "C-x C-d") 'helm-browse-project)
My one complaint is getting used to C-z to drill into a directory when navigating the file system with helm-find-files. I haven't et figured out a way to map RET to do anything other than open the selected directory in Dired.The downside is that, sometimes, the hints are longer, but I've found it faster to know right away to type "wxyz" than to receive "w", "x", then "y" one at a time.
Emacs searches not only ~/.emacs but also ~/.emacs.d/init.el (and probably more) places for its init file. So you don't have to mess around with symlinks, you can just have a synced folder that is your ~/.emacs.d and have init.el be at the top of that folder.
I say this as a dedicated, daily user of emacs and co-founder of a startup. Realistically it takes a year to get the hang of emacs to the point where you are more efficient in it than in other editors. The last thing I want my CEO (and friend and cofounder) doing is battling a weird Drop symlink issue with his .emacs file.
But I do agree that org-mode is amazing :)
Unfortunately there is a misconception that you need a 10kloc init.el to be productive. Worse still are the opinionated configurations targeted at newbs.
(By the way I say this is as an emacsian)
The weird issues and workarounds are annoying, though.
I think there is something to be said about using a few (if not one) text-centric tool to get stuff done: it's much lower on your cognitive load and wears you out less.
I use Evoluent at home and HP's 3-button mouse on the go (http://www8.hp.com/us/en/products/oas/product-detail.html?oi...): while Evoluent is more ergonomic, it's too bulky to be portable.
1. Press `Escape` key
2. ":q!"
Jokes aside, text files are a wonderful medium. Not everything can be expressed easily as text, but I highly recommend using it to everybody for whatever can. Emacs may not be the best tool for less technologically literate individuals (for this Atom or Sublime Text are very good), but the format is certainly very useful. I think people should look into using the command line more, as it can be much more productive after a period of learning.I used to live in emacs - for years. Browsed the web with it, controlled music playback (via mpd) with it - everything. Nowadays, imo, a combination of Spotlight, tmux with a hotkey drop down terminal, Evernote, and JetBrains IDEs gets you 90% of the way there.
At some point you realize that work requires orders of magnitude more time thinking, reading, and communicating than it does typing. Optimizing your work environment for finger travel just doesn't make sense.
My experience is that I'd set up something like org-mode thinking, "wow, I can't wait to save hours a week by being able to juggle todo lists around at high speed without taking my fingers off the home row!" and like, that would just never be the case. In reality, all I needed was something a little bit better than a dumb text file.
ymmv. I'm sure there are power users out there who really exercise these tools to the max. But even then, I question how much time they're saving.
Broadly it's about creating a sort of fabric of textual context around your all of your personal and professional projects. It's about owning your tools as a professional.
Orgmode allows you to capture your thinking around a project in a way that's extremely adaptable to whatever structure you need.
You can create an outline of arbitrary depth with todo items, appointments, executable computation or latex.
There is literally no other environment available with that level of power.
Now even if you can assemble this from the bits of flavor of the month web services which of us will still be able to read and use our environment in 2 years? How about 25?
Cheers.
I am sympathetic to this.
If I were working alone on a decades-long project - for example, as a researcher, or academic - I'd be hesitant to use something like Evernote. I probably would use org-mode.
But, when working with other (potentially non-technical) stakeholders on projects that clock in under five years, Evernote and Asana would be my go-tos.
Text files and Evernote I use for snipping web pages, organizing bookmarks, and taking meeting minutes. For todo lists, I use text files, Evernote, and increasingly, Asana.
I don't do any brainstorming with the computer.
For me Emacs has always been a poor man's IDE.
The best replacement I got to get on UNIX to compensate for the lack of IDEs I already knew from PC and Amiga worlds.
Having migrated to JVM and .NET worlds reduced my Emacs use to machines where no other option is available. (Vi is only an option when Emacs isn't available)
If the IDE doesn't matter it is usually because the platform doesn't matter anymore.
> I have a dual monitor set up at my desk. One of them is in portrait mode with Emacs full screened all day long. The other one has web browsers for researching and reading; it usually has a terminal open as well. I keep my calendar, email, etc., on another desktop in OS X, which is hidden while I'm in Emacs, and I keep all notifications turned off.
You don't need emacs to do this. Fullscreen a JetBrains IDE and install the Org4Idea plugin.
I beat the JetBrains drum a lot, but emacs/vi users don't realize how much functionality is integrated and keyboard-driven in their products - and, importantly, it's built-in (no plugins) and sanely pre-configured. "I thought only emacs could do this" was my reaction when I switched.
It's 2015. That's a concern for practically nobody.
The problem is that those are a pile of (both subtly & grossly) different tools, none of which integrate nearly as well with one another as different emacs modes do.
And of course, you are completely unable to extend any of those as you would with emacs.
> At some point you realize that work requires orders of magnitude more time thinking, reading, and communicating than it does typing.
Emacs improves thinking, reading & communicating just as much as it does typing. Having my data in a consistent, efficient format makes it easier to read, and consequently leaves me more time to think. Being able to read & write emails, send instant messages and use the web from within the same environment improves communication.
Emacs really is the bee's knees, and I've never used anything which comes close. If only there were a good mobile-centric port (tough, I know, but my idea is to make extensive use of command interactions)…
Evernote has a hotkey for bringing up a note taking window.
OS X users can use Spotlight to bring up their favorite note taking app without touching a mouse.
You can get halfway there with a decent WM (xmonad, StumpWM and the like), but you still don't get the other half - unified and very powerful interaction, ability to tweak and instrument - and even combine together - applications, and documentation available at your fingertips. Living in Emacs makes me feel the computer is a powerful tool, not a toy.
After I discovered Spacemacs, I somewhat disagree with this, because you get so much funcionality in a well thought package, you don't need much customization at first.
It has his weak points but I find myself always keeping it fired up and using it for any text editing that doesn't require a large IDE.
I just wish there was a site to setup Emacs as the ideal IDE for say:
- Javascript - Python - Django ...
There is a Django layer in it, you can start runserver witha keystroke, open settings.py with another keystroke, run all tests, etc..
I have to say that since the Javadoc format for documentation is the best format ever, I was productive anyway.
Actually, it made me get very very quick at browsing documentation and appreciate it.
Also, by browsing documentation manually, I got to discover many neat stuff within the default-provided Java packages.
... Did you know you can do neat stuff with java.awt.Robot? ;)
Fuck this trend in web design, and fuck this site. I hate how javascript-heavy the web has become. Why do I need scripts enabled to read a page of text?
I was racking my brain trying to figure out why pages were blank on my default browser with extensions, but not on other browsers.
Could someone explains the tech aspect of this?
If noscript is enabled then how is code being executed? HTML and CSS tricks?
Expressing concern about the trend the web is going - executable code instead of open documents - is a primary concern if we want to preserve what's left of the open web. It's important to call out social problems like this so people get accurate feedback[1] about what is and isn't acceptable behavior.
[1] see B. F. Skinner and his box (operant conditioning)
That's some mouthful you've come up with to avoid involving "the article", which is the blindingly obvious context for top-level comments on a link aggregator.
> It's important to call out [...] problems like this
The HN admin seems to disagree.
What? This doesn't make sense.
> That's some mouthful you've come up with to avoid saying "the article"
I'm not referring to the article. That "actual problem" was in reference to the parent comment about requiring readers to execute javascript to read text.