From bb9776e51455faac274bc942977078f1b1806f28 Mon Sep 17 00:00:00 2001 From: Kévin Le Gouguec Date: Sat, 1 Feb 2020 21:22:34 +0100 Subject: Tweak a bunch of Emacs settings MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Use Custom to set whitespace style. As much as I dislike using Custom for lists where I just want to add/remove a couple of elements, the previous method introduced a subtle bug where visiting a diff buffer, *then* activating whitespace-mode resulted in diff-mode's whitespace style applying instead of mine. Something to do with diff-setup-whitespace I guess. * Make Org comply with RET/C-j conventions in the rest of Emacs. Since Emacs 24.4, by virtue of electric-indent-mode being enabled by default, RET is the "smart newline" key which handles indentation, and C-j is the "dumb newline" key which simply inputs character 0x0A. * Stop popping another frame for Ediff's control buffer. The popup frame needs its own .Xresources entry. Sometimes it disappears behind the system tray. Having another window allows other-windowing. * Make line-number-mode try harder with long lines. * Change the scroll logic. scroll-conservatively > 100 tells Emacs to *never ever* recenter point, which is annoying when jumping to e.g. a search result or a tags definition. scroll-conservatively = n < 100 tells Emacs to recenter when scrolling needs to move more than n lines, and to scroll only m lines when m≤n. * And some other stuff. --- .emacs | 13 +++---------- .emacs-custom.el | 10 ++++++++-- 2 files changed, 11 insertions(+), 12 deletions(-) diff --git a/.emacs b/.emacs index fc4e0de..3d48a4a 100644 --- a/.emacs +++ b/.emacs @@ -321,17 +321,10 @@ (lambda () (ibuffer-switch-to-saved-filter-groups "my/ibuffer-groups"))) - -;; Minor modes configuration - -;; See erc-modules customization above for an explanation on these -;; shenanigans. tl;dr I do not want to maintain an exhaustive list of -;; whitespace elements and risk missing out on future additions to the -;; default value; I just want to remove one specific item. -(eval-after-load 'whitespace +(eval-after-load 'org-keys '(progn - (let ((new-items (remq 'lines whitespace-style))) - (customize-set-variable 'whitespace-style new-items)))) + (define-key org-mode-map (kbd "C-j") 'org-return) + (define-key org-mode-map (kbd "RET") 'org-return-indent))) ;; Helper functions and miscellaneous settings. diff --git a/.emacs-custom.el b/.emacs-custom.el index c17bbdc..727295e 100644 --- a/.emacs-custom.el +++ b/.emacs-custom.el @@ -15,6 +15,7 @@ '(dired-listing-switches "-al -Fhv --group-directories-first") '(ediff-merge-split-window-function 'split-window-vertically) '(ediff-split-window-function 'split-window-horizontally) + '(ediff-window-setup-function 'ediff-setup-windows-plain) '(electric-pair-mode t) '(enable-recursive-minibuffers t) '(erc-log-channels-directory "~/.irc-logs") @@ -36,11 +37,13 @@ '(global-page-break-lines-mode t nil (page-break-lines)) '(gnus-cloud-method "nnimap:gmail") '(hscroll-step 1) + '(ibuffer-default-sorting-mode 'filename/process) '(icomplete-mode t) '(indent-tabs-mode nil) '(inhibit-startup-screen t) '(isearch-allow-scroll t) '(isearch-lazy-count t) + '(line-number-display-limit-width 2000) '(magit-diff-refine-hunk t) '(magit-ediff-dwim-show-on-hunks t) '(magit-log-arguments '("--graph" "--color" "--decorate" "-n256")) @@ -52,6 +55,7 @@ '(markdown-indent-on-enter 'indent-and-new-item) '(menu-bar-mode nil) '(minibuffer-depth-indicate-mode t) + '(org-fontify-quote-and-verse-blocks t) '(org-startup-indented t) '(package-archives '(("melpa" . "https://melpa.org/packages/") @@ -67,14 +71,16 @@ '(read-buffer-completion-ignore-case t) '(read-file-name-completion-ignore-case t) '(scroll-bar-mode nil) - '(scroll-conservatively 101) + '(scroll-conservatively 10) '(scroll-preserve-screen-position t) '(send-mail-function 'smtpmail-send-it) '(show-paren-mode t) '(split-width-threshold 120) '(tool-bar-mode nil) '(truncate-lines t) - '(visual-line-fringe-indicators '(left-curly-arrow right-curly-arrow))) + '(visual-line-fringe-indicators '(left-curly-arrow right-curly-arrow)) + '(whitespace-style + '(face trailing tabs spaces newline empty indentation space-after-tab space-before-tab space-mark tab-mark newline-mark))) (custom-set-faces ;; custom-set-faces was added by Custom. ;; If you edit it by hand, you could mess it up, so be careful. -- cgit v1.2.3