aboutsummaryrefslogtreecommitdiff
path: root/Emacs/.config/emacs/config.org
diff options
context:
space:
mode:
Diffstat (limited to 'Emacs/.config/emacs/config.org')
-rw-r--r--Emacs/.config/emacs/config.org93
1 files changed, 2 insertions, 91 deletions
diff --git a/Emacs/.config/emacs/config.org b/Emacs/.config/emacs/config.org
index 5673520..56f9049 100644
--- a/Emacs/.config/emacs/config.org
+++ b/Emacs/.config/emacs/config.org
@@ -9,10 +9,9 @@ My configuration for vanilla Emacs
#+end_center
#+latex: \clearpage
+#+toc: headlines
+
* Initial
-:PROPERTIES:
-:HTML_CONTAINER: details
-:END:
Let's setup some basics.
Firstly, set full name and mail address for use in a variety of
@@ -121,9 +120,6 @@ Setting the path variable cos it can get annoying sometimes
(getenv "PATH"))))
#+end_src
* Custom Functions
-:PROPERTIES:
-:HTML_CONTAINER: details
-:END:
These are custom functions I have defined for various purposes.
** New line function
Vim bindings don't have a nice way of adding new lines before or after
@@ -209,9 +205,6 @@ common use of this macro.
`(quote (lambda () ,@CDR)))
#+end_src
* Core packages
-:PROPERTIES:
-:HTML_CONTAINER: details
-:END:
** General
Setup general, a good package for defining keys. In this case, I
generate a new definer for the "LEADER" keys. Leader is bound to
@@ -287,9 +280,6 @@ moment), bind to general some basic binds.
"h" #'help-command))
#+end_src
** Evil
-:PROPERTIES:
-:HTML_CONTAINER: details
-:END:
Evil (Emacs VI Layer) is a package that brings the Vi experience to
Emacs. Packaged with it by default are:
- The modal system
@@ -396,9 +386,6 @@ on setups for specific modes I think benefit from it.
#+end_src
** Completion
-:PROPERTIES:
-:HTML_CONTAINER: details
-:END:
Emacs is a text based interface. As a text based interface it heavily
leverages searches and user filters to manage input and provide
functionality. Though the standard model of completion may be
@@ -614,9 +601,6 @@ just setup some evil binds for company.
"M-k" #'company-select-previous))
#+end_src
** Pretty symbols
-:PROPERTIES:
-:HTML_CONTAINER: details
-:END:
Prettify symbols mode allows for users to declare 'symbols' that
replace text within certain modes. For example, you may replace the
'for' word in c-mode in trade of the logical symbol for [[https://en.wikipedia.org/wiki/Universal_quantification][universal
@@ -693,9 +677,6 @@ later.
("lambda" . "λ")
#+end_example
** Window management
-:PROPERTIES:
-:HTML_CONTAINER: details
-:END:
Window management is really important. I find the default window
handling of Emacs incredibly annoying: sometimes consuming my windows,
sometimes creating new ones. Of course, as Emacs is a powerful lisp
@@ -764,9 +745,6 @@ records.
(window-height . 0.25)))
#+end_src
** Auto typing
-:PROPERTIES:
-:HTML_CONTAINER: details
-:END:
Snippets are a system by which pieces of code can be inserted via
prefixes. For example, an 'if' snippet would work by first inserting
the word 'if' then pressing some _expansion key_ such as TAB. This
@@ -899,7 +877,6 @@ Setup global mode after evil mode has been loaded
#+end_src
** Emacs Mode-line
:PROPERTIES:
-:HTML_CONTAINER: details
:header-args:emacs-lisp: :tangle no
:END:
Firstly, declare a variable for the separator between each module
@@ -1014,9 +991,6 @@ with colouring and a ton of presentations to choose from.
(telephone-line-mode))
#+end_src
* Small packages
-:PROPERTIES:
-:HTML_CONTAINER: details
-:END:
** ISearch
#+begin_src emacs-lisp
(use-package isearch
@@ -1068,9 +1042,6 @@ the projectile command map for quick access.
(projectile-mode))
#+end_src
*** Counsel projectile
-:PROPERTIES:
-:header-args:emacs-lisp: :tangle no
-:END:
Counsel projectile provides the ivy interface to projectile commands, which is really useful.
#+begin_src emacs-lisp
(use-package counsel-projectile
@@ -1186,9 +1157,6 @@ for exiting insert state. Otherwise, I don't really need it.
(key-chord-mode +1))
#+end_src
** (Rip)grep
-:PROPERTIES:
-:HTML_CONTAINER: details
-:END:
Grep is likely one of the most important programs ever invented; a
must-have tool for any Linux users inventory. It is a searching
utility that allows one to search files for certain regex patterns.
@@ -1257,9 +1225,6 @@ most repositories nowadays.
(call-interactively #'rg))))
#+end_src
* Applications
-:PROPERTIES:
-:HTML_CONTAINER: details
-:END:
** Dashboard
Dashboard creates a custom dashboard for Emacs that replaces the
initial startup screen in default Emacs.
@@ -1335,9 +1300,6 @@ calendar to the kill ring and bind it to "Y".
(+dx/create-toggle-function +calendar/toggle-calendar "*Calendar*" calendar))
#+end_src
** Mail
-:PROPERTIES:
-:HTML_CONTAINER: details
-:END:
Mail is a funny thing; most people use it just for business or
advertising and it's come out of use in terms of personal
communication in the west for the most part (largely due to "social"
@@ -1399,9 +1361,6 @@ integrate it into my workflow just a bit better.
message-send-mail-function #'smtpmail-send-it))
#+end_src
** Dired
-:PROPERTIES:
-:HTML_CONTAINER: details
-:END:
Setup for dired. Make dired-hide-details-mode the default mode when
using dired-mode, as it removes the clutter. Setup evil collection
for dired (even though dired doesn't really conflict with evil, there
@@ -1450,9 +1409,6 @@ thumb, otherwise open the file."
"i" #'+dired/display-thumb-or-file))
#+end_src
** Xwidget
-:PROPERTIES:
-:HTML_CONTAINER: details
-:END:
Xwidget is a package (must be compiled at source) which allows for the
insertion of arbitrary xwidgets into Emacs through buffers. One of its
premier uses is in navigating the web which it provides through the
@@ -1538,9 +1494,6 @@ xwidget."
(xwidget-webkit-browse-url (concat "https://" engine "/?q=" query)))))
#+end_src
** Eshell
-:PROPERTIES:
-:HTML_CONTAINER: details
-:END:
Eshell is the integrated shell environment for Emacs. Though it isn't
necessarily *the best* shell, it really suits the 'integrated
computing environment' moniker that Emacs gets.
@@ -1608,9 +1561,6 @@ pretty symbols to eshell.
eshell))
#+end_src
** Elfeed
-:PROPERTIES:
-:HTML_CONTAINER: details
-:END:
Elfeed is the perfect RSS feed reader, integrated into Emacs
perfectly. I've got a set of feeds that I use for a large variety of
stuff, mostly media and entertainment. I've also bound "<leader> ar"
@@ -1723,9 +1673,6 @@ don't need to write everything myself.
(evil-collection-ibuffer-setup)))
#+end_src
** Processes
-:PROPERTIES:
-:HTML_CONTAINER: details
-:END:
Emacs has two systems for process management:
+ proced: a general 'top' like interface which allows general
management of linux processes
@@ -1768,9 +1715,6 @@ further filtering of the process list.
"%" #'proced-narrow))
#+end_src
** Calculator
-:PROPERTIES:
-:HTML_CONTAINER: details
-:END:
Surprise, surprise Emacs comes with a calculator. At this point there
is little that surprises me in terms of Emacs' amazing capabilities.
@@ -1818,14 +1762,8 @@ work for me given the various TeX utilities installed via Arch.
:after ledger-mode)
#+end_src
* Major modes, programming and text
-:PROPERTIES:
-:HTML_CONTAINER: details
-:END:
Setups for common major modes and languages.
** Text Configuration
-:PROPERTIES:
-:HTML_CONTAINER: details
-:END:
Standard packages and configurations for the text-mode.
*** Flyspell
Flyspell allows me to quickly spell check text documents. I use
@@ -1907,9 +1845,6 @@ Show parenthesis for Emacs
(add-hook 'prog-mode-hook #'show-paren-mode)
#+end_src
** Programming Configuration
-:PROPERTIES:
-:HTML_CONTAINER: details
-:END:
*** Eldoc
Eldoc presents documentation to the user upon placing ones cursor upon
any symbol. This is very useful when programming as it:
@@ -2018,9 +1953,6 @@ highlighting.
("WAIT" . "#00CC00"))))
#+end_src
** PDF
-:PROPERTIES:
-:HTML_CONTAINER: details
-:END:
PDFs are a great format for (somewhat) immutable text and reports with
great formatting options. Though Emacs isn't really the premier
solution for viewing PDFs (I highly recommend [[https://pwmt.org/projects/zathura/][Zathura]]), similar to
@@ -2095,13 +2027,7 @@ not to describe them. Check out the [[https://elpa.gnu.org/packages/nhexl-mode.
:mode "\\.bin")
#+end_src
** Org
-:PROPERTIES:
-:HTML_CONTAINER: details
-:END:
*** Org Core Variables
-:PROPERTIES:
-:HTML_CONTAINER: details
-:END:
Tons of variables for org-mode, including a ton of latex ones.
#+begin_src emacs-lisp
(use-package org
@@ -2156,9 +2082,6 @@ Tons of variables for org-mode, including a ton of latex ones.
)))
#+end_src
*** Org Core Configuration
-:PROPERTIES:
-:HTML_CONTAINER: details
-:END:
Hooks, prettify-symbols and my =+org/swiper-goto= to replace the
vanilla =org-goto=. Also records for auto insertion.
#+begin_src emacs-lisp
@@ -2242,9 +2165,6 @@ reveal.js. Pretty nifty and it's easy to use.
org-reveal-theme "sky"))
#+end_src
*** Org fragtog
-:PROPERTIES:
-:header-args:emacs-lisp: :tangle no
-:END:
Toggle latex fragments in org mode so you get fancy maths symbols. I
use latex a bit in org mode as it is the premier way of getting
mathematical symbols and text rendered and compiled, but org mode >
@@ -2270,9 +2190,6 @@ better than the default asterisks.
:hook (org-mode-hook . org-superstar-mode))
#+end_src
** C/C++
-:PROPERTIES:
-:HTML_CONTAINER: details
-:END:
Setup for C and C++ modes via the cc-mode package.
C and C++ are great languages for general purpose programming. Though
lisp is more aesthetically and mentally pleasing, they get the job
@@ -2453,9 +2370,6 @@ book so it's useful to have some Emacs binds for it.
("return" . "⟼")))
#+end_src
** Java
-:PROPERTIES:
-:HTML_CONTAINER: details
-:END:
#+begin_src emacs-lisp
(use-package ob-java
:straight nil
@@ -2617,9 +2531,6 @@ Then emmet for super speed
(use-package typescript-mode)
#+end_src
** Emacs lisp
-:PROPERTIES:
-:HTML_CONTAINER: details
-:END:
Add a new lisp indent function which indents newline lists more
appropriately.
#+begin_src emacs-lisp