Giter Club home page Giter Club logo

oremacs's Introduction

A tweak-able (and tweaked) Emacs config

This is my Emacs configuration. There are many like it, but this one is mine.

Actually, there aren't many like it, since it's highly personalized, with the key binding setup relying substantially on xmodmap.

This config is easy to replicate, perhaps easier than most starter kits out there. But it's not meant for Emacs novices. You need to know at least some basic Elisp (like what ; and define-key do).

It's up to you on how much of it you want to use:

  • You can try to use it verbatim if you have the same opinion of ergonomics as me.
  • You can re-define the keys but keep the package configurations.
  • You can wipe everything and just keep the basic extensible and replicable structure.

I'm using only GNU/Linux, but there's no reason for it not to work on other systems.

Requirements

Emacs 24 is required. Obviously, newer versions are better, but the default emacs24 that you get from the package manager should work.

Installation

This config doesn't assume to become your main config when you install it. It installs in-place in the git directory and will start from there without touching your main config. But you still get access to all your stuff, like bookmarks stored in your actual ~/.emacs.d/ etc.

cd ~/git
git clone https://github.com/abo-abo/oremacs
cd oremacs
make install

Running

Run without updating:

make run

Run with an upstream + ELPA update:

make up

Run with an upstream + ELPA + org-mode + CEDET update:

make install

Personal customization

If you want to track my upstream without difficulties, put your changes into ./personal/personal-init.el. I have another git repository inside ./personal/ tracking stuff like my email address etc.

Perks

Standalone

You can try it without messing up your current Emacs config. I actually have multiple versions of this on my system to work-around incompatibility between versions. This way, I can use my full setup even in case I get a bug report for an older Emacs version.

Fast start up

With a SSD, it starts in 1 second. Most features are autoloaded and it's easy to add new autoloaded features.

Tracks the most recent org-mode and CEDET

Since these packages take a long time to byte compile, they are updated not with make up but with make install. They are actually git submodules, which means that they won't update if I don't update them in the upstream.

Bankruptcy-proof

It's hard to become Emacs-bankrupt with this config, since the config is composed of many independent pieces that you can simply ignore if you don't need them.

Anti-RSI QWERTY mod

The config comes with its own .Xmodmap that makes ; into an additional modifier. RSI savers:

  • ;-v instead of Enter.
  • ;-o instead of Backspace.
  • ;-f instead of Shift-9 and Shift-0.
  • ;-a instead of -.
  • ;-s instead of Shift--.
  • ;-q instead of Shift-'.
  • ;-e instead of =.
  • ;-u in addition / instead of C-u.

And obviously the replacements for the two keys that the mod takes away:

  • ;-j instead of ;.
  • ;-d instead of Shift-;.

One more Elisp-level RSI-saver is the swap between C-p and C-h. Moving up/down line is very important, and it's nice to have these keys close, which C-n and C-h are.

It also includes:

  • a bunch of Hydras that save you key strokes.
  • lispy-mode which quickens any LISP mode, especially Elisp.
  • worf-mode which quickens org-mode.
  • ivy-mode which quickens all completion.
  • swiper which quickens isearch (by replacing it).
  • C/C++ is customized with function-args-mode and a bunch of hacks.

Org mode starter

The config starts you off with a fully configured org-mode setup that includes:

  • gtd.org for getting things done.
  • ent.org to track entertainment.
  • wiki folder for quickly starting and selecting wikis.

oremacs's People

Contributors

abo-abo avatar bandali0 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

oremacs's Issues

Failure during make install

Cloned today per readme.md. Failed on 'make install' leaving emacs running with message "Tried to load cl-seq' before cl'!" displayed. Related to recent commit for change in packages.el?

How to fold based on ;;* syntax

Hi there, I enjoy how hand-crafted and minimal your config files are. It seems like you organize them not through whitespace but through hierarchical, org-like delimiters e.g. ;;* ;;** etc.

I imagine you must also make them fold visually. How do you do this? Is there some package you're using or is it a similarly hand-crafted solution?

A little improve of ora-company-number

@notbandali Hi, Thanks for the function ora-company-number. It is very useful to me. But after months use, I have a little issue when handle situation when input timestamp. the timestamp will conflict with company-number choose.

So I am added a regex to filter the company-prefix start like only number style string。It will ignore number to choose company candidate when company-prefix is number only string style. Here is the code.

(defun ora-company-number ()
  "Forward to `company-complete-number'.

Unless the number is potentially part of the candidate.
In that case, insert the number."
  (interactive)
  (let* ((k (this-command-keys))
         (re (concat "^" company-prefix k))
         (is-only-number-re "[0-9\-\/\\]+"))
    (if (or (cl-find-if (lambda (s)
                          (string-match re s))
                        company-candidates)
            (string-match is-only-number-re company-prefix)
            (> (string-to-number k) (length company-candidates)))
        (self-insert-command 1)
      (company-complete-number (string-to-number k)))))

No definitions found for: mash-get

Hi

Some of my config are inspired and stealed from yours. For long time I use shell-pop. but now I want to minimize my dependency. I want to use your ora-dired-open-term in my config But I got some error:

user-error: No definitions found for: mash-get
user-error: No definitions found for: mash-new-shell

I tried to search for 'mash' in the wild and in other file inside this repo. But I don't find anything.

Thank you.

HI some problem with your generate autoload function

Hi @abo-abo I found your generate function ,i found it will generate two files autoload.el and autoload.el~ when i used . Why i got this file autoload.el~, new come to emacs from vim.thanks for your help!

(defun boot:generate-supremacs-autoloads ()
  "Genreate supremacs autoload file"
  (interactive)
  (let ((generated-autoload-file (concat jorm-local-dir "autoload.el")))
    (when (not (file-exists-p generated-autoload-file))
      (with-current-buffer (find-file-noselect generated-autoload-file)
        (insert ";;")
        (save-buffer)))
    (mapc #'update-directory-autoloads '("autoload"))))

image

concat: Symbol’s value as variable is void: whitespace-mode

I get the subject error calling the hydra below.

(defhydra hydra-toggle (:color pink :hint nil)
  "
_a_ abbrev-mode:       %`abbrev-mode
_d_ debug-on-error:    %`debug-on-error
_f_ auto-fill-mode:    %`auto-fill-function
_h_ highlight          %`highlight-nonselected-windows
_t_ truncate-lines:    %`truncate-lines
_w_ whitespace-mode:   %`whitespace-mode
_l_ org link display:  %`org-descriptive-links
"
  ("a" abbrev-mode)
  ("d" toggle-debug-on-error)
  ("f" auto-fill-mode)
  ("h" (setq highlight-nonselected-windows (not highlight-nonselected-windows)))
  ("t" toggle-truncate-lines)
  ("w" whitespace-mode)
  ("l" org-toggle-link-display)
  ("q" nil "quit"))

consider swap C-d and C-b

I see in the README that you swap C-h and C-p, and I have used another swap that I've used for quite some time and find useful: swap C-d and C-b.

That's it, cheers!

Some updates and fixes for using `ora-company.el` with the latest company version.

I recently noticed this wonderful and useful lisp snippet for company configuration. However, this configuration is written rather long ago, and should do the following update for working with the latest company version:

  1. The company-show-numbers has been renamed to company-show-quick-access, see here.
  2. As I've commented here, customize the configuration: (setq company-quick-access-keys '("0" "1" "2" "3" "4" "5" "6" "7" "8" "9")) to match the definition used here.

NB. Based on my further testing, the problem 2. is caused by company-box. If that package is not used with company, your original code works perfectly.

Regards,
HY

Personal config files

Readme mentions a way to handle personal config, specifically:

put your changes into ./oleh/personal/init.el

Is ./oleh relative to ~/.emacs.d or git directory where this repo is cloned?

About the rebinding of SPC to close the company popup in ora-company.el.

Based on your wonderful blog here, I find your very distinctive company configuration, i.e., ora-company.el. But I've some questions about the configuration used in this file, as described below:

  1. In the above configuration, you use the following setting for remapping SPC to close the company popup:

(define-key map " " (lambda ()
(interactive)
(company-abort)
(self-insert-command 1)))

But based on my tries, the following configuration for company will achieve the same purpose:

  :bind
  ( :map company-active-map
    ("SPC" . company-complete-selection))

So, I want to know why you use this more complicated code snippet.

  1. Why do you unbind RET with the following code?

(define-key map (kbd "<return>") nil))

  1. Is it possible to implement a regexp based candidates selection algorithm/feature for the entries shown on the company popup?

Regards,
HY

Using digits and letters to select more company candidates by extending the `ora-company-number` function.

The function ora-company-number enables to select and insert company candidates using digits without modifier. But it can only support 10 candidates, numbered 0-9. I want to extend this feature to support more candidates indexed/identified with a single digit or letter, e.g., 0-9, q, w, e, r, t, by setting:

(setq company-tooltip-limit 16
      company-quick-access-keys '("1" "2" "3" "4" "5" "6" "7" "8" "9" "0" "q" "w" "e" "r" "t" "y"))        

See the following screenshot for the effect. This way, I can select and insert more candidates conveniently.

image

How can the above code be improved to achieve this goal? Any hints will be greatly appreciated.

Regards,
HZ

Dependency packages and .Xmodmap

  1. Where is the .Xmodmap file. Do I have to create that ~/.Xmodmap file and configure that?
  2. If I clone the repository to the directory ~/oremacs and add (load "~/oremacs/init") to ~/.emacs file. I find I have to install those dependent packages to make it work.

Usability of this config over ssh (no Tramp)

I have used much of this setup in my setup, quite happy, thank you.

I wonder, if you noticed any issues using this setup to start a remote emacs session over ssh?

This is my setup:

I have setup a Google Cloud Platform Ubuntu 16 (LTS) VM, Dropbox sync .emacs.d dir. This particular Ubuntu version has only Emacs 24 in its repos, so I compiled Emacs 25 from source (I would be happy to use v 24, but it was complaining at start-up about some files which are byte compiled on v 25 on my local machine, and synced over to remote).

I start Emacs 25 so: ./emacs25 -q --load "~/.emacs"

The .emacs has only one line: (load "~/Dropbox/source/site-lisp/init/init.el").

Some major problems I see:

  • for some reason, not all packages get loaded
  • at some point (I cannot pinpoint exact trigger, but it looks like ESC) the whole init.el gets reloaded, with relevant messages
  • many issues with status line (I use airline theme for powerline)

Any advice is appreciated.

Wrong number of arguments: setq, 1 while doing ora-query-replace

When trying to do ora-query-replace I get error about wrong number of arguments:

Debugger entered--Lisp error: (wrong-number-of-arguments setq 1)
(setq ora-qr-beg)
(progn (goto-char ora-qr-beg) (setq ora-qr-beg))
(if ora-qr-beg (progn (goto-char ora-qr-beg) (setq ora-qr-beg)))
(ora-query-replace "def")
(funcall-interactively ora-query-replace "def")
(call-interactively ora-query-replace nil nil)
(command-execute ora-query-replace)

Question about organization of your files

Hi there, just a subjective question about organization:

It seems that the adoption of use-package often has people writing their configs in the style of:

(use-package foo
  ;; bindings for foo
  ;; hooks for foo)

(use-package bar
  ;; bindings for bar
  ;; hooks for bar)

Whereas you generally seem to prefer

;; init.el
(use-package foo)
(use-package bar)

;; keybindings.el
bindings for foo
bindings for bar

;; hooks.el
hooks for foo
hooks for bar

I was wondering why you favor this organization scheme? Does it offer performance advantages? Is it easier to wrap your head around? Does it scale better? I tried organizing it this way but found that it sometimes complicated things because I would, for example, have to use an eval-after-load in keybindings.el to avoid an error about a keymap that doesn't exist yet. Perhaps you just handle this with some autoloads?

lazy loading org-mode

Your post here mentions how you lazy load packages. It maybe a bit outdated (and :idle option is removed from use-package, afaik).

Could you please walk me through how you load org-mode? I did not see anything use-package related to org-mode, I assume you use loaddefs.el.

I get some error

Dear abo-abo:

I am a beaginner. I got some problems and I can't fix them.

1、 I do sudo apt-get install ispell aspell hunspell ,but still get a error when start the emacs.
2、when I open a python file , there is not python completion. why and how I make it work ?
3、if I copy the whole oremacs folder to windows7 , can it work ? or how to install you configuration on windows7?

Here is my start error:
Debugger entered--Lisp error: (wrong-type-argument stringp nil) string-match("," nil 0) split-string(nil "," t) ispell-parse-hunspell-affix-file(nil) ispell-find-hunspell-dictionaries() ispell-set-spellchecker-params() (progn (setq ispell-program-name "hunspell") (setq ispell-dictionary "en_US,nl_NL") (setq ispell-personal-dictionary (concat emacs-d "personal/ispell_dict")) (ispell-set-spellchecker-params) (ispell-hunspell-add-multi-dic "en_US,nl_NL")) (condition-case err (progn (setq ispell-program-name "hunspell") (setq ispell-dictionary "en_US,nl_NL") (setq ispell-personal-dictionary (concat emacs-d "personal/ispell_dict")) (ispell-set-spellchecker-params) (ispell-hunspell-add-multi-dic "en_US,nl_NL")) ((debug error) (ignore (display-warning (quote use-package) (format "%s %s: %s" "ispell" ":config" (error-message-string err)) :error)))) (if (not (require (quote ispell) nil (quote t))) (ignore (message (format "Cannot load %s" (quote ispell)))) (condition-case err (progn (setq ispell-program-name "hunspell") (setq ispell-dictionary "en_US,nl_NL") (setq ispell-personal-dictionary (concat emacs-d "personal/ispell_dict")) (ispell-set-spellchecker-params) (ispell-hunspell-add-multi-dic "en_US,nl_NL")) ((debug error) (ignore (display-warning (quote use-package) (format "%s %s: %s" "ispell" ":config" (error-message-string err)) :error)))) t) eval-buffer(#<buffer *load*-777469> nil "/home/czb/oremacs/init.el" nil t) ; Reading at buffer position 9126 load-with-code-conversion("/home/czb/oremacs/init.el" "/home/czb/oremacs/init.el" nil nil) load("/home/czb/oremacs/init.el" nil nil t) load-file("~/oremacs/init.el") eval-buffer(#<buffer *load*> nil "/home/czb/.emacs.d/init.el" nil t) ; Reading at buffer position 308 load-with-code-conversion("/home/czb/.emacs.d/init.el" "/home/czb/.emacs.d/init.el" t t) load("/home/czb/.emacs.d/init" t t) #[0 "�\205\266� \306=\203��\307�\310Q\202?� \311=\204��\307�\312Q\202?�\313\307\314\315#\203*�\316\202?�\313\307\314\317#\203>�\320\321\322!D\nB�\323\202?�\316\324�\325�\324\211#\210�\324=\203e�\326\327\330\307�\331Q!\"\325�\324\211#\210�\324=\203d���\210�\203\247�\332�!\333\232\203\247�\334�!\211\335P\336�!\203\201�\211\202\214�\336�!\203\213��\202\214�\314\262��\203\245�\337��\"\203\243�\340\341��#\210\342\343!\210��\266�\f?\205\264�\314�\325\344\324\211#)\262�\207" [init-file-user system-type delayed-warnings-list user-init-file inhibit-default-init inhibit-startup-screen ms-dos "~" "/_emacs" windows-nt "/.emacs" directory-files nil "^\\.emacs\\(\\.elc?\\)?$" "~/.emacs" "^_emacs\\(\\.elc?\\)?$" initialization format-message "_emacs' init file is deprecated, please use .emacs'" "~/_emacs" t load expand-file-name "init" file-name-as-directory "/.emacs.d" file-name-extension "elc" file-name-sans-extension ".el" file-exists-p file-newer-than-file-p message "Warning: %s is newer than %s" sit-for 1 "default"] 7]() command-line() normal-top-level()

Default ~/.emacs.d/

Does ~/.emacs.d dir gets used in your config?

I'm not sure if ~/.emacs.d gets sourced during init (or created if it does not exist).

Many dotfiles get created in this dir by default, do these get created in ~/.emacs.d/ or in the 'emac-d' var defined dir?

How to switch C-h back to C-p?

Dear abo-abo,

I watched some of your Youtube videos and then come to your configurations from the vanilla emacs. I am not quite used to the C-h in your configuration, is there any switch in your configuration to map C-h back to C-p ?

Best,

FYI and thanks

Hi,

Thank you for sharing your configuration, elisp libraries and over all contribution to emacs. I have cloned your emacs configuration and emacs starts under a second. How do you manage to keep the emacs init time very low? I use use-package macro and for me emacs takes few seconds to startup. Can you share some pointers or write up a blog post on how you make emacs startup fast?

Thanks

Initial run fails

Getting the following error during first launch

Cloning into 'git/org-mode'...
Permission denied (publickey).
fatal: Could not read from remote repository.

Please make sure you have the correct access rights
and the repository exists.
Clone of '[email protected]:org-mode.git' into submodule path 'git/org-mode' failed
make: *** [pull] Error 1

Start an interactive process from dired

Hi,

This issue refers to https://oremacs.com/2015/01/04/dired-nohup/ which explains how external commands could be invoked from dired.

My question refers to the possibility to do this for external commands that require user input as well.

The example command that requires user input is from https://github.com/novoid/appendfilename/

Testing the python -i approach on Windows 10 where I configured cygwin for the shell:

  1. mark two text files in dired

  2. Enter ! and:

    C:/Python36/python.exe -i "c:/Users/karl.voit/src/appendfilename/appendfilename/__init__.py"
    
    • I had to change the backslashes to slashes because I got "no
      file(s) found" (cygwin).

Results in:

INFO     Add text to file name ...
         (abort with Ctrl-C; complete 50 words with TAB)

Please enter text: >>> Traceback (most recent call last):
  File "c:/Users/karl.voit/src/appendfilename/appendfilename/__init__.py ", line 387, in <module>
    main()
  File "c:/Users/karl.voit/src/appendfilename/appendfilename/__init__.py ", line 351, in main
    text = input('Please enter text: ').strip()
EOFError: EOF when reading a line

INFO     Add text to file name ...
         (abort with Ctrl-C; complete 50 words with TAB)

Please enter text: >>> Traceback (most recent call last):
  File "c:/Users/karl.voit/src/appendfilename/appendfilename/__init__.py ", line 387, in <module>
    main()
  File "c:/Users/karl.voit/src/appendfilename/appendfilename/__init__.py ", line 351, in main
    text = input('Please enter text: ').strip()
EOFError: EOF when reading a line

Testing the compile method: »"C-u M-x compile", then your script name«

  1. mark two text files in dired

  2. C-u M-x compile

  3. Enter

    make -k c:/Python36/python.exe ~/src/appendfilename/appendfilename/__init__.py
    

Results in:

-*- mode: compilation; default-directory: "~/2del/" -*-
Comint started at Mon Jul 15 13:30:14

c:/Python36/python.exe -i ~/src/appendfilename/appendfilename/__init__.py
C:\Python36\python.exe: can't open file '/cygdrive/c/Users/karl.voit/src/appendfilename/appendfilename/__init__.py': [Errno 2] No such file or directory

Comint exited abnormally with code 2 at Mon Jul 15 13:30:15

Install - No such file or directory

I followed the readme. make install failed with this error

cd /home/bangmyhead/git/oremacs && emacs -batch -l packages.el 2>&1 | tee -a etc/log
Debugger entered--Lisp error: (file-missing "Opening directory" "No such file or directory" "/home/bangmyhead/git/oremacs/git")

I created a 'git' dir in ~/git/oremacs and emacs started

mkdir ~/git
cd ~/git
git clone https://github.com/abo-abo/oremacs
cd oremacs
mkdir git
make install

Loading `ivy' package slows init load time

I consistently see ivy and related packages take most time during init, judging by benchmark-init package tabulated results.

On closer inspection, I see that in your init.el you call (require 'ora-ivy) which in turn calls (require 'ivy) and (require 'counsel), with no autoloads defined in ora-ivy.el.

Do I miss something re loading of ivy related packages?

Here's the tree of of requires triggered by (require 'counsel).

├─[counsel require 13ms]
│ ├─[jka-compr require 10ms]
│ ├─[esh-util require 11ms]
│ ╰─[swiper require 11ms]
│ ╰─[ivy require 21ms]
│ ├─[flx require 5ms]
│ ├─[delsel require 9ms]
│ ├─[ivy-overlay require 7ms]
│ ╰─[ffap require 93ms]
│ ╰─[url-parse require 10ms]
│ ├─[auth-source require 14ms]
│ │ ├─[gnus-util require 16ms]
│ │ ├─[mm-util require 27ms]
│ │ │ ├─[help-fns require 12ms]
│ │ │ ╰─[mail-prsvr require 8ms]
│ │ ╰─[password-cache require 8ms]
│ ╰─[url-vars require 13ms]

IRC in emacs

Hi Abo-abo.

Sorry for asking this question.
I just wonder how do you use IRC since I think you spend most of the time in Emacs.

I don't find any irc configuration here. (But I find gnus config which mean that you read email in emacs). Do you use other irc client rather than Emacs ?

Thank you. :)

Error calling 'update-all-autoloads'

There is no error calling 'update-all-autoloads' after manually installing (with C-x-e), but autoloaded call gives the error.

auto.el is in the root of the cloned git dir.

Trace:
Debugger entered--Lisp error: (file-error "Cannot open load file" "Not a directory" "auto")
autoload-do-load((autoload "auto" "\n\n(fn)" t nil) update-all-autoloads)
command-execute(update-all-autoloads record)
#257 "\304\305!\203\f�\306\307�!!\210��\307�!\211��\310\307�!\311")\207" [current-prefix-arg prefix-arg this-command real-this-command featurep smex smex-rank intern command-execute record] 4 "\n\n(fn CMD)"
ivy-call()
ivy-read("M-x " ("toggle-debug-on-error" "package-list-packages" "ag" "edebug-defun" "eval-defun" "update-file-autoloads" "counsel-org-tag" "org-pomodoro" "customize-group" "dired" "eval-buffer" "join-line" "package-list-packages-no-fetch" "evil-mode" "wcheck-actions" "magit-diff" "load-theme" "helm-swoop" "customize-themes" "eval-region" "magit-status" "orgstruct-mode" "toggle-fullscreen" "interleave" "wcheck-mode" "wcheck-jump-forward" "persp-switch" "paradox-list-packages" "company-mode" "package-install" "diff-buffer-with-file" "customize-face" "helm-dash" "airline-themes-set-modeline" "visual-line-mode" "org-mode" "flyspell-mode" "benchmark-init/show-durations-tabulated" "flyspell-buffer" "flyspell-correct-word-before-point" "linum-mode" "ispell-buffer" "open-file-at-cursor" "ispell-change-dictionary" "org-pandoc-export-to-docx" "describe-font" "magit-version" "whitespace-mode" "mac-font-panel-mode" "counsel-ag" ...) :predicate nil :require-match t :history extended-command-history :action #[257 "\304\305!\203\f�\306\307�!!\210��\307�!\211��\310\307�!\311")\207" [current-prefix-arg prefix-arg this-command real-this-command featurep smex smex-rank intern command-execute record] 4 "\n\n(fn CMD)"] :sort nil :keymap (keymap (67108908 . counsel--info-lookup-symbol) (67108910 . counsel-find-symbol)) :initial-input "^" :caller counsel-M-x)
counsel-M-x()
funcall-interactively(counsel-M-x)
call-interactively(counsel-M-x nil nil)
command-execute(counsel-M-x)

Magit version

Just curious, any particular reason you're not updating your fork of magit (v1.2) from two years ago?

make profile does not produce overlays

make profile in oremacs dir starts terminal emacs (GNU Emacs 24.5.1) but does not produce overlays with profile data. This error is shown in the messages:
+: Wrong type argument: number-or-marker-p, nil

I assume I need to open the init.el file to show the overlays, or does this happen automatically?
Opening the init.el file opens it read-only mode, no overlays are shown. Also I can't figure our why, C-h-k command (in fact, C-h sequence in general) does not work. I know there are rebindings of C-p to C-h, but pressing C-p gives C-h undefined message.

dired-omit-files regex

I think I understand the intention of this regex below. It looks for for files in dired, which:

  • start with one ore more '.' (first grouping)
  • have 'aux' or 'log' etc after the first grouping
  • or compile_commands.json
  • or 'pycache'

If it is so, it does not seem to work on `.log' files.

Is my understanding correct? Or does this regex do something else?

(setq dired-omit-files "\\(?:.*\\.\\(?:aux\\|log\\|pickle\\|synctex\\.gz\\|run\\.xml\\|bcf\\|am\\|in\\|blx\\.bib\\)\\'\\)\\|compile_commands.json\\|__pycache__")

Error calling `(require 'hydra-example)' from keys.el

My keys.el is in the root as in your config. I get the below error when have (require 'keys.el) in my init.el.

If, however, I remove (require 'hydra-example) from keys.el and move it to init.el, all is well.

hydra-example.el is in elpa dir, which is on the load-path. Not sure why it cannot be found, as emacs-d is also in the load-path.

Debugger entered--Lisp error: (file-error "Cannot open load file" "Not a directory" "hydra-example")
#(hydra-example nil nil)
ad-Advice-require(# hydra-example)
apply(ad-Advice-require # hydra-example)
require(hydra-example)
eval((require (quote hydra-example)) nil)
elisp--eval-last-sexp(nil)
eval-last-sexp(nil)
funcall-interactively(eval-last-sexp nil)
call-interactively(eval-last-sexp nil nil)
command-execute(eval-last-sexp)

how to use keys.el

Dear abo-abo

There are some keybind in keys.el , how to enter those keys ?I can't find them in my keyboard .
the kbd like this:
(global-set-key (kbd "C-β") nil) ; [b] (global-set-key (kbd "C-ν") 'ora-angles) ; [n] (global-set-key (kbd "C-μ") 'headlong-bookmark-jump-other) ; [m] (global-set-key "υ" 'aya-expand) ; [y] (global-set-key "ψ" 'universal-argument) ; [u]
Thank you!

(add-to-list 'load-path emacs-d) - Warning if emacs-d = .emacs.d and loaddefs.el problem

I understand that your setup avoids .emacs.d if git cloned. One issue I have replicating the principles of your setup (particularly with loaddefs.el), is that if I have emacs-d in load-path, I get this:

Warning (initialization): Your load-path' seems to contain
your .emacs.d' directory: /Users/s3/.emacs.d/ This is likely to cause problems... Consider using a subdirectory instead, e.g.: /Users/s3/.emacs.d/lisp

If I remove emacs-d (which evaluates to .emacs.d in my setup) and run ora-para-up:
command-execute: Cannot open load file: no such file or directory, shr/auto

Of course the shr is in the load-path as follows:
(add-to-list 'load-path "~/.emacs.d/shr/") and auto.el is in shr.

Having emacs-d in the load-path runs ora-para-up without a problem.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.