EMACS thread

I've started using emacs with Evil installed. Its interesting.

>Evil Mode
Evil mode doesn't work 100% of the time. I don't care what the git repo says its goal is. You can get into positions where evil cannot help you escape. Like if you accidentally :bn into one of those dialog buffers, you can't use : to get to a prompt.
Its not all the time or consistent which is even more frustrating, but things will just happen where you just have to C-g your way out. Which is fine but its not what evil mode promised.
if you use : to type in a command and hit it again the previous prompt comes up, which is fine but if I want to edit the command and run it I can't just hit backspace or add to it with hyphen because it just deletes what I had, which is dumb.

>Negatives
Also the use of the alt-key is conflicting with my DWM install
Packages are weird. I find it baffling that base install of emacs contains tetris, but not a spell checker. Why is everything a package? vim had whitespace highlighting out of the box.
Tabs are weird, in vim I had my own personal config for every type of file i work with, and repo specific configs for projects I contribute to with diffrent rules to mine. If anyone is an emacs tab master please stand up.
Getting back to where i was in vim configuration is taking time. I had a lot of keys configured to do things like build latex and display latex.
Jesus christ emacs loads slowly. When I'm having to consiously stop my self from trying to start typing until emacs finishes its a problem. I know its a half second at a time but vim booted up instantly. AND I'm Using emacs in the terminal, no excuse.
And the highlighting for things like spelling and whitespace tend to not work until the cursor goes over the text in question. Who knows why, vim didnt.

cont...
Emac thread

Attached: emacstat.jpg (320x240, 8K)

Other urls found in this thread:

github.com/snackon/Witchmacs
github.com/syl20bnr/evil-escape
github.com/emacs-evil/evil-collection
github.com/editorconfig/editorconfig-emacs
github.com/snackon/Witchmacs/blob/master/init.el
github.com/hlissner/doom-emacs/tree/develop
stackoverflow.com/questions/1217180/how-do-i-byte-compile-everything-in-my-emacs-d-directory
emacswiki.org/emacs/ShowWhiteSpace
emacswiki.org/emacs/EmacsClient
emacswiki.org/emacs/SiteMap
melpa.org/#/?sort=downloads&asc=false
gnu.org/software/emacs/manual/html_node/emacs/Emacs-Server.html
emacswiki.org/emacs/EmacsAsDaemon
twitter.com/AnonBabble

>Positives
Indentation actually works on html, which I don't usually look at but its nice.
I haven't noticed the syntax highlighting lagging yet. ( Vim would do that on large files )
Completion Engine seems to work really well. I haven't used it on a project yet (only .emacs editing). However, if it works even half as well as it does with elisp on cpp/rust/java then it will be working better than any autocomplete I've gotten working on Vim in 10 years.
The git integration with powerline is pretty neat and magit is great.

Overall positive experience thou I guess.

Emacs thread

Fucked up that the chain around her waist is the key combinations used to close a file

7/10 i dont think the logo is real though

>Tabs are weird, in vim I had my own personal config for every type of file i work with, and repo specific configs for projects I contribute to with diffrent rules to mine. If anyone is an emacs tab master please stand up.
You need to read about buffers and windows.

>Jesus christ emacs loads slowly. When I'm having to consiously stop my self from trying to start typing until emacs finishes its a problem. I know its a half second at a time but vim booted up instantly. AND I'm Using emacs in the terminal, no excuse.
Then look for configuration options like use-package that will load packages only on demand. There are other ways. too.

>You need to read about buffers and windows.
Will do, the little i read said that it was complicated.

>Then look for configuration options like use-package that will load packages only on demand. There are other ways. too.
This is with just evil, although it may have gotten slower with the addition of auto-complete. idk any slower than vim-instant is noticably slower.

I am making a quick cheatsheet maybe this will help

# Open (or create) file
C-x C-f

# Select buffer or open scratch buffer
C-x b
# Can be marked for deletion
d
# Can be unmarked
u
# To save changes
x

# Browse buffers
C-x v

# Undo changes
C-x u

# Save changes
C-x C-s

# Kill current buffer (without saving)
C-x k

# Close read only buffer
q

# Create a second window (horizontal split)
C-x 2

# Create a second window (vertical split)
C-x 3

# Keep 1 window, close the rest (but keep buffers)
C-x 1

# Close current window
C-x 0

# Got to next buffer
C-x o

# Display the content of the same buffer in two windows
C-x 3
M-x follow-mode

# Show whitespace
M-x whitespace-mode

I'll probably remap some stuff, I can use evil or viper keys anyway.

I know how to do all of that in vim and with evil. and I have whitespace on by default because errant whitespace offends my autism.

although follow-mode sounds interesting.

Have you installed the cutest Emacs distribution yet?

Attached: gnumarisa.png (674x626, 117K)

how to install?

Hey there, cute pic.

i have not, it looks like emacs with anime trash cluttering up the homepage making the load time even slower.
Am i wrong?

git clone github.com/snackon/Witchmacs ~/.emacs.d

>there is always one troll

thanks senpai

>worf
>"A warrior does not press so many keys! (in org-mode)"

>Evil mode doesn't work 100% of the time. I don't care what the git repo says its goal is. You can get into positions where evil cannot help you escape. Like if you accidentally :bn into one of those dialog buffers, you can't use : to get to a prompt.
github.com/syl20bnr/evil-escape
github.com/emacs-evil/evil-collection
Will help make evil mode a lot more consistent.

>Tabs are weird, in vim I had my own personal config for every type of file i work with, and repo specific configs for projects I contribute to with diffrent rules to mine.
github.com/editorconfig/editorconfig-emacs

>Jesus christ emacs loads slowly.
Startup time will never be instant like vim, but there are things you can do to speed it up.
To use as an example, try setting the GC value in your config, and use-package has ways to lazy load packages.
github.com/snackon/Witchmacs/blob/master/init.el
You can also run emacs in daemon mode and bypass this alltogether, but some people dislike that idea.


I'd reccommend looking at doom-emacs for a "just werks" pre-install, it's similar to spacemacs but isn't nearly as bloated and starts up in less than a second. Even if you don't wind up keeping it, there's a lot you can use for inspiration for your own configuration here.
github.com/hlissner/doom-emacs/tree/develop

Attached: 1546129681207.jpg (990x660, 173K)

#!!$.8e

Attached: sexy stripper.jpg (1000x667, 332K)

>Will help make evil mode a lot more consistent.
Thanks, if these work they will be very helpful.
I'll look into theconfig thing too.

>daemon mode
wat?

>Also the use of the alt-key is conflicting with my DWM install
Not sure how to help there, but suckless would probably screech at you for using Emacs anyway.
>I find it baffling that base install of emacs contains tetris, but not a spell checker. Why is everything a package?
Modularity. Emacs is designed to be as extensible as possible. Meme functionality like tetris and doctor is just left in for shiggles.
>Tabs are weird, in vim I had my own personal config for every type of file i work with, and repo specific configs for projects I contribute to with diffrent rules to mine. If anyone is an emacs tab master please stand up.
Emacs does have odd defaults for tabs. I use this:
(setq-default
tab-width 4
c-basic-offset 4)
Language modes should also help with idiomatic offsets automagically.
>Jesus christ emacs loads slowly. When I'm having to consiously stop my self from trying to start typing until emacs finishes its a problem. I know its a half second at a time but vim booted up instantly. AND I'm Using emacs in the terminal, no excuse.
This can help: stackoverflow.com/questions/1217180/how-do-i-byte-compile-everything-in-my-emacs-d-directory
That said, it's almost instant on most of my boxes, even without using the daemon, precompiling or use-package. Emacs is best used in a GUI, it's not really meant for quick little edits in a terminal. I use mg or vi for that.
>And the highlighting for things like spelling and whitespace tend to not work until the cursor goes over the text in question. Who knows why, vim didnt.
Emacs can do a lot of things OOTB, they're just not turned on: emacswiki.org/emacs/ShowWhiteSpace
As you can probably guess, you should keep track of your config once you get things how you like.

What daemon mode does is basically start emacs as a process so it never really "shuts down". The benefit of this is that it starts up immediately but of course it utilizes an extra bit of ram and that might be a deal-killer for some people

If it works like mpd+ncmpcpp then sign me up.

emacswiki.org/emacs/EmacsClient
Basically you spawn an emacs server in the background and then connect to it with a client, this completely eliminates the startup time issue but some people dislike having it constantly running in the background.

Another suggestion I'll add is that the package which-key can be really nice for serving as a set of training wheels. It will show you what keys are bound to what function as you type them.

I'll toss these links in here too.
emacswiki.org/emacs/SiteMap
melpa.org/#/?sort=downloads&asc=false

Attached: 1540769229177.png (469x313, 137K)

>>daemon mode
>wat?

gnu.org/software/emacs/manual/html_node/emacs/Emacs-Server.html
emacswiki.org/emacs/EmacsAsDaemon

I alias 'e' to 'emacsclient -c -a ""'. This starts the sever the first time it runs, so there is lag then, but every subsequent invocation opens emacs with no perceptible lag. If you'd rather have it open in terminal, substitute "-nw" or "-t" for "-c". See the above links and the man page for emacsclient for more details.

>which-key
Not him but does it do the same as "C-h k"?

I use evil mode. Anyone has a tip to pass ^z to my terminal in Emacs?

>Not sure how to help there, but
On my desktop its fine because I use Super because its in a convenient place. on my lappy the super key is way far back and the alt is convenient. IDK it only comes up when i have to do emacs keys stuff which i'm trying to make never.

>suckless would probably screech at you for using Emacs anyway.
Fuck the suckless people i like their software but they're weird about a lot

>Language modes should also help with idiomatic offsets automagically.
Language modes you say? would i be able to do set that while working in directories? You would be amazed how diffrent style guides can be. that code looks helpful though, thanks.

>Emacs is best used in a GUI
y thou?
Being able to render latex in emacs might be cool but I'm not sure about changing my workflow for it. I've seen a lot of stuff like webbrowsers and stuff, but i already have vimb/qutebrowser and they work fine.

>ShowWhiteSpace
I'll look into this maybe later... I've been using it for like a week and its not high on the list of things to make like they were before lol. It was just a very weird thing to me.

Never mind, it shows options.

>emacs trampstamp
Kinda hot!
8/10, Would hit.

Any particular reason you're using with-eval-after-load instead of use-package's config?
I know use-package just wraps that, but it is inconsistent and bothers my autism.

Use emacs daemon

I followed uncle dave's series on emacs to make my config and he set it up that way, I actually know absolutely 0 elisp and have gotten around issues by simply looking up my problems

If you want to change it so it utilizes use-package config, feel free to do so, in fact, if you do please show me how you did it so I may do the same

If you guys can point me to an android app for org-mode or better yet emacs with org-mode I'll be thankful.

Attached: worf-mode.jpg (550x690, 144K)

It's just a matter of sticking whatever is under
(with-eval-after-load

under the
:config

block for that package.

:init is run before the package is loaded.
:config is run after the package is loaded.

Nothing really wrong with the way you're doing it, but might as well make it consistent.

Not him, but I basically copied uncle dave's config and wrapped it in use-package. Everything in the :config block gets executed after the package loads, so I'm pretty sure it's just wrapped in 'eval-after-load'.

(use-package company
:ensure t
:bind (:map company-active-map
("C-j" . company-select-next)
("C-k" . company-select-previous))
:config
(setf company-idle-delay 0
company-minimum-prefix-length 2))


You could also add
:hook ((c-mode c++-mode) . company-mode)

this just effectively calls add-hook for every mode you specify.

I thank you both greatly for your inputs! I've already made the changes in the Witchmacs github page

Well done my child, now go forth and spread the good word of emacs and 2hu.

Attached: 1543792236864.jpg (620x827, 177K)

Emacs client works wonderfully, emacs finally starts very fast.
I've got the daemon starting in my xinit so everything should be great.

Orgzly

Friendly reminder Evil mode is not the only one, Viper exists.

>The use of the alt-key is conflicting with my DWM install
The reason why tiling WMs fascinate with having the alt-key do WM things when too many programs use it is beyond me.

Replace it with Mod4/Super/Windows key/however you call it. Not a single sane application should have Super key bindings by default.

teesting

lmao

Any hierarchical file browser? Something with a tree view.

Attached: emacslisp.jpg (512x158, 36K)

i mentioned this earlier but its only a problem on my laptop where the super key is too out of the way to comfortably use. And if vim didn't need alt neither should evil

ztree comes with ztree-dir is what I use

>msoffice retard complaining about libreoffice
yeah retard, libreoffice is not an exact copy of msoffice, nor it's an emulator of msoffice
>photoshop retard complaining about gimp
yeah retard, gimp is not an exact copy of photoshop, nor it's an emulator of photoshop
>wintard complaining about linux distros
yeah retard, linux is a completely different kernel and linux distros are completely different operating systems than windows
>vim-nigger, complaining about emacs
yeah nigger, emacs has evil mode, which doesn't try to sugar-coat the shit called vim, it just tries to make your brainlet life easier so you can ascent to the higher plane.

why is there the same kind of retard complaining about the fucken same thing on every platform.

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

i do.

I tried to program c ++ on Windows with Emacs. I think the environment is adverse. The toolchain is complicated, too complicated, new concepts. I do not get it. CMake, Makelists, Clang, MinGW, Cygwin. All new. I have always used Visual Studio C ++. I'm not a systems administrator, I just want it to work.

Attached: tenor.gif (282x282, 560K)

It has given me problems to install pdf-tools in windows.
It has given me problems with irony, with rtags. I think everything is focused on a unix environment.

; Delete trailing whitespace
(add-hook 'before-save-hook 'delete-trailing-whitespace)

Just use VS.

I don't know how you can be an ardent emacs user when it violates the unix philosophy, a huge fucking program that encompasses everything just so you never have to leave the editor.

>it violates the unix philosophy
>not seeing lisp as the perfect language to glue programs together
>ignoring the several emacs interfaces to unix programs like ctags

Attached: WRONG WRONG WRONG WRONG WRONG WRONG WRONG WRONG WRONG WRONG WRONG WRONG WRONG WRONG WRONG WRONG WRON (500x585, 98K)

>installed emacs
>documentation is too terse
>even "simple" tutorials put up a wall of default keybindings I'm unable to get used to
>you literally have to learn another programming language just to write the .rc file
>literally nobody enjoys the defaults
>and you'll probably install 10 or 20 packages just to get started
what a goddamn timesink, just purged this shit from my computer
GNU nano for life.

I thought the same thing. The Super key (Mod4) should really be the default modifier by now. I still don't understand why so many tiling WMs still insist on making Alt the default.

Ratpoison doesnt have this problem ;^)

I too used Vim for years, then switched to Emacs, first using Evil mode.
Lately, however, I've been experimenting with the default keybindings (eventually planning to make my own custom keybindings), and I have to say, once you use a proper, more ergonomic remapping, they work surprisingly well. They are probably less efficient than Vi keybindings overall, even after you get used to them, but have the advantage of being obviously better integrated with the environment (although Evil mode is greatly improving in that regard recently).
>what ergonomic mapping did you use?
Look at pic related. What do you notice? That's right. Modifiers are further and further away from the space bar the less often they are used. That way, you can easily press Ctrl with your thumb, which is a lot more comfortable than even remapping Ctrl to Caps Lock, which still involves your pinkie. The fact that older keyboards originally had the two swapped, also, is largely a myth: only the original IBM PC keyboard did, and yet, older keyboards such as typewriters and Lisp machines didn't. In fact, many of them already had Caps Lock where it is today.
What I do is remap modifiers on the left side to look like pic related, and leave the rest unchanged. That way, I can use my left thumb for Ctrl and my right thumb for Alt. It has proven very comfortable and it works really well, even with default keybindings. That said, they aren't very ergonomic, as most of them are actually just mnemonic. I'm thinking about using something like Ctrl+WASD to move, such as gayms, and swap the rest, but I still have to design it in detail.
Even if you don't use Emacs, I highly recommend you try this mapping.

Attached: 1542829971133.jpg (600x450, 67K)

dam she cute

>rubout
nice

>I don't know how you can be an ardent emacs user when it violates the unix philosophy
Violating the Unix philosophy is exactly what makes it so great.

Attached: 1548509149756.png (1920x1080, 3.18M)

Every Emacs user started out like this.

>y thou?
Not that user, but for me:
There is no point to open it in terminal, once I open Emacs I would never go back into the terminal so it just doesn't matter. If I want to access the shell I just use eshell in Emacs. GUI is a bit nicer (more colours, scrolling bar) but otherwise it's still just a window with text.

One important thing is how it handles frames. In terminal when you open a new frame, you create another view on top of the previous view and to go back you need to delete the top frame; essentially a stack of views. In GUI Emacs is aware of windows so when you create a new frame, it creates a new window (your window manager's windows are Emacs' frames and Emacs' frames are things inside window manager's windows). For me that's very important because I don't use Emacs' tiling and instead manage windows with my window manager (as God intended; also I don't have a config that stops Emacs from using windows so don't ask me that (but I suppose it would be fairly easy to replace the function that creates a new window)).

Yeah, it can also open images and pdfs and I occasionally do that but I always encounter a bug with Emacs pdf viewer where whole Emacs crashes if I try to open a file that's already visible in some other frame (possibly only if the file was changed since the previous open, I'm not sure but it did crash in some very common case) and it feels a bit awkward (no smooth scrolling etc.) so I don't think it's a strong point.

How do you expect to gain new users when it's so hard to get started and returning years later is normal behavior?

That's not what he said. Are you a troll?

You sound like the troll, I'm completely convinced emacs is a meme and not worth my time.

You guys really need to try org-mode with worf.

Open source trampstamp, lol

I actually bought a Japanese keyboard for my ThinkPad to make more ergonomic mappings. Keys around the spacebar are mapped to:
> [Left ctrl] [mod4] [] [shift] [left alt] [right alt]
(I actually need right alt for special characters in my language)
Mod4 will stay in place as as a modifier for my window manager but I'm considering swapping other keys around. It's pretty nice as it is but I'm considering whether it could be better. Especially that tiny right alt is tiny and I often miss it.

As for the Emacs keybindings themselves, I actually mapped Ctrl+FRST (ESDF in QWERTY) for moving the cursor around (with some variations with shift and alt) and I'm thinking about other keybinds. I had some idea that the left hand would be dedicated to changing view or focus and the right hand to modification. That way I would have all necessary keybinds in one hand if I was only browsing things. Also, I actually use only very basic commands for editing and I'm wondering if I'm losing out on something. But I never feel like I'm wasting time on repetitive editing so I guess I'm fine.

Attached: IMG_20180329_185706.jpg (2448x2448, 1.14M)

Okay, then don't use it. For people who are willing to put the time into learning it and setting it up how they want, it is a force multiplier. The program has been around for longer than most of us ITT have been alive. It will likely be around long after we're dead as well. Gaining users hasn't been an issue and won't be one moving forward either.

How did you set up your Haskell environment on Emacs?

>I don't know how you can be an ardent emacs user when it violates the unix philosophy
Reality violates the Unix philosophy. The Lisp nerds were always right.
>a huge fucking program that encompasses everything just so you never have to leave the editor.
Emacs is not a monolith, it is designed from the bottom up to have a structured and modular design, which is why it's still maintainable after thirty fucking years. If there is a better tool for the job, Emacs can interface with it in a correct and consistent way (VC, debugging, build tools, etc).
Thanks to web devs, we no longer need to try!

b-b-but it's good if you build your own editor from scratch in it

>build your own editor from scratch
My Emacs configuration is 50 LOC, 1/4 of which are comments, and only two of my packages (evil and neotree) influence the base functionality. It would literally be more effort for me to use an IDE.

>not stumpwm

If you launch the GUI from the terminal you can just ^z the terminal emulator window

But it still gaining users over a long period of time despite being "hard" shows how it's actually not as hard as you make it out to be. Maybe you're just mentally challenged? That's okay, there's atom or vscode for people like you.

Let me see random chunks of my config file...
(custom-set-variables
...
'(haskell-tags-on-save t)
'(package-selected-packages
'(... flycheck-haskell haskell-mode ;; haskell-mode is a dependency of flycheck-haskell so that would be enough
...)

;; changed faces for some reason: haskell-debug-newline-face, haskell-debug-trace-number-face

(let ((my-cabal-path (expand-file-name "~/.cabal/bin")))
(setenv "PATH" (concat my-cabal-path path-separator (getenv "PATH")))
(add-to-list 'exec-path my-cabal-path))

(eval-after-load 'flycheck
'(add-hook 'flycheck-mode-hook #'flycheck-haskell-setup))

Very basic configuration I guess. There was something about Haskell process interactive use which I tried to configure and couldn't get it to work but it seems to be working now that I try it (functions like haskell-process-do-type).

bump

On my way to learn more stuff I can do with Emacs I found on packages and optimizations.

Attached: d8654c26ace3e6e78e325c57471b7d7386cc2f295ca24ef46e3cce7cc96d4491.jpg (625x416, 63K)

> so I don't think it's a strong point.
None of them were strong points, to be fair.

Emacs is simulating using a lisp machine. It has no place on a unix system.

running a lisp machine simulation is one of the smaller transgressions of the unix philosophy on a modern linux system

Lol. Stallman didn't write emacs. He took the source code from a magazine of the original emacs implementation.

Wasn't the Genera working similarly to what we call unix philosophy?

Fuck wikipedia, they make idiots who don't know about TECO macros properly.

Attached: 23r452562634.jpg (138x138, 2K)

GNU Emacs isn't the original, you mongs, if it was it'd be utter shit.

Visual studio users don't even know how to find their compiler and linker on disk, prove me wrong.

Ain't nothing wrong with nmake either, faggots.

bcb32.exe master race here.

Isn't the original implementation of GNU Emacs itself. Also Stallman wrote macros from another text editor. Those macros later came to be the first Emacs.

Editor MACros

Attached: mrstallman.jpg (1269x710, 128K)

Also, remember Emacs is a Lisp interpreter? It wasn't Lisp until the 80's when GNU Emacs was redesigned to use it.

Check mate atheists.

Thanks for introducing me to the dashboard package. Previously I had to use ugly hacks to edit the emacs splash screen.

Attached: dashboard.png (885x764, 135K)

I fucking wish it did

That is a BEAUTIFUL vector, how did you make it?

to be honest I found it online a while back, I don't even have the original vector file, just a png (7812x7872, pretty high quality desu).

That is a shame

bump

>using dwm
>using alt for wm control
Use Super for dwm you tard. Or reassign meta in emacs to super.

>Evil mode doesn't work 100% of the time
Don't use it. You're using emacs, not vim.
>Packages are weird
No they aren't? They're packages. Emacs has whitespace highlighting out of the box too, you just have to enable it. M-x whitespace-mode
Everything is a package because Emacs is built out of Elisp, so any additional functionality logically should exist as an Elisp function.
>Tabs are weird, in vim I had my own personal config for every type of file i work with, and repo specific configs for projects I contribute to with diffrent rules to mine.
I don't understand what you're confused about. You do exactly the same thing with emacs.
>Getting back to where i was in vim configuration is taking time.
You're changing editors with a massive difference in how they operate. Obviously this wil ltake time.
>Jesus christ emacs loads slowly
Yes. Emacs is also not really meant to be used as a "open a file, edit two characters, close and rerun the makefile, then open it again..." You just open it and leave it open. Pop open M-x shell if you want and don't even leave emacs. There are justifiable reasons for this and direct benefits for those reasons over vim, but I won't get into them.

Do you use electric-pair-mode with haskell?
I'm trying to narrow down some weird bug in my config that when I'm editing Haskell, I need to frequently and manually call garbage-collection or emacs will lock up entirely for a solid 30 seconds. I've done profiling and helm is eating a shitload of memory, but electric-pair-mode is chewing up 70% of cpu time.

No, I don't