Reorganize second section of Emacs init
This commit is contained in:
parent
4d01c6d8bf
commit
ab8803b72b
1 changed files with 137 additions and 95 deletions
|
@ -147,142 +147,184 @@ Computing Environment".
|
|||
(mapc (lambda (p) (package-install p t)) available))))
|
||||
#+END_SRC
|
||||
|
||||
* Backups
|
||||
* General settings
|
||||
|
||||
I don't like having every directory filled with "filename~"
|
||||
files. So instead of saving backup files to the same directory, save
|
||||
them to a special one instead.
|
||||
These settings are generally not associated with a specific mode,
|
||||
but affect how the core of Emacs behaves.
|
||||
|
||||
#+BEGIN_SRC emacs-lisp
|
||||
(setq backup-directory-alist `((".*" . ,(oni:data-location "backup-files/"))))
|
||||
#+END_SRC
|
||||
** Files
|
||||
|
||||
* Auto saves
|
||||
There are a lot of files that Emacs uses to keep track of things. I
|
||||
usually prefer to keep them all in one place together, instead of
|
||||
spreading them around the filesystem. With exceptions of course.
|
||||
|
||||
I prefer to keep all autosave files in a single directory so they
|
||||
don't clog up my filesystem so much. Usually these files get
|
||||
deleted, but sometimes they don't, and I don't think they look
|
||||
pretty. Add it to the end of the list because the default value
|
||||
stores auto-saves for remote files in /tmp, which is fine by me.
|
||||
*** Backups
|
||||
|
||||
#+BEGIN_SRC emacs-lisp
|
||||
(add-to-list 'auto-save-file-name-transforms
|
||||
`(".*" ,(oni:data-location "auto-save-files/") t) :append)
|
||||
#+END_SRC
|
||||
I don't like having every directory filled with "filename~"
|
||||
files. So instead of saving backup files to the same directory, save
|
||||
them to a special one instead.
|
||||
|
||||
Place the files which contain the auto save files in a similar
|
||||
directory.
|
||||
#+BEGIN_SRC emacs-lisp
|
||||
(setq backup-directory-alist `((".*" . ,(oni:data-location "backup-files/"))))
|
||||
#+END_SRC
|
||||
|
||||
#+BEGIN_SRC emacs-lisp
|
||||
(setq auto-save-list-file-prefix (oni:data-location "auto-save-list/.saves-"))
|
||||
#+END_SRC
|
||||
*** Auto saves
|
||||
|
||||
* Tabs
|
||||
I prefer to keep all autosave files in a single directory so they
|
||||
don't clog up my filesystem so much.
|
||||
|
||||
Generally I prefer using spaces over tabs. Especially for lisp-like
|
||||
languages.
|
||||
**** Auto save files
|
||||
|
||||
#+BEGIN_SRC emacs-lisp
|
||||
(setq-default indent-tabs-mode nil)
|
||||
#+END_SRC
|
||||
Usually these files get deleted, but sometimes they don't, and I
|
||||
don't think they look pretty. Add it to the end of the list because
|
||||
the default value stores auto-saves for remote files in /tmp, which
|
||||
is fine by me.
|
||||
|
||||
A tab-width of 8 is too wide for me, and 2 is too narrow. 4 is just
|
||||
right.
|
||||
#+BEGIN_SRC emacs-lisp
|
||||
(add-to-list 'auto-save-file-name-transforms
|
||||
`(".*" ,(oni:data-location "auto-save-files/") t) :append)
|
||||
#+END_SRC
|
||||
|
||||
#+BEGIN_SRC emacs-lisp
|
||||
(setq-default tab-width 4)
|
||||
#+END_SRC
|
||||
**** Auto save indexes
|
||||
|
||||
* Inhibit startup screen
|
||||
Place the files which contain the indexes of auto save files in a
|
||||
similar directory.
|
||||
|
||||
I've been using Emacs long enough not to need the startup screen
|
||||
anymore. I don't see it on my PC where I start Emacs in daemon mode,
|
||||
but on my laptop I always start it normally, so it gets in the way.
|
||||
#+BEGIN_SRC emacs-lisp
|
||||
(setq auto-save-list-file-prefix (oni:data-location "auto-save-list/.saves-"))
|
||||
#+END_SRC
|
||||
|
||||
#+BEGIN_SRC emacs-lisp
|
||||
(setq inhibit-startup-screen t)
|
||||
#+END_SRC
|
||||
* Typographic style
|
||||
|
||||
* Font
|
||||
Emacs being a text editor has options on how to handle your text.
|
||||
|
||||
Set the default font to a more pleasing one, in my opinion, with a
|
||||
better size as well.
|
||||
|
||||
#+BEGIN_SRC emacs-lisp
|
||||
(add-to-list 'default-frame-alist '(font . "Fantasque Sans Mono-15"))
|
||||
#+END_SRC
|
||||
** Whitespace
|
||||
|
||||
* Internal border
|
||||
Even though whitespace technically isn't seen, it can still be an
|
||||
eyesore and highly annoying, you must always keep it well in
|
||||
check.
|
||||
|
||||
For aesthetics I like to have a thick border on the inside of my
|
||||
Emacs window. I have the same border in URxvt, but I haven't found
|
||||
out how to add it to Conkeror yet.
|
||||
*** Remove trailing whitespace before saving
|
||||
|
||||
#+BEGIN_SRC emacs-lisp
|
||||
(add-to-list 'default-frame-alist '(internal-border-width . 15))
|
||||
#+END_SRC
|
||||
I hate it when trailing whitespace is left around a file. I've been
|
||||
using this for years, and apart from having some trouble working
|
||||
with people who don't pay attention to it, it has worked flawlessly.
|
||||
|
||||
* Menu bar
|
||||
#+BEGIN_SRC emacs-lisp
|
||||
(require 'destroy-trailing-whitespace)
|
||||
(global-destroy-trailing-whitespace-mode)
|
||||
#+END_SRC
|
||||
|
||||
I don't use the menu bar, so it just takes up space.
|
||||
*** Make sure there is a newline at the end of the file
|
||||
|
||||
#+BEGIN_SRC emacs-lisp
|
||||
(menu-bar-mode -1)
|
||||
#+END_SRC
|
||||
Having a final newline at the end of the file is always a good
|
||||
idea. Some programs just don't work without it and others produce
|
||||
some strange results. Github diffs are an example.
|
||||
|
||||
* Tool bar
|
||||
#+BEGIN_SRC emacs-lisp
|
||||
(setq require-final-newline t)
|
||||
#+END_SRC
|
||||
|
||||
I don't use the tool bar, so it just takes up space.
|
||||
*** Tabs
|
||||
|
||||
#+BEGIN_SRC emacs-lisp
|
||||
(tool-bar-mode -1)
|
||||
#+END_SRC
|
||||
Unless absolutely necessary, I really don't want any tabs in my
|
||||
code.
|
||||
|
||||
* Scroll bar
|
||||
**** Don't use tabs for indentation
|
||||
|
||||
I don't use the scroll bar to either navigate my buffers or see
|
||||
whereabouts I am, so they just take up space.
|
||||
Generally I prefer using spaces over tabs. Especially for lisp-like
|
||||
languages.
|
||||
|
||||
#+BEGIN_SRC emacs-lisp
|
||||
(scroll-bar-mode -1)
|
||||
#+END_SRC
|
||||
#+BEGIN_SRC emacs-lisp
|
||||
(setq-default indent-tabs-mode nil)
|
||||
#+END_SRC
|
||||
|
||||
* Cursor
|
||||
**** Display tabs as 4 columns wide
|
||||
|
||||
Use a bar cursor instead of a box.
|
||||
A tab-width of 8 is too wide for me, and 2 is too narrow. 4 is just
|
||||
right.
|
||||
|
||||
#+BEGIN_SRC emacs-lisp
|
||||
(setq-default cursor-type '(bar . 2))
|
||||
#+END_SRC
|
||||
#+BEGIN_SRC emacs-lisp
|
||||
(setq-default tab-width 4)
|
||||
#+END_SRC
|
||||
|
||||
* Whitespace
|
||||
** User Interface
|
||||
|
||||
I hate it when trailing whitespace is left around a file. I've been
|
||||
using this for years, and apart from having some trouble working
|
||||
with people who don't pay attention to it, it has worked flawlessly.
|
||||
Emacs' user interface is very configurable, from themes to hiding
|
||||
unnecessary elements.
|
||||
|
||||
#+BEGIN_SRC emacs-lisp
|
||||
(require 'destroy-trailing-whitespace)
|
||||
(global-destroy-trailing-whitespace-mode)
|
||||
#+END_SRC
|
||||
*** Inhibit startup screen
|
||||
|
||||
Having a final newline at the end of the file is always a good
|
||||
idea. Some programs just don't work without it and others produce
|
||||
some strange results. Github diffs are an example.
|
||||
I've been using Emacs long enough not to need the startup screen
|
||||
anymore. I don't see it on my PC where I start Emacs in daemon mode,
|
||||
but on my laptop I always start it normally, so it gets in the way.
|
||||
|
||||
#+BEGIN_SRC emacs-lisp
|
||||
(setq require-final-newline t)
|
||||
#+END_SRC
|
||||
#+BEGIN_SRC emacs-lisp
|
||||
(setq inhibit-startup-screen t)
|
||||
#+END_SRC
|
||||
|
||||
* Long lines
|
||||
*** Font
|
||||
|
||||
By default Emacs wraps long lines around to the next line when they
|
||||
reach the far end of the window. However I prefer to have them
|
||||
truncated instead.
|
||||
Set the default font to a more pleasing one, in my opinion, with a
|
||||
better size as well.
|
||||
|
||||
#+BEGIN_SRC emacs-lisp
|
||||
(setq-default truncate-lines t)
|
||||
#+END_SRC
|
||||
#+BEGIN_SRC emacs-lisp
|
||||
(add-to-list 'default-frame-alist '(font . "Fantasque Sans Mono-15"))
|
||||
#+END_SRC
|
||||
|
||||
*** Internal border
|
||||
|
||||
For aesthetics I like to have a thick border on the inside of my
|
||||
Emacs window. I have the same border in URxvt, but I haven't found
|
||||
out how to add it to Conkeror yet.
|
||||
|
||||
#+BEGIN_SRC emacs-lisp
|
||||
(add-to-list 'default-frame-alist '(internal-border-width . 15))
|
||||
#+END_SRC
|
||||
|
||||
*** Menu bar
|
||||
|
||||
I don't use the menu bar, so it just takes up space.
|
||||
|
||||
#+BEGIN_SRC emacs-lisp
|
||||
(menu-bar-mode -1)
|
||||
#+END_SRC
|
||||
|
||||
*** Tool bar
|
||||
|
||||
I don't use the tool bar, so it just takes up space.
|
||||
|
||||
#+BEGIN_SRC emacs-lisp
|
||||
(tool-bar-mode -1)
|
||||
#+END_SRC
|
||||
|
||||
*** Scroll bar
|
||||
|
||||
I don't use the scroll bar to either navigate my buffers or see
|
||||
whereabouts I am, so they just take up space.
|
||||
|
||||
#+BEGIN_SRC emacs-lisp
|
||||
(scroll-bar-mode -1)
|
||||
#+END_SRC
|
||||
|
||||
*** Cursor
|
||||
|
||||
Use a bar cursor instead of a box.
|
||||
|
||||
#+BEGIN_SRC emacs-lisp
|
||||
(setq-default cursor-type '(bar . 2))
|
||||
#+END_SRC
|
||||
|
||||
*** Long lines
|
||||
|
||||
By default Emacs wraps long lines around to the next line when they
|
||||
reach the far end of the window. However I prefer to have them
|
||||
truncated instead.
|
||||
|
||||
#+BEGIN_SRC emacs-lisp
|
||||
(setq-default truncate-lines t)
|
||||
#+END_SRC
|
||||
|
||||
* Theme
|
||||
|
||||
|
|
Loading…
Reference in a new issue