/geg/ Gnu Emacs General

>Wiki
emacswiki.org/
>Manual
gnu.org/software/emacs/manual/emacs.html
>Tutorials
C-h t (Interactive Tutorial)
gnu.org/software/emacs/tour/
tldp.org/HOWTO/Emacs-Beginner-HOWTO-1.html
ergoemacs.org/emacs/emacs.html
youtube.com/playlist?list=PLX2044Ew-UVVv31a0-Qn3dA6Sd_-NyA1n(general introduction)
youtube.com/playlist?list=PLVtKhBrRV_ZkPnBtt_TD1Cs9PJlU0IIdE(org-mode)
>Self Documentation
C-h k (Keybinds)
C-h f (Functions)
C-h v (Variables)
>Programming in Elisp
gnu.org/software/emacs/manual/eintr.html
ergoemacs.org/emacs/elisp.html
github.com/bbatsov/emacs-lisp-style-guide

>Packages
melpa.org(package repo)
pastebin.com/KUAbRwJR(short list of recs)
github.com/emacs-tw/awesome-emacs(the big list)
>Premade Distros / Configs
Make your own
github.com/hlissner/doom-emacs/tree/develop
github.com/syl20bnr/spacemacs(heavy)
github.com/snackon/Witchmacs(Basic config with sane defaults)
seagle0128.github.io/.emacs.d/(Centaur Emacs)
gitlab.com/k-bps/mesk(Minimalist Emacs Starter Kit)
>Muh Startup Time
use-package defer
pastebin.com/mrPsnUas(increase GC during startup)
emacswiki.org/emacs/EmacsAsDaemon
emacswiki.org/emacs/EmacsClient

>Muh Default Keybinds
pastebin.com/UAUCvs73(Fixing Emacs Default Keybinds)

>This pasta:
pastebin.com/LyD95ADj
>org source:
pastebin.com/pm7wPBEm

Attached: proxy.duckduckgo.png (1200x1200, 189K)

Other urls found in this thread:

gnu.org/software/emacs/manual/elisp.html
emacs-fu.blogspot.com/2008/12/quickly-switching-between-header-and.html?m=1
pdfdrive.com/successful-lisp-how-to-understand-and-use-common-lisp-e1274482.html
vi.stackexchange.com/questions/68/autocorrect-spelling-mistakes
endlessparentheses.com/ispell-and-abbrev-the-perfect-auto-correct.html
ergoemacs.org/emacs/elisp_determine_OS_version.html).
archive
github.com/noctuid/general.el#general-examples
emacswiki.org/emacs/ManPreview
twitter.com/NSFWRedditImage

Best pdf tools?

fantasque sans mono is the best font for emacs

Are the docs inside emacs the best source for learning elisp?

If you already have lisp experience then you might be able to get away with reading packages + trial and error. Otherwise gnu.org/software/emacs/manual/elisp.html + google

emacs-fu.blogspot.com/2008/12/quickly-switching-between-header-and.html?m=1
Easily switch between source and header

But I still write the prototypes in the header manually

reading this one as i typ .
it looks very promising and very easy to read.

pdfdrive.com/successful-lisp-how-to-understand-and-use-common-lisp-e1274482.html

Attached: cat.jpg (641x581, 56K)

>Still no native Emacs torrent client

Pfft. Some "Operating system". Inb4 people reply with non-native clients like rTorrent that can be run within an Emacs terminal. Doesn't count.

any tips on how to integrate org mode with Google docs?
My team is using Google drive and I'm more comfortable with org mode

I'm dicking around with prose-related commands.

(defun backward-merge-sentences-with-comma ()
"Merge two sentences by replacing the first period with comma and downcasing the word after it."
(interactive)
(let ((case-fold-search nil))
(backward-sentence 1)
(downcase-word 1)
(backward-word 1)
(backward-char 2)
(delete-char 1)
(insert ",")
(forward-sentence)))

(global-set-key (kbd "C-,") #'backward-merge-sentences-with-comma)

This is a sentence. Or is it? ==> This is a sentence, or is it?

I'm still mostly at the copypasting phase of elisp knowledge. How would I go about making a split-sentence command? Periods are easy to find because of the built-in sentence functions, but I think I'd have to have some kind of regexp thing for commas. Is there a way to search only within a sentence?

Never mind, stumbled onto the right stuff.

(defun splitit ()
"Backward search for , ; or : and replace with period, capitalising the next word."
(interactive)
(re-search-backward "[,;:]")
(delete-char 1)
(insert ".")
(capitalize-word 1)
(sentence-forward)
)

(global-set-key (kbd "C-2") #'splitit)

This is a sentence, or is it? ==> This is a sentence. Or is it?

I prefer scheme over elisp. Should I be excited for Guile Emacs? I don't really know the elisp-C inner-workings of Emacs, so I don't know what to expect. Will I live to see a fully operating guile Emacs, just like Guix?

monitoring this thread

They already made it, but it never caught on.
Besides, a much better thing would be an Emacs in Common Lisp: it's much closer to Elisp and it would make the transition easier: not surprising, as Elisp greatly influenced Common Lisp's design.

I'm using spacemacs right now, but would I be better off learning vanilla emacs and how to customize it to my specific needs? Seems like a lot of work, but undoubtedly spacemacs has tons of crap I'll never need.

You can avoid the most onerous vanilla keybinds with global-set-key or hydras.

emacs is not a well behaved program

Vim faggot's (me) blog w/ reddit spacing:

I recently gave Emacs (vanilla) a shot, it pretty much devoured vim and converted me with it. The last thing holding me back was a cool vim macro that auto corrected misspellings while still in insert mode behind the cursor. Emacs IMPROVED on this by allowing abbrev to remember how you fucked up a word and autocorrecting it for you (htis -> this) after specifying what you mean with ispell. Your abbrev are specified by you so you aren't at mercy of w/e the Vim dictionary thinks the closest word is!
Vim way: vi.stackexchange.com/questions/68/autocorrect-spelling-mistakes
Emacs way: endlessparentheses.com/ispell-and-abbrev-the-perfect-auto-correct.html

The other thing that moved me over was the exceptional Polymode && R support. I'm an RMD nigger and the flexibility you get for exporting && weaving with pandoc is awesome! I hated how hacked together the RMD solution felt (there appears to be a nice rmd plugin for vim now, also fuck vim plugins, MELPA BTFO everything). Org looks cool, spreadsheeting in plaintext is genius for autistically future proofing my thoughts in the case libreoffice deprecates (more so than RMD/TeX/Groff, and Emacs can export Org to ODT / HTML / PDF / LATEX with spreadsheet and citations intact). Rmd has cool math shit, but I have an autism degree and apparently emacs can do 3d math by default.

My favorite part of emacs, however, is it's OS independent nature for when I have to use windows, retaining 99.9% of the same behavior (the rest can be uname'd out, see Xah ergoemacs.org/emacs/elisp_determine_OS_version.html). This is a god-send b/c I can't always install WSL/MSYS2, but I can always have eshell.

My question is: has anyone made eshell their main shell? Is it pretty much POSIX compliant, or am I better off writing eshell script for whatever I need to do on multiple OS(s)? I'm not a programmer so don't bully

tldr emacs is endgame vim for brainlet English majors

>has anyone made eshell their main shell? Is it pretty much POSIX compliant, or am I better off writing eshell script for whatever I need to do on multiple OS(s)?
Apparently yes: archive . ph/sXIC

What's your definition of "well behaved program"?

Does anyone manage their emacs packages with nix? Any advice?

>like ergoemacs
>good advice and some funny articles
>read bout author
>"ok, chinese guy in his thirties. Looks like shit but he is an Emacs user after all"
>check his bio
>he is 50 yo

is this the power of Emacs?

My only problem with Emacs is that it might one day turn me into Xah Lee.
I hope that never happens.

if you have a job and live by eating crumbs of bread, you are ok.

I need all the information you guys have on editing groff and LaTeX on Emacs.

Sans is ok if you can tell the difference between I and l

Emacs is trash
Convince me otherwise

vanilla emacs with evil + general.el is pretty comfy.
yes the setup time will take a bit but its fun anyway.

For all the things Emacs do my perfect setup will take time and I know this, I just use whatever I need first and take my time to go step by step.

Im doing the same thing moving from vim to emacs.

Does anyone know how to get rid of the menu that pops up when you use a hydra?
I've basically created an entire mode with about forty keybindings, so the menu takes up a quarter of the screen.

Groff is a meme and I use auctex for editing latex.
When it's just about exporting a lightly markup documents and not about typesetting / tikz diagrams org mode is enough.
Reftex is also nice.

How would you recreate the spacebar bindings? they are great imo.

been using emacs at work more often and finally feel comfortable with it.
now i just need to organize my init file better.

also i should probably stop the creation of the message buffer because i hate having it open when i change buffers, but I don't know if that's a good idea or possible.

(not him)
I agree, spacebar bindings are the best part about Spacemacs. They are super easy to recreate:
1. general.el github.com/noctuid/general.el#general-examples
2. which-key

They both are integrated into use-package (which you should use as well).

>now i just need to organize my init file better.
I'm writing my config in org and tangle it to .el automatically.

I am not so sure groff is a meme emacswiki.org/emacs/ManPreview
I knew in-buffer groff preview was possible, just wanted to see someone else making the package for me :)

Emacs is a meme.

>I use vim, btw

You shouldn't disparage things just because you're too stupid to understand them. It's not Emacs' fault that you're a brainlet.

Bumping the geg

You can export org mode into groff too.

your opinion is a meme.
I use arch and emacs btw.

what do you guys write in your emacs?

College notes and personal stuff

C/C++, Bash, LaTeX, Org, general notes and TODO's.

No it isn't, but scientifica is

Attached: setup.png (1366x768, 98K)

>archive . ph/sXIC
what the shit is this?

care to tell me what holocaust.hs is?

Can someone explain why there are still people out there running Emacs in a terminal emulator? It offers zero advantages and lacks useful functionality that only a GUI can provide.
>terminal is faster, less bloated
Absolutely not, and this is even less true if using Motif or Athena+Xaw3d as its graphical frontend instead of GTK.
The only valid reason I can think of (besides habit, see Stallman himself) is if you're running it on a tty or via SSH, but I see absolutely no point if you can run X.

Can someone here explain emacs to me?
I was told it was a text editor with a different key layout from vim.
Then other people say it can do all this other stuff like send email?
Some people have said it's an operating system pretending to be a text editor.

Can someone explain this?

Attached: 1406692823343.png (640x400, 30K)

Redpill me on Doom guys, why would I use it? t. Spacemacs user

Its an editor running on a Lisp process, something that you can use to your advantage to make other programs that send mail, for example. This gives Emacs an extensible nature.

So do you have a repository for all these other programs and is it built into emacs?

I've used nano my whole life but am thinking of moving on

Why should I use emacs instead of vim? I'm a sysadmin not a programmer

What do you think you should use if you're running X?

Some come bundled with Emacs, some are in repositories. Emacs includes a package manager.

It comes with the default GNU repository and a package manager, but you can add other repositories or use other tools to manage packages.

It's an atbash breaker. It's called holocaust because it is so unreal

So it really is more or less an operating system.

Does it have a file manager and GUI as well?

It's a lisp interpreter.
You don't consider python is an operating system just because pip exists?

You can make a file manager. Some did and it's included in the default installation of Emacs.
AFAIK, there is no GUI.

fair point

What the fuck do you mean there's no gui?

It comes with a file manager and has a gui, yes.
It makes more sense to think of it as a text-based interface to a lisp interpreter than to think of it as a text editor. Of course, the point is still that you're editing text, but that text doesn't necessarily represent a text file.

Attached: 1496117855260.png (695x500, 66K)

Duh, the GUI version of Emacs?
Personally, I use Athena+Xaw3d widgets as frontend, but other choices are fine as well.

I had a play around with VSCode recently and 2 things I liked were the Outline view you get on the left that lists all the classes/methods/variables/etc. in your file, and the breadcrumb feature at the top of the open file that shows you what class/method/function/etc. that your cursor is currently in.
How can I get this in Emacs? I use Doom.

Did any of you guys try out xah-fly-keys? or boon? or any other emacs package that produces modal editing? I tried them and the I didn't like how to the bindings become inconsistent. I use exwm to consistency is important

Xah mad the most effiecient bindings system in history aka xah-fly-keys
I tried it a couple of times and it is amazingly good, much better than vim and emacs imo. I would have use if it integrated with emacs better

For latex, org-mode and auctex.
Not sure about groff

Still have yet to get into hydra, looks promising.
Can you please tell me more about your keybinding system>

A text editor that can interpret a programming language and it ismade using that language + some C.
As a result people make packages that make emacs does all the fancy things

Anyone here use clocking effectively?

2 questions .

1- how come you have so low amount of packages ?? (got over 2.000, not proud of it , how do i obtain low packages like you )

2. what colorscheme you use?

Attached: wires.jpg (1520x1080, 303K)

Do you guys have resources on learning simple elisp programming? I want to make my own packages.

reading existing packages is the best way

Yeah I was perusing one of the minibuffer packages, so far I can change a few variables but would like to see what stuff I can pass to the minibuffer itself but I am clueless there.

read the elisp manual then, it has a section on minibuffers

Nice, thanks!

am i the only emacs user that doesn't care for all the fancy modes and just uses it for editing text? i use newsboat and neomutt instead of doing everything in emacs. hell, my version isn't even built with X support

>or any other emacs package that produces modal editing?
I use evil
>I didn't like how to the bindings become inconsistent.
I mimic spacemacs using general.el, so anything that would be inconsistent otherwise goes through the leader menu, which is set to SPC.
>how come you have so low amount of packages
not him, but you get that when you do a minimal install, I use arch myself and after two years of installing software Im at ~950 packages. Im pretty sure both ubuntu and debian have a minimal ISO.

cute python scripts
SF stories (in markdown)
LaTeX (recently trying Patoline)
and of course extensive use of org mode for todos, note taking etc.

its fast as hell, there are no retarded layers no one knows how to configure or how it works (also a lot of packages explicitly tell you in their READMEs to NOT use it on spacemacs because doesn't work/they can't bother to add support for the spacemacs layer), and sits on a really nice middle ground between vanilla and hyperconfigurations.
I am legitimately learning more of Emacs through doom that I previously did through vanilla (and needless to say, spessmeks).
On the cons, spacemacs has a more extensive key mapping and some nice extra functions. Also if you spend the 15+ years needed to become a layer-monk and be able to truly configure it, I guess the layer-based model is superior to other approaches... I guess...

hi Xah, you have to get out

I went full vanilla Emacs keybinds because after I began using Helm, having to sets of keybinds really confuse me. That, or you take the time to rebind every key of every emacs add on you have.

my personal diary and furry fanfic

Emacs is a Lisp machine with a demo implementation that is a text editor.

if we consider an OS as a kernel+some nice programs that run on top of it, then it's not the same thing.
I mean, you could write a python OS using the linux kernel. The thing is that emacs already has a fuckton of programs whose utility is normally associated with a fully-fledged operating system and "kind of" runs on top of the kernel.
Strictly speaking, it should be counted as middleware, as it cannot run natively on metal and definitively needs ganoo/loonics to work.
But I mean:
>dired
>eshell
>org mode which is basically a productivity suite the likes of which is hard to come by today
>elpa

Yeah, your point stands. But the joke "emacs as an OS" has more going for it than the package manager. Maybe as a joke one could write a python middleware with all these things Emacs has today. To make it extra-hilarious, you could replace the core C functions that emacs uses with equivalent functions written in Rust (and yeah I am aware of rustmacs).

>Xah
based

dont bully xah

>The only valid reason I can think of (besides habit, see Stallman himself) is if you're running it on a tty or via SSH, but I see absolutely no point if you can run X.
That's a somewhat common usecase. I run emacs over ssh (mosh, actually) on a big, beefy dev server so I can just carry a tablet and pair a keyboard when I need to work.

Spacemacs develop branch has some ridiculously good features. I use the new LSP backend for the Java layer and jdtls (Eclipse JDT Language Server) to get god tier IDE support right in Emacs. And of course there's magit, ansi-term, eshell, org, mu4e, rcirc, eww, w3m, mingus... once matrix-client.el is a published package, I'll be able to do every part of my job that doesn't require a graphical web browser or reading PDFs right inside Emacs.

Is that picture from Lain?

Let's put it like this. You use nano or vim to simply edit a text file. You use emacs to edit text files, check your rss feeds, send a couple of emails, manage your music player, organize your notes better and way way more.

To emacs the editing capabilities are simply a subset of a larger whole. Emacs is a an editor written on a elisp interpreter. What this means is that everything in emacs is simply elisp that's interpreted. You can edit all the elisp to change emacs, extend emacs and much more.

What makes all of this different from nano and vim is that instead of offering you just a way to edit text files, emacs instead offers you a whole different workflow.

For example, I'm primarily a system/network admin. I use the note taking mode called org-mode to make a lot of documentation, write and run configuration management scripts inline in the file, and use the output of my configuration management scripts in the same documentation file. I can export the whole thing to html or pdf with a simple key combo for sharing and there's way more.

I can definitely recommend trying emacs and judging for yourself. It's completely different to whatever you're used to and it showed me a lot of new ways to do things where I thought that I already had found the best way to do it. If you try it, make sure to give yourself a bit of time to learn emacs and grow accustomed to it, otherwise you'll base your judgement on how you previously thought things were supposed to be done.

I don't use the SPC or vim bindings though lol, just the normal emacs ones. I just don't know if I have the autism to configure everything.

Emacs is what happens when you're a unix nerd in uni but get a windows or mac dev job but don't want to use shit tools you hate and aren't portable to your next job or hobby.
>t. Emacs on Windows 10 at work and NetBSD at home
Yes my home laptop is a toaster.

based
>>t. Emacs on Windows 10 at work and NetBSD at home
double based

I honestly prefer emacs on Windows. Saves me the headaches of modern X/Wayland shit and the new userland cancer. BSD might be an alternative that is sane for old hardware, but I don't ever use old hardware anyhow.

Android tablet with keyboard -> Termux -> mosh -> Emacs on dev server.

OK so doom is for people with bad PCs and people too stupid to configure spacemacs? Got it.

Ja

Is Emacs on Windows stable yet?

It's been fine on Windows for ages.

That's a lot of trouble just to poorly replicate what you can do on any $100 shittop.

10x the battery life and silent.