Yes, it is.
Installing git 2.28 on ubuntu: https://github.com/hlissner/doom-emacs/blob/develop/docs/getting_started.org#git
If this upstream issue is addressed, we can lower the minimum requirement: https://github.com/raxod502/straight.el/issues/768
When reporting an issue, it pays to be much more specific about the errors you get. An "error in private config" is just that; an error in one of ~/.doom.d/init.el
, ~/.doom.d/config.el
, or ~/.doom.d/packages.el
. The rest of the error message will typically tell you where, exactly.
There is nothing else that can be gleaned from your case. Please produce a backtrace from the error.
Can you reproduce this behavior in the sandbox? https://github.com/hlissner/doom-emacs/blob/develop/docs/getting_started.org#testing-in-dooms-sandbox
If not it’s something in your config and people probably won’t be able to help you. Your best course of action is rolling back parts of your config until you can no longer reproduce the behavior.
Uhh, can't tell you more but a quick search through Doom's code shows that it's integrated into this function: https://github.com/hlissner/doom-emacs/blob/c2e6db27d030f20d3aead4b2049695e4b2d942ba/modules/config/default/autoload/files.el#L40
Yes, I saw the blog post and it did not work for me either. However, the issue you linked had the solution.
I basically needed to add
(setq evil-respect-visual-line-mode t)
to my .doom.d/init.el
, I added that to the top of the file, exited emacs, ran doom sync
, started emacs again, and it's now working with the expected behavior.
For anyone interested in the exact reply on the issue, here's the link: https://github.com/hlissner/doom-emacs/issues/401#issuecomment-588502773
Thank you for your help.
I got curious and looked into this. I assume you saw this blog post based on your attempt. I tried this in my ~/.config/doom/init.el, but it didn't work.
Then I found this github issue, and it turns out this works fine if you turn on visual-line-mode
SPC-t-w
by default.
So you can just enable this in startup with (global-visual-line-mode t)
or by mode hook if you prefer only in some modes.
Update: thanks to the straight.el devs quickly resolving https://github.com/raxod502/straight.el/issues/768 Doom can reduce its minimum git requirement back to 2.23, and has in https://github.com/hlissner/doom-emacs/commit/1a5f4afd0d8bcb311ef0b87db42c81b134cb93d3
geiser was changed recently and Doom's :lang scheme
module had to adapt (see 32cf114). It now offers flags for each of the implementations.
You'll need to 1. update Doom and 2. enable :lang (scheme +mit)
It should be this line. I was also mildly annoyed by that extra quit confirmation prompt, and I thought I had commented that line out, but I just realized now that I'm still getting the prompt. I got to double check that I actually commented it out properly, and then run a `doom sync`
Doom does not support the use of the customize mechanism. From https://github.com/hlissner/doom-emacs/blob/develop/docs/getting_started.org#configure:
>Note: do not use M-x customize
or the customize API in general. Doom is designed to be configured programmatically from your config.el, which can conflict with Customize’s way of modifying variables.
You need to use setq
to set the variables to the values you want in your config.el
file.
Welcome aboard! If you haven't already discovered, Doom has a :checkers spell
module for spellchecking functionality. If you're feeling adventrous, or you find the current :checkers spell
module particularly slow, I am working on a rewrite of the module in my private config, powered by the much faster spell-fu plugin (instead of flyspell). Copy those two files to ~/.doom.d/modules/checkers/spell/
, run doom sync
and you should be golden. (Also, don't forget to uncomment spell
under :checkers
in ~/.doom.d/init.el
before you run doom sync
).
Good luck on your Linux and Emacs endeavors! If Doom ever gives you trouble, feel free to hop on our Discord where I am very active (much more so than reddit). I'm happy to help!
Perhaps you forgot to run <code>doom sync &amp;&amp; doom build</code> after upgrading? Emacs 27 is the recommended version for Doom. I've used it for the past year. Frankly, I want to drop 26 support ASAP, but it won't happen until 27 goes stable and becomes more ubiquitous among various linux distros.
You need wrap configuration for packages in a (after! PACKAGE ...)
block, so that your settings overwrite defaults.
The only exception are file/directory variables, like org-directory
and org-journal-dir
.
I work in a severely limited environment. Most downloads blocked, Carbon Black prevents non-allowed executables from running, proxy browsing blocks, etc... I'm using Windows 10 with WSL and have been able to install emacs, however, the web/download blocking was blocking .tar files from downloading from melpa and orgmode.org, while allowing .el files. I ended up having to work with corp sec to allow files to be downloaded from the 2 sites, which they happily did once I explained what it was for. Mcaffee and Windows Defender dragging down the speed due to anti-malware scanning really kills the startup time, but after that it's all good. (i9, 32G, SSD).
You could try setting up a global gitignore file. This is just a workaround since I don't know doom, but it would definitely save you the work of configuring that per-project.
uniquify breaks persp-mode, hence uniquify-buffer-name-style
is nil when persp-mode is enabled (which is, by default, in doom emacs). See https://github.com/hlissner/doom-emacs/pull/1506#pullrequestreview-253133166
Here is the github page witg installation instruction.
Nowadays you only need
git clone --depth 1 https://github.com/hlissner/doom-emacs ~/.emacs.d ~/.emacs.d/bin/doom install
Doom has a bunch of "modules" that it has and you need to enable them manually in init.el. Just uncomment or add flags to them. If you want more information about a module that's listed in init.el, you can do M-x doom/help-module to see more information such as flags to enable/disable features and how to use each module. As with anything related to things like Emacs or vim, definitely read the documentation: https://github.com/hlissner/doom-emacs/blob/master/docs/getting_started.org
If you have any question, don't hesitate to dm me.
>biblio
I seems org-roam-bibtex will be integrated in future: https://github.com/hlissner/doom-emacs/commit/098bb1b0c5129505be935a7cb1666cb1df414651#diff-422e499fc20d672766a9eafa97d950c640dc8984507a1bc7426d6178f4bf0214
Doom only activates TIDE when LSP isn't configured and available, and the latter is more universally used anyway so you can just skip it.
The mentioned configuration:
The vc-gutter module already uses <code>git-gutter</code> in terminal Emacs and <code>git-gutter-fringe</code> in GUI Emacs.
Things may get confusing if you're using the daemon and creating terminal and GUI frames at the same time though. Is that what you're doing?
Are you using the cocoa/ns port?
Perhaps take a look at the values of the variables defined here: https://www.gnu.org/software/emacs/manual/html_node/emacs/Mac-_002f-GNUstep-Customization.html
That is:
Not 100% sure how if this is implemented in any unique way in Doom, but Emacs has a very good bookmark system. I did a quick search through the Doom repo and there is definitely some configuration included for it. From looking over the ivy and helm config files in Doom, it sounds like you should be able to use C-c
or SPC
or whatever leader key you use and then hit RET
or return, and that will pull up your bookmarks with bookmark-jump
.
I'm not totally sure what the key combo is going to be, but you should be able to M-x bookmark-set
to add named bookmarks, list-bookmarks
. Here's the Emacs Bookmark manual page
Bookmarks are a subset of registers, which are a little more ephemeral. The manual says that bookmarks are persistent registers, as you're able to save a set of bookmarks to an external file.
I hope that helps!
https://www.gnu.org/software/emacs/manual/html_node/elisp/Frame-Size.html
;)
Bind these resize functions to global keys!
Or — create a keybind that sets the frame to undecorated and one that sets it back... whenever you want to resize a window, you can toggle the title bar back on.
If you are using a tiling wm then surely you don’t need to resize the window manually though?
I wont help you a lot : Backup is built in in emacs : https://www.gnu.org/software/emacs/manual/html_node/elisp/Making-Backups.html
Doom looks best suited for programmers that use VCS (so no need to backup)
So maybe you should ask on /r/emacs
Open up an org file called TODO.org
. Then:
*
to start a heading **
for a subheading.
Type - [ ]
for a task. Once you entered a task, CTRL-Enter for the next one.
To tally the number of tasks, use [/]
More information here: https://orgmode.org/manual/Checkboxes.html
Org-mode recommends a way to use windmove "in locations where Org mode does not have special functionality"
This enables windmove when your cursor isn't on a title, I find it pretty convenient
I've submitted a fix to Doom Emacs' repo https://github.com/hlissner/doom-emacs/pull/5718
I still don't understand what triggers this bug, but with that PR we'll play it safe when changing the keymap prefix.
Sure you can bind it to something like this
(define-key org-mode-map (kbd "M-l") 'toggle-input-method)
Also you can look a the Doom Emacs documentation on how to bind keys https://github.com/hlissner/doom-emacs/blob/develop/docs/faq.org#how-do-i-bind-my-own-keys-or-change-existing-ones
Right, so I spun up a fresh Ubuntu 20.04.2.0 LTS VM and installed vanilla Emacs 27 there and it still does exactly the same. This was done by simply following the installation method as outlined here: https://github.com/hlissner/doom-emacs/blob/develop/docs/getting_started.org#ubuntu
I was going to test on Doom as well, but considering this happens on a clean distro install with a clean emacs install, I don't think that'll be necessary or even make a difference here.
I did, however, find what was causing this while I was reading through the docs. This is default behavior for C-x d
, which is Dired (directory), which opens a Dired buffer listing all directory content. As is listed here: https://www.gnu.org/software/emacs/manual/html_node/emacs/Dired-Enter.html. However, C-x C-f
is Dired find-file, which opens directly. Don't know how I missed that, but problem solved I suppose ¯\_(ツ)_/¯
Actually, I think I found the bug! In this function, we see that the variable offer-raw
is marked optional as a parameter but then gets passed to the function no matter what even if it wasn't initially provided. So this is where that 4th nil parameter is coming from. I'll check what happens if I fix this, I'm really hoping that that'll resolve this whole issue!
Check the documentation for :editor format module format
It explain how to enable or disable auto formatting for specific mode.
Doom uses auto-revert in an unconventional way, to bypass performances issues with conventional use.
To disable them, remove these functions from their respective hooks. e.g.
(remove-hook 'focus-in-hook #'doom-auto-revert-buffers-h) (remove-hook 'after-save-hook #'doom-auto-revert-buffers-h) (remove-hook 'doom-switch-buffer-hook #'doom-auto-revert-buffer-h) (remove-hook 'doom-switch-window-hook #'doom-auto-revert-buffer-h)
By default it looks like M-/
is mapped to dabbrev-expand
. If you put (map! :i "M-/" #'hippie-expand)
it will be bound to hippie-expand
.
:i
in my command above binds it only in Evil insert mode and outside of that the key will still be bound to dabbrev-expand
. You can either remove the :i
to bind it globally or add more modes: https://github.com/hlissner/doom-emacs/blob/develop/core/core-keybinds.el#L236-L245
Yeah, I found it. I'll check out how to configure the language server.
Seems like you have a workaround, but fwiw there's some controversy around the doom-emacs format-all implementation and is flagged for rewrite.
If you're looking for a decent autosave experience with js/ts/json/yaml/ruby I highly recommend disabling doom format
mode and using prettier-mode
instead. Here's the relevant code from my config:
;; .doom.d/packages.el
(package! prettier)
;; .doom.d/config.el
(use-package prettier :hook ((typescript-mode . prettier-mode) (js-mode . prettier-mode) (json-mode . prettier-mode) (yaml-mode . prettier-mode) (ruby-mode . prettier-mode)))
> It’s also very unclear for me which files I can touch...
Have you dug into the links here? https://github.com/hlissner/doom-emacs#getting-help. Those will answer at least some of your questions.
In general though I commiserate with you. There’s something not quite discoverable enough about Doom for me and I can’t quite explain it. Pressing SPC and waiting for the completions pop up is so helpful, as is M-x and search, but there’s still something I’m missing. I suspect it’s because it’s essentially someone else’s config which I didn’t build myself.
Anyway, projectile is indeed the package that’s doing Project stuff, you can search for its help with SPC h and then I think it’s d and something else, sorry not at computer. As for adding projects it’s SPC p a, but displaying all projects in a sidebar idk but maybe projectile’s docs has info. Sounds like a nice idea though! If you’re getting errors run doom doctor from terminal maybe that’ll figure it out, or upgrade/update
try remove what you added in config.el and packages.el
then visit https://github.com/hlissner/doom-emacs/tree/develop/modules/lang/python
Ack sorry that was the wrong question. Ok, so if you don’t have a .emacs-d directory, did you follow the instructions here? https://github.com/hlissner/doom-emacs#install running that first line clones doomemacs into that directory.
For the "Install the prerequisite LSP servers" step install ccls through your OS package manager.
Hi. Maybe we are on different commits of the develop branch, but it turns out that fuzzy has to be explicitly enabled, and project-wide search is bound to `SPC s p`. I'm leaving this comment in case others find it helpful.
It's a known issue with one of the 27.1 builds of Emacs on openSUSE. Only workaround is to switch to another one. See https://github.com/hlissner/doom-emacs/issues/3784
Changing MACS="/usr/bin/flatpak run org.gnu.emacs"
worked up until recently. I've fixed it in https://github.com/hlissner/doom-emacs/commit/93ac32d082e216cb376caf20464f3d0c107da7ba. Try updating Doom and see if it works now.
Check out the :ui zen
module. It installs a package called mixed-pitch-mode, which lets you use doom-variable-pitch-font
(which you can set to Roboto Mono) for some parts of the buffer and doom-font
for others.
Not everything. The hlissner/doom-emacs repo should be cloned to ~/.emacs.d
, then left alone. It's the contents of my spell checker module that should be copied into the ~/.doom.d/modules/checkers/spell/
directory (which should be created if it doesn't exist).
It can be found in the <code>:tools lookup</code> module's documentation, but you'd have to know that gd
is bound to +lookup/definition
(perhaps with SPC h k g d
or C-h k g d
), and that +lookup
indicates that it's from the :tools lookup
module.
gd
is a staple of vim. Doom enhanced it to try a list of major-mode specific goto-definition backends before resorting to its original vim/evil behavior (of performing a text search in the current buffer). These backends include LSP and dumb-jump (a project-wide text search plus some heuristics to reduce false positives).
Hope that helps.
Oh, oof. Sucks to me I guess, even my mobile keyboard hates me and silently censors stuff like 'sucks' when using swipe no matter how many times I try until I give up and write it manually.
Good to know my searching skills still suck though :>
Is it this one you looked through? https://orgmode.org/worg/org-contrib/babel/languages/index.html
There is ein https://github.com/millejoh/emacs-ipython-notebook
its "built in" into doom, just enable it in the conf.
Also you might want to look at https://orgmode.org/worg/org-contrib/babel/how-to-use-Org-Babel-for-R.html