Learn Emacs

Learn Emacs
Now

Attached: serveimage.png (1024x1024, 153K)

Other urls found in this thread:

youtube.com/watch?v=d6iY_1aMzeg&list=PLX2044Ew-UVVv31a0-Qn3dA6Sd_-NyA1n&index=1
vim.org/
github.com/hlissner/emacs-pug-mode/blob/master/pug-mode.el#L484
github.com/sheerun/vim-polyglot
github.com/w0rp/ale
github.com/kien/ctrlp.vim
github.com/ludovicchabant/vim-gutentags
vimcasts.org
youtube.com/watch?v=JWD1Fpdd4Pc
ergoemacs.org/emacs/emacs_line_number_mode.html
twitter.com/NSFWRedditImage

i installed emacs and witchmacs, very nice!

Why should I use Emacs instead of Vim?

Have sex.

where do i learn it user?

youtube.com/watch?v=d6iY_1aMzeg&list=PLX2044Ew-UVVv31a0-Qn3dA6Sd_-NyA1n&index=1

sweet, thanks

Attached: 1527077811109.jpg (500x334, 100K)

better logo

I did and it was shit.

Vim has a better website
>vim.org/

I'm not getting more "productive" by attempting to learn a thousand key combinations.

No thanks fag
I use Eclipse

>why yes I use emacs, how did you know?

Attached: 81Us0qlkxvL._SX425_.jpg (425x425, 20K)

I've unironically thought it's some retro glove controller when I've seen someone wearing this for the first time

Should I use emacs for languages other than Prolog, Haskell, Lisp and LaTeX?

Is writing C++, Python, Java, HTML, etc, also comfy?

You should use Emacs if you want to develop your own efficient editing workflow. You should use Vim if you want to learn an existing editing workflow.

This.

Vim gives your donations to niggers

Attached: vim_drill_small.jpg (518x376, 70K)

>give your money to charityware
>WTF THEY GAVE MY MONEY TO CHARITY

Yes.

Just the thread I need.

(require 'package) ;; Load package manager.
;; Add repositories.
(add-to-list 'package-archives '("org" . "orgmode.org/elpa/") t)
(add-to-list 'package-archives '("melpa" . "melpa.org/packages/") t)
(add-to-list 'package-archives '("marmalade" . "marmalade-repo.org/packages/") t)
(package-initialize) ;; Activate autoloads.
;;(setq load-path (cons "~/.emacs.d/org/lisp" load-path)) ;; Personal repository.

;; Install 'use-package' if necessary.
(unless (package-installed-p 'use-package)
(package-refresh-contents)
(package-install 'use-package))

;; Enable use-package.
(eval-when-compile
(require 'use-package))
(require 'diminish) ;; if you use :diminish
(require 'bind-key) ;; if you use any :bind variant

;; Ensure all packages use-package activates are installed.
(set (setq use-package-always-ensure t)


;; Set org-mode keys.
(global-set-key "\C-cl" 'org-store-link)
(global-set-key "\C-ca" 'org-agenda)
(global-set-key "\C-cc" 'org-capture)
(global-set-key "\C-cb" 'org-switchb)

;; Wrap lines by word.
(global-visual-line-mode t)

;; Smooth scroll.
(setq redisplay-dont-pause t
scroll-margin 1
scroll-step 1
scroll-conservatively 10000
scroll-preserve-screen-position 1)

;; Highlight matching parenthesis.
(show-paren-mode t)

;; Make the yes or no prompts shorter.
(defalias 'yes-or-no-p 'y-or-n-p)

;; Use "y" or "n" for replying promts.
(fset 'yes-or-no-p 'y-or-n-p)

;; Remove menu bar on cli.
(menu-bar-mode -1)

;; Disable backup.
(setq make-backup-file nil)

;; Disable autosave.
(setq auto-save-default nil)

;; Disable backup files (squigly).
(setq make-backup-files nil)

;; Better search through Ctrl-x Ctrl-f.
(ido-mode 1)
(ido-everywhere 1)

;; Set default tab width
(setq-default tab-width 2)

;; Set default tab width to two spaces
(setq-default tab-width 2)

;; Use spaces instead of tabs
(setq-default indent-tabs-mode nil)

Thoughts?

It just seems like so much work for a fucking editor... can someone please just be 100% honest and tell me are there genuine productivity gains to be made or is it just autism points to say I've got an emacs config I spent hours and hours on.

You better not use any fancy plugin in your fucking text editor if you are going to say that.

Attached: Neil Stephenson on Emacs.jpg (1920x1080, 231K)

Is easy. I copy paste stuff I want and I need lots of stuff. Not even an IDE can offer as much as I want and so easy. Although I use org-mode more than anything else right now.

I spend a part of my morning trying to set up exwm, which seems pretty ok, but I don't know elsip so making it works with evil and evil-leader isn't easy, I effed up and "froze" the whole thing to the point I had to force quit xorg

I do. 500+ lines in my .emacs file including snippets I've written myself, not just keybinds

the increase of productivity can come from learning to use macros, using shortcuts, cross-file jumps and searches, inserting snippets, etc.
so it's a step forward from notepad, but any editor can do
emacs default configs are shit, configuring it is pain, putting any packages into it will make it painfully slow and not snappy at all, emacslisp is the worst lisp implementation I've ever witnessed.
one feature I have to admit is great is dired mode for renaming files - you can open directory listing as text editor (similar to ls -al output), rewrite stats and names, and save to apply changes.

>emacs workflows don't exist
"Epic".

Funding parasitic organisms isn't charitable.

Then don't give them money

>putting any packages into it will make it painfully slow and not snappy at all
If so, why am I not experiencing this problem with ~100 packages? Do you not understand how packages in emacs work?
>emacslisp is the worst lisp implementation I've ever witnessed
It's probably the only one too, so that's not saying much.

Attached: o1fa0hqs7o311.jpg (800x531, 55K)

Me not giving them money is besides the point. You called it "charityware" when giving money to niggers is anything but charity.

Extensibility is where Emacs shines most.

So? His post says that if you want to learn an existing workflow you should learn vim. This implies that emacs workflows don't exist, which is absurd.

what PC do you use? my experience is from Lenovo T60, but moore's law, faster RAM and SSD might be the solution to the slowness
>Do you not understand how packages in emacs work?
>probably the only one too
nice try
yes I understand how lazy symbol resolution works. but some are inevitably loaded early and used often. Helm was unusable for me.

It calls itself charityware. It gives money to a self-proclaimed charity.
Maybe I should call it "givesmoneytoanorganizationthatmayormaynotbebeneficialdoyourownresearchware".
Or maybe I should have said something like this:
>give money to a program that gives money to an organization
>WTF WHY DID THEY GIVE MY MONEY TO THAT ORGANIZATION
Or I could just be like you and be a pedantic nigger who can't deal with any use of language that even slightly violates my internal model of the world, unable to actually ascertain actual meaning from statements and only look at the barest surface appearance of words.

My statement means exactly what it says, stop projecting meaning onto it. It means that in my opinion one is better at one thing and the other is better at another, not that one editor is unusable for the opposite editor's strength.

It's decently fast (depending on the language I'm working with) on my shitty laptop with some random dual-core celeron and 2GB of RAM with no SSD.
>inevitably
Wrong.

How is vim better for learning an existing workflow? Are you implying there is no existing workflow for emacs which matches vim's in strength? This seems retarded if you believe emacs is extensible (which means somebody else can create an existing workflow you can use).

sane but a bit bare, also is adding the org repo really needed? how old is the included org-more.
if you edit text 2 times a week, its not worth it.
most people do it a lot more though, so every time you can optimize your workflow, you save time indefinitely.
>not using ~/.emacs.d/init.el
yikes

It calling itself "charityware" is besides the point when giving money to niggers is anything but charity.

It's subjective, cool your jets.

>how old is the included org-more.
It didn't have a one-year old Clojure org-babel package when I tried installing it. Maybe they selectively update the more popular packages though.

>subjective means "untouchable by any kind of reasoning"
"Epic".

A surface-level response to a surface-level interpretation of the post.
t. small brain

this is my pre-init init file
(setq debug-on-error t)

(defalias 'yes-or-no-p 'y-or-n-p)

(setq visible-bell t) ;IMPORTANT
(defvar is-laptop nil)
(setq load-prefer-newer t) ;load newer elisp code first

(setq custom-file "~/.emacs.d/custom.el") ; custom file

(defvar gc-cons-threshold-original gc-cons-threshold)
(setq gc-cons-threshold (* 1024 1024 1024)) ;performace

(setq jit-lock-stealth-time 1
jit-lock-chunk-size 500
jit-lock-defer-time 0.5)

(defvar file-name-handler-alist-original file-name-handler-alist) ;performance
(setq file-name-handler-alist nil)

(run-with-idle-timer ;reset
5 nil
(lambda ()
(setq gc-cons-threshold gc-cons-threshold-original)
(setq file-name-handler-alist file-name-handler-alist-original)
(makunbound 'gc-cons-threshold-original)
(makunbound 'file-name-handler-alist-original)
(message "gc-cons-threshold and file-name-handler-alist restored")))

(require 'package)
(setq package-enable-at-startup t
package-archives '(("melpa" . "melpa.org/packages/")
("gnu" . "elpa.gnu.org/packages/")))

(when (

Too short answer. Guess I'm sticking to multiple IDEs for now.

Good riddance. We wouldn't want your kind shitting up emacs anyway.

>sane but a bit bare, also is adding the org repo really needed? how old is the included org-more.
I am just starting bro. Wanted to see if something is wrong because I have an error, might be related to an old build though. Not sure about the org repo, I just wanted to include the bestest.

Thanks.

I simply like Vim above base Emacs or any distribution I've tried with a comparable amount of configuration that I would have to maintain.

Why is it so hard to rewrite indentation logic in emacs?
github.com/hlissner/emacs-pug-mode/blob/master/pug-mode.el#L484

Because Emacs users are obsessed with theoretical perfection and ignore pragmatism.

I still don't get why over complicated indentation cycling and tab key logic is a standard in emacs. As soon as I start working obscure languages things will break down due to not having proper smart indent. This is my only gripe with emacs at the moment.

increased boot gc-threshold, nice.
you can use the emacs-startup-hook instead of the timer for the reset.
look into using org-mode for your config, its neat.
this is my init.el
;; Make Emacs startup faster by increasing garbage collection during boot
(setq startup/gc-cons-threshold gc-cons-threshold)
(setq gc-cons-threshold most-positive-fixnum)
(defun startup/reset-gc () (setq gc-cons-threshold startup/gc-cons-threshold))
(add-hook 'emacs-startup-hook 'startup/reset-gc)

; --------------------------------------

;; Add melpa repository to the package manager
(require 'package)
(add-to-list 'package-archives
'("melpa" . "melpa.org/packages/"))

;; Activate autoloads
(package-initialize)

;; Install the 'use-package' dependency
(unless (package-installed-p 'use-package)
(package-refresh-contents)
(package-install 'use-package))

; --------------------------------------

;; Load actual config file
(when (file-readable-p "~/.emacs.d/config.org")
(org-babel-load-file (expand-file-name "~/.emacs.d/config.org")))

>(defvar is-laptop nil)
Do you use different files for different machines? You could just try checking the return value of `(system-name)` if you want to keep everything contained to a single set of files.

Man, what a toxic community. Guess I'm abandoning emacs altogether.

>toxic
see

This is really problematic behaviour which will drive people away.

Bye bye loser

>Man
Please use more gender-neutral and less toxic language.

I started in 2013 just for org-mode because no other libre calendar at the time had the functionality I needed.

that's just a remnant of when I used exwm on my laptop and only wanted to load it and the 'display-battery-mode and 'display-time-mode there
In those cases I would set is-laptop to true and use (when is-laptop) .

Do both and use Evil
I'm happy with Spacemacs although people like knocking it as a bloated distribution
I'm happy with it

>tell me are there genuine productivity gains to be made
There aren't. Every single emacs user is just roleplaying and lying about even using emacs in the first place.

Come to Vim, you can use it for all of those languages.
Some tips for someone coming from an IDE:
>start by running the command "vimtutor"
>try things out slowly - use arrow keys if you need to, gvim has mouse support
>use vim-polyglot for language support: github.com/sheerun/vim-polyglot
>use ALE for async building: github.com/w0rp/ale
>use ctrlp for fuzzy finding: github.com/kien/ctrlp.vim
>use vim-gutentags to automatically generate tags (lets you navigate symbols quickly): github.com/ludovicchabant/vim-gutentags
>watch vimcasts to learn the Vim way to do things that you might have done in an IDE: vimcasts.org

Mind if I give a better recommendation youtube.com/watch?v=JWD1Fpdd4Pc

Attached: Evil Mode, Or, How I Learned to Stop Worrying and Love Emacs.jpg (1920x1080, 188K)

I don't mind at all, please share anything you want.

>when you learn Emacs and it makes you so happy you want to dance

Attached: jenn-uses-emacs.webm (1920x1080, 2.55M)

cringe

me when I used org-mode

>Learn Emacs
How?

I learn it by using it.

Thanks for an honest answer, that was pretty refreshing

Can you at least show me a babbies-first tutorial on setting up a config from the ground up? I'd use something like Doom, but if I'm gonna use emacs, I'm gonna make it as lean and mean as possible because I'm used to (n)vim being fast as fuck.

Attached: 1554230601061.jpg (537x594, 45K)

10/10 for context

Every Metacarpal ACheS

Why are there no black emacs users? Surely this is just a coincidence, right? R-right?

Attached: 1554812539128.png (491x369, 228K)

they're too busy collecting vim paychecks.

I guess that one nigga who wrote Bash used Vim.

>>Extensibility is where Emacs shines most.
>can't even do proper line numbers
HAHAHAHAHAHAHAH

>single-threaded
Le trash it

Follow the built-in tutorial and read the official doc when needed. Also download the cheat sheet from the official site.

huh?

What the flying fuck are you talking about

see

can barely hear the boomer voice

Marmalade isn't used anymore.

he probably means this
>linum-mode old, hack, slow. Emacs 23 (released in 2009).
but its fixed with
>global-display-line-numbers-mode Emacs 26 (released in 2018-05)
ergoemacs.org/emacs/emacs_line_number_mode.html

Writing c++ in terminal emacs is about as comfy as it gets. Maybe C# in visual studio 2008 on windows xp comes close

>terminal emacs
I actually tried using this and holy shit is it cancerous.

Don't ever do this, Jow Forums.

Already been using emacs for a while now. The best experience I've had programming so far

Fuck off vim troll, there is just so much you can shitpost but that is blatant.

I actually use emacs. Just not terminal emacs because I'm not an autismal faggot.

Well your bigotry is too much, I have a computer where I need to keep things tidy and dont fire X and terminal Emacs saves me. You can't go around telling people not to use it because you like your own way.

Honestly great and helpful post. Thanks user

I will but I also want to learn emacs lisp
I know An Intro to Programming in Emacs Lisp plus GNU Emacs Lisp Reference Manual as a reference is where I will start but what to read once I finish that book?

Did you know.
Bash has a vi mode.
But the emacs mode is default. Bash inherits its key shortuts from emacs.

>when you are new but your init.el just werks

Attached: If-the-cat-says-that-everything-is-ok-so-you-can-trust-him.jpg (602x462, 57K)