9 ms·
Coming from Vim, when I switched to Emacs, I found the starting aesthetic experience more than lacking (or, ugly). It took me some time (and a helpful HN discus
by terhechte 13y ago
Coming from Vim, when I switched to Emacs, I found the starting aesthetic experience more than lacking (or, ugly). It took me some time (and a helpful HN discussion) until I found good themes and good plugins to make it look aesthetically pleasing (to my eyes, at least, after all people's tastes differ).
If somebody is looking for a nice Emacs theme and feels that the OP is a bit too minimal, have a look at my Emacs conf (I know, shameless plug) here [1]
There's also a screenshot [2]
This configuration is kinda optimized for Emacs+Evil to be more like Vim, so you may just want to have a look at the theme / plugins.
[1] https://github.com/terhechte/emacs.d https://github.com/terhechte/emacs.d
[2] https://raw2.github.com/terhechte/emacs.d/master/screenshot.png https://raw2.github.com/terhechte/emacs.d/master/screenshot....
- bzg 13y agoOh, nice mode-line! I can't figure out how to get the theme from your repo, any hint?
- jbeja 13y agoI believe that is emacs powerline: https://github.com/jonathanchu/emacs-powerline https://github.com/jonathanchu/emacs-powerline
- bzg 13y agoThis is it, thanks. Beautiful, but too bad there is no easy way to deactivate it.
- terhechte 13y agoHey, I'm using the Soothe theme, with local modifications: https://github.com/terhechte/emacs.d/tree/master/elpa/soothe-theme-20130805.1700 https://github.com/terhechte/emacs.d/tree/master/elpa/soothe... The original can be found here: https://github.com/emacsfodder/emacs-soothe-theme https://github.com/emacsfodder/emacs-soothe-theme Another nice theme is Cyberpunk: https://github.com/n3mo/cyberpunk-theme.el https://github.com/n3mo/cyberpunk-theme.el As jbeja answered, I'm using powerline with the default theme for the status bar: (require 'powerline) (powerline-default-theme)
- anuragramdasan 13y agoWhat line numbering plugin is this? Looks very similar to vim numbers. I've been trying to find something like that for emacs for a while now. All I found wasLinum mode, which clutters the UI and doesnt give relative line numbering.
- terhechte 13y agoHey, I'm using relative-number: https://github.com/terhechte/emacs.d/blob/master/plugins/relative-number.el https://github.com/terhechte/emacs.d/blob/master/plugins/rel... It mostly works as well as in Vim, except if you're using Code folding, which confuses it a bit.
- fafner 13y agoWhy do you want line numbers next to your code at all? Aren't they just visual clutter? The current line number is shown in the mode-line anyway.
- rbonvall 13y agoAt least in Vim, line numbers help to move around and operate on text really quickly. Move cursor to ninth line above: 9k Delete from here to seventh line below: 7dd Copy thirteenth line above after second line below: :-13t+2 Having line numbers always visible (either relative or absolute) helps for doing this operations quickly.
- aaronem 13y agoEmacs offers goto-line on M-g g or M-g M-g, which admittedly is not the handiest of key sequences; I've been thinking about rebinding that to be more useful, but I don't use it often enough to really need to. Line numbers are also useful, for example, when doing web development, and hunting down the line that's mentioned in a stack trace. Absent integration between the browser's debugger and Emacs, which is something I've fiddled around with (based on mozrepl) but never got working, that's a good second best.
- klibertp 13y ago
- mercurial 13y agoI try out emacs every few years. Every time, I get discouraged whenever I attempt to do something simple (change the theme, etc) by the amount of configuration necessary. I may try your repo, since it seems to have a lot of stuff already configured. The other thing is that Emacs is really slow to start as soon as you have a few plugins, compared to vim.
- terhechte 13y agoIf you try my repo, have a look at the custom keys that I defined, that helps things a lot. Also, the one great feature about Emacs is MX (which I bound to CMD-. This opens the minibuffer where you can execute arbitrary EmacsLisp functions. Everything you do in Emacs (even arrow up, left or right) is bound to an Emacs function. So if you start out, and you want to do something, but you don't know the shortcut, just do CMD-. and start typing. The naming is really good. Say you want to deactivate line truncation. You go into MX and type "truncate" and among the results will be "toggle-truncate-lines" you go there, hit enter, and you're done. This is a bit more difficult in stock Emacs, as it has no wildcard search for MX but I'm using the Helm plugin, which offers this feature and makes it really really easy to find functions. I hardly ever use all these Emacs shortcuts like C-c C-e ... I just hit MX and type what I need to do. Sadly, startup is still really slow for my configuration, which is why I have a Vim config with similar keys for quick Terminal usage. I start Emacs in the morning and keep it open all day. When I need to quickly fix something in the Terminal, I use Vim.
- aaronem 13y agoAn excellent point; having a command line in your editor is something whose value is hard to recognize until you've tried it, and hard to overstate once you're used to it. It might, though, be worth using the typical Emacs nomenclature for key sequences, i.e. M-x where you use 'MX' and (assuming your Command key is bound to Meta, as is ordinary for OS X Emacs users) M-. where you use 'CMD-.' -- your choice of preferred nomenclature is of course up to you, but using the standard forms makes it easier for other users, particularly neophytes such as the one to whom your advice here is directed, to understand what you're describing and relate it to the Emacs manual and to whatever other resources they're using.
- dilap 13y agoVery interesting thing you've got going there, and I love the visual aesthetic. Two quick tips that you probably already know, but just in case it's useful to you or someone else: * Emacs can wrap lines at word boundaries, while intelligently preserving/extending indentation (something like this: https://gist.github.com/anonymous/8581161 https://gist.github.com/anonymous/8581161) * If you're using emacs on the mac, it's worth taking a look at the railwaycat fork ("brew install emacs-mac"). Some improvements over vanilla emacs: Emoji (and other fun unicode) display works, fullscreen and maximize work better, scrolling with the trackpad works in a reasonable way.
- abrowne 13y agoI think you need to "brew tap railwaycat/emacsmacport" first to install that.
- aaronem 13y agoI built it from scratch, only using Brew to install the necessary image format libraries, and that worked fine too.
- terhechte 13y agoThanks for these tips, I'm already using the railwaycat fork, and it is really good. I compiled it myself though, didn't know that I can get it via brew now. That is fantastic, as I'm still on 24.3.1 :) Also, I didn't know about the wrap-while-keeping indentation, that's something I always wanted. Will try it out later. Thanks!
- __david__ 13y agoAlso, note that Emacs 24.4 (currently unreleased) will have improved full screen support and better color support (same effect as "brew install emacs --srgb"). I've been using the Emacs head (from a month ago) and it's been very stable for me. For sane trackpad scrolling in vanilla Emacs I use this: '(mouse-wheel-scroll-amount (quote (0.01)))
- aaronem 13y agoSeconding the recommendation for the Railwaycat fork, which is excellent. I just wonder about how quickly it'll be integrated into the 24.4 codebase, once that version drops; I'm really looking forward to file change notification support, for example so that Emacs can autorevert my Dropbox-synchronized Org files when it sees that they've been synced.
- antonios 13y agoVery nice. Which font is this?
- quesebifurcan 13y agoI think he's using PragmataPro. If not, it's very similar. Beautiful font, one of my favorites.
- terhechte 13y agoIt is M+ http://mplus-fonts.sourceforge.jp/ http://mplus-fonts.sourceforge.jp/ Can't recommend it enough. Beautiful monospaced font for terminal and editor. And the light version works great on my 11" Macbook Air as it consumes less pixels and therefore allows more code to be visible.
- blueblob 13y agoNot trying to be a douche, but trying to get an honest answer: if you are coming from Vim, using Evil-Vim to get Vim-like commands why use Emacs in the first place? What features do you use/did you want that made you switch?
- terhechte 13y agoPrimarily I wanted to write my own extensions in an integrated language with a good, honed, text api. Vimscript is really not so nice, and Emacs has a fantastic text / editor API that's a pleasure to work with. Other features that were important to me were - Org Mode (I'm using it for all documentation now) - Usability: As described below, every function in the editor can be accessed with a quick command (with pattern matching to find the correct one) vs. knowledge of arcane commands in vim. Also, most modes offer convenient access to all their features in the menu bar. So when I'm using a Clojure mode, and I can't currently remember the correct command / keystroke for changing the current Repl namespace to my current file, I click the menubar and there it is. All neatly listed. Makes it a lot easier. - I like the Emacs way of having all in one window. I have one big fullscreen window with multiple buffers, and in there I have a terminal, a repl, multiple code windows, html documentation. So I never have to leave that mode. Keeps me productive. That is also kinda possible with tmux and Vim, but then I always had overlapping keyboard shortcuts for switching windows. All in all Emacs works better for me here. - Lots of small things, in general Emacs feels like a much more solid editor, with more configuration options to fit it to my liking.
- blueblob 13y agoFair enough. Lots of people dislike vimscript and although I think you can also write plugins using python, it also seems more difficult to interface with. I know that you can have a big fullscreen window with multiple buffers and a terminal and a repl in terminal vim without tmux. I guess you are not interested but you could see multiple buffers with :vsplit or :split to get vertical and horizontal splits, respectively. There are plugins for a terminal/repl. Org mode sounds interesting to me, one of the things that I miss from eclipse is that I could see the javadoc when I held the mouse over an object/method/function, is that what Org mode does? Thanks for the reply.
- jasonm23 13y agoI am super glad to see Soothe being used / well loved. Thanks for using it.