You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

1230 lines
38 KiB

<!DOCTYPE html>
<html>
<head>
<title>config</title>
<!-- 2020-04-03 Fri 18:59 -->
<meta charset="utf-8">
<meta name="generator" content="Org-mode">
<style type="text/css">
<!--/*--><![CDATA[/*><!--*/
.title { text-align: center; }
.todo { font-family: monospace; color: red; }
.done { color: green; }
.tag { background-color: #eee; font-family: monospace;
padding: 2px; font-size: 80%; font-weight: normal; }
.timestamp { color: #bebebe; }
.timestamp-kwd { color: #5f9ea0; }
.right { margin-left: auto; margin-right: 0px; text-align: right; }
.left { margin-left: 0px; margin-right: auto; text-align: left; }
.center { margin-left: auto; margin-right: auto; text-align: center; }
.underline { text-decoration: underline; }
#postamble p, #preamble p { font-size: 90%; margin: .2em; }
p.verse { margin-left: 3%; }
pre {
border: 1px solid #ccc;
box-shadow: 3px 3px 3px #eee;
padding: 8pt;
font-family: monospace;
overflow: auto;
margin: 1.2em;
}
pre.src {
position: relative;
overflow: visible;
padding-top: 1.2em;
}
pre.src:before {
display: none;
position: absolute;
background-color: white;
top: -10px;
right: 10px;
padding: 3px;
border: 1px solid black;
}
pre.src:hover:before { display: inline;}
pre.src-sh:before { content: 'sh'; }
pre.src-bash:before { content: 'sh'; }
pre.src-emacs-lisp:before { content: 'Emacs Lisp'; }
pre.src-R:before { content: 'R'; }
pre.src-perl:before { content: 'Perl'; }
pre.src-java:before { content: 'Java'; }
pre.src-sql:before { content: 'SQL'; }
table { border-collapse:collapse; }
caption.t-above { caption-side: top; }
caption.t-bottom { caption-side: bottom; }
td, th { vertical-align:top; }
th.right { text-align: center; }
th.left { text-align: center; }
th.center { text-align: center; }
td.right { text-align: right; }
td.left { text-align: left; }
td.center { text-align: center; }
dt { font-weight: bold; }
.footpara:nth-child(2) { display: inline; }
.footpara { display: block; }
.footdef { margin-bottom: 1em; }
.figure { padding: 1em; }
.figure p { text-align: center; }
.inlinetask {
padding: 10px;
border: 2px solid gray;
margin: 10px;
background: #ffffcc;
}
#org-div-home-and-up
{ text-align: right; font-size: 70%; white-space: nowrap; }
textarea { overflow-x: auto; }
.linenr { font-size: smaller }
.code-highlighted { background-color: #ffff00; }
.org-info-js_info-navigation { border-style: none; }
#org-info-js_console-label
{ font-size: 10px; font-weight: bold; white-space: nowrap; }
.org-info-js_search-highlight
{ background-color: #ffff00; color: #000000; font-weight: bold; }
/*]]>*/-->
</style>
<script type="text/javascript">
/*
@licstart The following is the entire license notice for the
JavaScript code in this tag.
Copyright (C) 2012-2013 Free Software Foundation, Inc.
The JavaScript code in this tag is free software: you can
redistribute it and/or modify it under the terms of the GNU
General Public License (GNU GPL) as published by the Free Software
Foundation, either version 3 of the License, or (at your option)
any later version. The code is distributed WITHOUT ANY WARRANTY;
without even the implied warranty of MERCHANTABILITY or FITNESS
FOR A PARTICULAR PURPOSE. See the GNU GPL for more details.
As additional permission under GNU GPL version 3 section 7, you
may distribute non-source (e.g., minimized or compacted) forms of
that code without the copy of the GNU GPL normally required by
section 4, provided you include this license notice and a URL
through which recipients can access the Corresponding Source.
@licend The above is the entire license notice
for the JavaScript code in this tag.
*/
<!--/*--><![CDATA[/*><!--*/
function CodeHighlightOn(elem, id)
{
var target = document.getElementById(id);
if(null != target) {
elem.cacheClassElem = elem.className;
elem.cacheClassTarget = target.className;
target.className = "code-highlighted";
elem.className = "code-highlighted";
}
}
function CodeHighlightOff(elem, id)
{
var target = document.getElementById(id);
if(elem.cacheClassElem)
elem.className = elem.cacheClassElem;
if(elem.cacheClassTarget)
target.className = elem.cacheClassTarget;
}
/*]]>*///-->
</script>
</head>
<body>
<div id="content">
<h1 class="title">config</h1>
<div id="table-of-contents">
<h2>Table of Contents</h2>
<div id="text-table-of-contents">
<ul>
<li><a href="#sec-1">1. org</a>
<ul>
<li><a href="#sec-1-1">1.1. edit/reload config.org</a>
<ul>
<li><a href="#sec-1-1-1">1.1.1. edit</a></li>
<li><a href="#sec-1-1-2">1.1.2. reload</a></li>
</ul>
</li>
<li><a href="#sec-1-2">1.2. src edit in current window</a></li>
<li><a href="#sec-1-3">1.3. disable company-mode</a></li>
<li><a href="#sec-1-4">1.4. Snippets</a></li>
<li><a href="#sec-1-5">1.5. html export</a>
<ul>
<li><a href="#sec-1-5-1">1.5.1. html5</a></li>
<li><a href="#sec-1-5-2">1.5.2. Save file as HTML</a></li>
</ul>
</li>
<li><a href="#sec-1-6">1.6. Links</a>
<ul>
<li><a href="#sec-1-6-1">1.6.1. Inline Images</a></li>
</ul>
</li>
</ul>
</li>
<li><a href="#sec-2">2. emacs gui</a></li>
<li><a href="#sec-3">3. functions</a>
<ul>
<li><a href="#sec-3-1">3.1. text</a>
<ul>
<li><a href="#sec-3-1-1">3.1.1. copy whole line</a></li>
<li><a href="#sec-3-1-2">3.1.2. kill whole word</a></li>
<li><a href="#sec-3-1-3">3.1.3. kill whole line</a></li>
<li><a href="#sec-3-1-4">3.1.4. comment region</a></li>
<li><a href="#sec-3-1-5">3.1.5. yas-expand for when company decides to be shit</a></li>
<li><a href="#sec-3-1-6">3.1.6. Format whole file</a></li>
</ul>
</li>
<li><a href="#sec-3-2">3.2. buffers</a>
<ul>
<li><a href="#sec-3-2-1">3.2.1. kill current buffer</a></li>
<li><a href="#sec-3-2-2">3.2.2. kill all buffers</a></li>
</ul>
</li>
<li><a href="#sec-3-3">3.3. frames</a>
<ul>
<li><a href="#sec-3-3-1">3.3.1. transpose frame</a></li>
<li><a href="#sec-3-3-2">3.3.2. flip frame</a></li>
<li><a href="#sec-3-3-3">3.3.3. flop frame</a></li>
<li><a href="#sec-3-3-4">3.3.4. split and follow vertically</a></li>
<li><a href="#sec-3-3-5">3.3.5. split and follow hoizontally</a></li>
</ul>
</li>
<li><a href="#sec-3-4">3.4. EXWM workspace</a></li>
</ul>
</li>
<li><a href="#sec-4">4. use-package</a>
<ul>
<li><a href="#sec-4-1">4.1. org-babel-http</a></li>
<li><a href="#sec-4-2">4.2. exwm</a>
<ul>
<li><a href="#sec-4-2-1">4.2.1. install</a></li>
<li><a href="#sec-4-2-2">4.2.2. system tray</a></li>
</ul>
</li>
<li><a href="#sec-4-3">4.3. diminish</a></li>
<li><a href="#sec-4-4">4.4. company</a>
<ul>
<li><a href="#sec-4-4-1">4.4.1. company</a></li>
<li><a href="#sec-4-4-2">4.4.2. slime</a></li>
<li><a href="#sec-4-4-3">4.4.3. auctex</a></li>
</ul>
</li>
<li><a href="#sec-4-5">4.5. omnisharp</a></li>
<li><a href="#sec-4-6">4.6. auctex</a>
<ul>
<li><a href="#sec-4-6-1">4.6.1. auctex</a></li>
<li><a href="#sec-4-6-2">4.6.2. indent</a></li>
</ul>
</li>
<li><a href="#sec-4-7">4.7. spaceline</a></li>
<li><a href="#sec-4-8">4.8. dashboard</a></li>
<li><a href="#sec-4-9">4.9. avy</a></li>
<li><a href="#sec-4-10">4.10. which key</a></li>
<li><a href="#sec-4-11">4.11. slime</a></li>
<li><a href="#sec-4-12">4.12. switch window</a></li>
<li><a href="#sec-4-13">4.13. popup kill ring</a></li>
<li><a href="#sec-4-14">4.14. minor modes</a>
<ul>
<li><a href="#sec-4-14-1">4.14.1. hungry delete</a></li>
<li><a href="#sec-4-14-2">4.14.2. symon</a></li>
<li><a href="#sec-4-14-3">4.14.3. beacon</a></li>
<li><a href="#sec-4-14-4">4.14.4. yasnippet</a></li>
</ul>
</li>
<li><a href="#sec-4-15">4.15. Javascript</a></li>
</ul>
</li>
<li><a href="#sec-5">5. ido</a>
<ul>
<li><a href="#sec-5-1">5.1. Enable IDO</a></li>
<li><a href="#sec-5-2">5.2. IDO vertical</a></li>
</ul>
</li>
<li><a href="#sec-6">6. misc</a>
<ul>
<li><a href="#sec-6-1">6.1. UTF8</a></li>
<li><a href="#sec-6-2">6.2. terminal</a>
<ul>
<li><a href="#sec-6-2-1">6.2.1. Make bash implicit terminal</a></li>
<li><a href="#sec-6-2-2">6.2.2. open term with s-return</a></li>
</ul>
</li>
<li><a href="#sec-6-3">6.3. parenthesis matching</a></li>
<li><a href="#sec-6-4">6.4. copy/paste</a></li>
<li><a href="#sec-6-5">6.5. y/n instead of yes/no</a></li>
<li><a href="#sec-6-6">6.6. electric pair mode</a></li>
<li><a href="#sec-6-7">6.7. scroll line by line</a></li>
<li><a href="#sec-6-8">6.8. highlight line</a></li>
<li><a href="#sec-6-9">6.9. prettify symbols</a></li>
<li><a href="#sec-6-10">6.10. docView auto reload</a></li>
<li><a href="#sec-6-11">6.11. Indentation</a></li>
</ul>
</li>
<li><a href="#sec-7">7. auto-minor-mode</a></li>
<li><a href="#sec-8">8. sensitive-minor-mode</a></li>
<li><a href="#sec-9">9. unix line endings</a></li>
</ul>
</div>
</div>
<div id="outline-container-sec-1" class="outline-2">
<h2 id="sec-1"><span class="section-number-2">1</span> org</h2>
<div class="outline-text-2" id="text-1">
</div><div id="outline-container-sec-1-1" class="outline-3">
<h3 id="sec-1-1"><span class="section-number-3">1.1</span> edit/reload config.org</h3>
<div class="outline-text-3" id="text-1-1">
</div><div id="outline-container-sec-1-1-1" class="outline-4">
<h4 id="sec-1-1-1"><span class="section-number-4">1.1.1</span> edit</h4>
<div class="outline-text-4" id="text-1-1-1">
<div class="org-src-container">
<pre class="src src-emacs-lisp">(defun manx/config-open ()
(interactive)
(find-file "~/.emacs.d/config.org"))
(global-set-key (kbd "C-c x e") 'manx/config-open)
</pre>
</div>
</div>
</div>
<div id="outline-container-sec-1-1-2" class="outline-4">
<h4 id="sec-1-1-2"><span class="section-number-4">1.1.2</span> reload</h4>
<div class="outline-text-4" id="text-1-1-2">
<div class="org-src-container">
<pre class="src src-emacs-lisp">(defun manx/config-reload ()
(interactive)
;; save buffer if it's been edited
(if (get-buffer "config.org")
(with-current-buffer "config.org" (save-buffer)))
(org-babel-load-file (expand-file-name "~/.emacs.d/config.org")))
(global-set-key (kbd "C-c x r") 'manx/config-reload)
</pre>
</div>
</div>
</div>
</div>
<div id="outline-container-sec-1-2" class="outline-3">
<h3 id="sec-1-2"><span class="section-number-3">1.2</span> src edit in current window</h3>
<div class="outline-text-3" id="text-1-2">
<div class="org-src-container">
<pre class="src src-emacs-lisp">(setq org-src-window-setup 'current-window)
</pre>
</div>
</div>
</div>
<div id="outline-container-sec-1-3" class="outline-3">
<h3 id="sec-1-3"><span class="section-number-3">1.3</span> disable company-mode</h3>
<div class="outline-text-3" id="text-1-3">
<div class="org-src-container">
<pre class="src src-emacs-lisp">(add-hook 'org-mode-hook 'company-mode)
</pre>
</div>
</div>
</div>
<div id="outline-container-sec-1-4" class="outline-3">
<h3 id="sec-1-4"><span class="section-number-3">1.4</span> Snippets</h3>
<div class="outline-text-3" id="text-1-4">
<div class="org-src-container">
<pre class="src src-emacs-lisp">(setq org-structure-template-alist
(append
'(("el" "#+BEGIN_SRC emacs-lisp\n?\n#+END_SRC")
("js" "#+BEGIN_SRC javascript\n?\n#+END_SRC"))
org-structure-template-alist))
</pre>
</div>
</div>
</div>
<div id="outline-container-sec-1-5" class="outline-3">
<h3 id="sec-1-5"><span class="section-number-3">1.5</span> html export</h3>
<div class="outline-text-3" id="text-1-5">
</div><div id="outline-container-sec-1-5-1" class="outline-4">
<h4 id="sec-1-5-1"><span class="section-number-4">1.5.1</span> html5</h4>
<div class="outline-text-4" id="text-1-5-1">
<div class="org-src-container">
<pre class="src src-emacs-lisp">(setq org-html-doctype "html5")
</pre>
</div>
</div>
</div>
<div id="outline-container-sec-1-5-2" class="outline-4">
<h4 id="sec-1-5-2"><span class="section-number-4">1.5.2</span> Save file as HTML</h4>
<div class="outline-text-4" id="text-1-5-2">
<div class="org-src-container">
<pre class="src src-emacs-lisp">(defun manx/save-org-to-html()
(interactive)
(when (equal major-mode 'org-mode)
(save-buffer)
(org-html-export-to-html)))
(add-hook 'org-mode-hook
(lambda () (local-set-key (kbd "C-c s h") 'manx/save-org-to-html)))
</pre>
</div>
</div>
</div>
</div>
<div id="outline-container-sec-1-6" class="outline-3">
<h3 id="sec-1-6"><span class="section-number-3">1.6</span> Links</h3>
<div class="outline-text-3" id="text-1-6">
<div class="org-src-container">
<pre class="src src-emacs-lisp">(defun manx/delete-org-link ()
(interactive)
(if (org-in-regexp org-bracket-link-regexp 1)
(apply 'delete-region (list (match-beginning 0) (match-end 0)))))
(add-hook 'org-mode-hook
(lambda () (local-set-key (kbd "C-c o l") 'manx/delete-org-link)))
</pre>
</div>
</div>
<div id="outline-container-sec-1-6-1" class="outline-4">
<h4 id="sec-1-6-1"><span class="section-number-4">1.6.1</span> Inline Images</h4>
<div class="outline-text-4" id="text-1-6-1">
<div class="org-src-container">
<pre class="src src-emacs-lisp">(defun manx/org-insert-link()
(interactive)
(org-insert-link)
(org-redisplay-inline-images))
(add-hook 'org-mode-hook
(lambda () (local-set-key (kbd "C-c C-l") 'manx/org-insert-link)))
(setq org-image-actual-width 150)
</pre>
</div>
</div>
</div>
</div>
</div>
<div id="outline-container-sec-2" class="outline-2">
<h2 id="sec-2"><span class="section-number-2">2</span> emacs gui</h2>
<div class="outline-text-2" id="text-2">
<div class="org-src-container">
<pre class="src src-emacs-lisp">(tool-bar-mode -1)
(menu-bar-mode -1)
(scroll-bar-mode -1)
(line-number-mode 1)
(column-number-mode 1)
(display-battery-mode 1)
(global-unset-key (kbd "C-z"))
</pre>
</div>
</div>
</div>
<div id="outline-container-sec-3" class="outline-2">
<h2 id="sec-3"><span class="section-number-2">3</span> functions</h2>
<div class="outline-text-2" id="text-3">
</div><div id="outline-container-sec-3-1" class="outline-3">
<h3 id="sec-3-1"><span class="section-number-3">3.1</span> text</h3>
<div class="outline-text-3" id="text-3-1">
</div><div id="outline-container-sec-3-1-1" class="outline-4">
<h4 id="sec-3-1-1"><span class="section-number-4">3.1.1</span> copy whole line</h4>
<div class="outline-text-4" id="text-3-1-1">
<div class="org-src-container">
<pre class="src src-emacs-lisp">(defun copy-whole-line ()
(interactive)
(save-excursion
(kill-new
(buffer-substring
(point-at-bol)
(point-at-eol)))))
(global-set-key (kbd "C-c k l") 'copy-whole-line)
</pre>
</div>
</div>
</div>
<div id="outline-container-sec-3-1-2" class="outline-4">
<h4 id="sec-3-1-2"><span class="section-number-4">3.1.2</span> kill whole word</h4>
<div class="outline-text-4" id="text-3-1-2">
<div class="org-src-container">
<pre class="src src-emacs-lisp">(defun kill-whole-word ()
(interactive)
(backward-word)
(kill-word 1))
(global-set-key (kbd "C-c k w") 'kill-whole-word)
</pre>
</div>
</div>
</div>
<div id="outline-container-sec-3-1-3" class="outline-4">
<h4 id="sec-3-1-3"><span class="section-number-4">3.1.3</span> kill whole line</h4>
<div class="outline-text-4" id="text-3-1-3">
<div class="org-src-container">
<pre class="src src-emacs-lisp">(defun manx/kill-whole-line()
(interactive)
(move-beginning-of-line nil)
(kill-whole-line))
(global-set-key (kbd "C-c k l") 'manx/kill-whole-line)
</pre>
</div>
</div>
</div>
<div id="outline-container-sec-3-1-4" class="outline-4">
<h4 id="sec-3-1-4"><span class="section-number-4">3.1.4</span> comment region</h4>
<div class="outline-text-4" id="text-3-1-4">
<div class="org-src-container">
<pre class="src src-emacs-lisp">(defun manx/revert-buffer ()
(interactive)
(revert-buffer))
(global-set-key (kbd "C-c r b") 'manx/revert-buffer)
</pre>
</div>
</div>
</div>
<div id="outline-container-sec-3-1-5" class="outline-4">
<h4 id="sec-3-1-5"><span class="section-number-4">3.1.5</span> yas-expand for when company decides to be shit</h4>
<div class="outline-text-4" id="text-3-1-5">
<div class="org-src-container">
<pre class="src src-emacs-lisp">(global-set-key (kbd "C-c /") 'yas-expand)
</pre>
</div>
</div>
</div>
<div id="outline-container-sec-3-1-6" class="outline-4">
<h4 id="sec-3-1-6"><span class="section-number-4">3.1.6</span> Format whole file</h4>
<div class="outline-text-4" id="text-3-1-6">
<div class="org-src-container">
<pre class="src src-emacs-lisp">(defun manx/format-whole-buffer()
(interactive)
(save-excursion
(indent-region (point-min) (point-max) nil)))
(global-set-key (kbd "s-i") 'manx/format-whole-buffer)
</pre>
</div>
</div>
</div>
</div>
<div id="outline-container-sec-3-2" class="outline-3">
<h3 id="sec-3-2"><span class="section-number-3">3.2</span> buffers</h3>
<div class="outline-text-3" id="text-3-2">
</div><div id="outline-container-sec-3-2-1" class="outline-4">
<h4 id="sec-3-2-1"><span class="section-number-4">3.2.1</span> kill current buffer</h4>
<div class="outline-text-4" id="text-3-2-1">
<div class="org-src-container">
<pre class="src src-emacs-lisp">(defun kill-current-buffer()
(interactive)
(kill-buffer (current-buffer)))
(global-set-key (kbd "C-x k") 'kill-current-buffer)
</pre>
</div>
</div>
</div>
<div id="outline-container-sec-3-2-2" class="outline-4">
<h4 id="sec-3-2-2"><span class="section-number-4">3.2.2</span> kill all buffers</h4>
<div class="outline-text-4" id="text-3-2-2">
<div class="org-src-container">
<pre class="src src-emacs-lisp">(defun kill-all-buffers()
(interactive)
(mapc 'kill-buffer (buffer-list)))
(global-set-key (kbd "C-M-s-k") 'kill-all-buffers)
</pre>
</div>
</div>
</div>
</div>
<div id="outline-container-sec-3-3" class="outline-3">
<h3 id="sec-3-3"><span class="section-number-3">3.3</span> frames</h3>
<div class="outline-text-3" id="text-3-3">
</div><div id="outline-container-sec-3-3-1" class="outline-4">
<h4 id="sec-3-3-1"><span class="section-number-4">3.3.1</span> transpose frame</h4>
<div class="outline-text-4" id="text-3-3-1">
<div class="org-src-container">
<pre class="src src-emacs-lisp">(global-set-key (kbd "C-c f t") 'transpose-frame)
</pre>
</div>
</div>
</div>
<div id="outline-container-sec-3-3-2" class="outline-4">
<h4 id="sec-3-3-2"><span class="section-number-4">3.3.2</span> flip frame</h4>
<div class="outline-text-4" id="text-3-3-2">
<div class="org-src-container">
<pre class="src src-emacs-lisp">;; _f_rame fl_i_p
(global-set-key (kbd "C-c f i") 'flip-frame)
</pre>
</div>
</div>
</div>
<div id="outline-container-sec-3-3-3" class="outline-4">
<h4 id="sec-3-3-3"><span class="section-number-4">3.3.3</span> flop frame</h4>
<div class="outline-text-4" id="text-3-3-3">
<div class="org-src-container">
<pre class="src src-emacs-lisp">;; _f_rame fl_o_p
(global-set-key (kbd "C-c f o") 'flop-frame)
</pre>
</div>
</div>
</div>
<div id="outline-container-sec-3-3-4" class="outline-4">
<h4 id="sec-3-3-4"><span class="section-number-4">3.3.4</span> split and follow vertically</h4>
<div class="outline-text-4" id="text-3-3-4">
<div class="org-src-container">
<pre class="src src-emacs-lisp">(defun split-and-follow-vertical ()
(interactive)
(split-window-right)
(balance-windows)
(other-window 1))
(global-set-key (kbd "C-x 3") 'split-and-follow-vertical)
</pre>
</div>
</div>
</div>
<div id="outline-container-sec-3-3-5" class="outline-4">
<h4 id="sec-3-3-5"><span class="section-number-4">3.3.5</span> split and follow hoizontally</h4>
<div class="outline-text-4" id="text-3-3-5">
<div class="org-src-container">
<pre class="src src-emacs-lisp">(defun split-and-follow-horizontal ()
(interactive)
(split-window-below)
(balance-windows)
(other-window 1))
(global-set-key (kbd "C-x 2") 'split-and-follow-horizontal)
</pre>
</div>
</div>
</div>
</div>
<div id="outline-container-sec-3-4" class="outline-3">
<h3 id="sec-3-4"><span class="section-number-3">3.4</span> EXWM workspace</h3>
<div class="outline-text-3" id="text-3-4">
<div class="org-src-container">
<pre class="src src-emacs-lisp">(global-set-key (kbd "s-k") 'exwm-workspace-delete)
</pre>
</div>
</div>
</div>
</div>
<div id="outline-container-sec-4" class="outline-2">
<h2 id="sec-4"><span class="section-number-2">4</span> use-package</h2>
<div class="outline-text-2" id="text-4">
</div><div id="outline-container-sec-4-1" class="outline-3">
<h3 id="sec-4-1"><span class="section-number-3">4.1</span> org-babel-http</h3>
<div class="outline-text-3" id="text-4-1">
<div class="org-src-container">
<pre class="src src-emacs-lisp">(use-package ob-http
:ensure t)
</pre>
</div>
</div>
</div>
<div id="outline-container-sec-4-2" class="outline-3">
<h3 id="sec-4-2"><span class="section-number-3">4.2</span> exwm</h3>
<div class="outline-text-3" id="text-4-2">
</div><div id="outline-container-sec-4-2-1" class="outline-4">
<h4 id="sec-4-2-1"><span class="section-number-4">4.2.1</span> install</h4>
<div class="outline-text-4" id="text-4-2-1">
<div class="org-src-container">
<pre class="src src-emacs-lisp">(use-package exwm
:ensure t
:config
(require 'exwm-config)
(exwm-config-default))
</pre>
</div>
</div>
</div>
<div id="outline-container-sec-4-2-2" class="outline-4">
<h4 id="sec-4-2-2"><span class="section-number-4">4.2.2</span> system tray</h4>
<div class="outline-text-4" id="text-4-2-2">
<div class="org-src-container">
<pre class="src src-emacs-lisp">(require 'exwm-systemtray)
(exwm-systemtray-enable)
</pre>
</div>
</div>
</div>
</div>
<div id="outline-container-sec-4-3" class="outline-3">
<h3 id="sec-4-3"><span class="section-number-3">4.3</span> diminish</h3>
<div class="outline-text-3" id="text-4-3">
<p>
Packages are diminished individually by use-package key, making
everything a bit more modular
</p>
<div class="org-src-container">
<pre class="src src-emacs-lisp">(use-package diminish
:ensure t)
</pre>
</div>
</div>
</div>
<div id="outline-container-sec-4-4" class="outline-3">
<h3 id="sec-4-4"><span class="section-number-3">4.4</span> company</h3>
<div class="outline-text-3" id="text-4-4">
</div><div id="outline-container-sec-4-4-1" class="outline-4">
<h4 id="sec-4-4-1"><span class="section-number-4">4.4.1</span> company</h4>
<div class="outline-text-4" id="text-4-4-1">
<div class="org-src-container">
<pre class="src src-emacs-lisp">(use-package company
:ensure t
:diminish 'company-mode
:config
(setq company-idle-delay 0)
(setq company-minimum-prefix-length 3)
:init (add-hook 'after-init-hook 'global-company-mode))
</pre>
</div>
</div>
</div>
<div id="outline-container-sec-4-4-2" class="outline-4">
<h4 id="sec-4-4-2"><span class="section-number-4">4.4.2</span> slime</h4>
<div class="outline-text-4" id="text-4-4-2">
<div class="org-src-container">
<pre class="src src-emacs-lisp">(use-package slime-company
:ensure t
:diminish 'slime-mode)
(slime-setup '(slime-fancy slime-company))
</pre>
</div>
</div>
</div>
<div id="outline-container-sec-4-4-3" class="outline-4">
<h4 id="sec-4-4-3"><span class="section-number-4">4.4.3</span> auctex</h4>
<div class="outline-text-4" id="text-4-4-3">
<div class="org-src-container">
<pre class="src src-emacs-lisp">(use-package company-auctex
:ensure t)
(company-auctex-init)
</pre>
</div>
</div>
</div>
</div>
<div id="outline-container-sec-4-5" class="outline-3">
<h3 id="sec-4-5"><span class="section-number-3">4.5</span> omnisharp</h3>
<div class="outline-text-3" id="text-4-5">
<div class="org-src-container">
<pre class="src src-emacs-lisp">(use-package csharp-mode
:ensure t)
(use-package omnisharp
:ensure t
:init (add-hook 'csharp-mode-hook 'omnisharp-mode))
(eval-after-load 'company
'(add-to-list 'company-backends 'company-omnisharp))
(add-hook 'csharp-mode #'company-mode)
</pre>
</div>
</div>
</div>
<div id="outline-container-sec-4-6" class="outline-3">
<h3 id="sec-4-6"><span class="section-number-3">4.6</span> auctex</h3>
<div class="outline-text-3" id="text-4-6">
</div><div id="outline-container-sec-4-6-1" class="outline-4">
<h4 id="sec-4-6-1"><span class="section-number-4">4.6.1</span> auctex</h4>
<div class="outline-text-4" id="text-4-6-1">
<div class="org-src-container">
<pre class="src src-emacs-lisp">(use-package tex
:ensure auctex)
</pre>
</div>
</div>
</div>
<div id="outline-container-sec-4-6-2" class="outline-4">
<h4 id="sec-4-6-2"><span class="section-number-4">4.6.2</span> indent</h4>
<div class="outline-text-4" id="text-4-6-2">
<div class="org-src-container">
<pre class="src src-emacs-lisp">(setq LaTeX-item-indent 0)
</pre>
</div>
</div>
</div>
</div>
<div id="outline-container-sec-4-7" class="outline-3">
<h3 id="sec-4-7"><span class="section-number-3">4.7</span> spaceline</h3>
<div class="outline-text-3" id="text-4-7">
<div class="org-src-container">
<pre class="src src-emacs-lisp">(use-package spaceline
:ensure t
:config
(require 'spaceline-config)
(setq powerline-default-seperator (quote arrow))
(spaceline-spacemacs-theme))
(spaceline-toggle-buffer-size-off)
</pre>
</div>
</div>
</div>
<div id="outline-container-sec-4-8" class="outline-3">
<h3 id="sec-4-8"><span class="section-number-3">4.8</span> dashboard</h3>
<div class="outline-text-3" id="text-4-8">
<div class="org-src-container">
<pre class="src src-emacs-lisp">(use-package dashboard
:ensure t
:config
(dashboard-setup-startup-hook)
(setq dashboard-center-content t
dashboard-items '((recents . 5))
dashboard-banner-logo-title "Okaeri ~"))
</pre>
</div>
</div>
</div>
<div id="outline-container-sec-4-9" class="outline-3">
<h3 id="sec-4-9"><span class="section-number-3">4.9</span> avy</h3>
<div class="outline-text-3" id="text-4-9">
<div class="org-src-container">
<pre class="src src-emacs-lisp">(use-package avy
:ensure t
:bind ("M-s" . avy-goto-char))
</pre>
</div>
</div>
</div>
<div id="outline-container-sec-4-10" class="outline-3">
<h3 id="sec-4-10"><span class="section-number-3">4.10</span> which key</h3>
<div class="outline-text-3" id="text-4-10">
<div class="org-src-container">
<pre class="src src-emacs-lisp">(use-package which-key
:ensure t
:diminish 'which-key-mode
:init (which-key-mode))
</pre>
</div>
</div>
</div>
<div id="outline-container-sec-4-11" class="outline-3">
<h3 id="sec-4-11"><span class="section-number-3">4.11</span> slime</h3>
<div class="outline-text-3" id="text-4-11">
<div class="org-src-container">
<pre class="src src-emacs-lisp">(use-package slime
:ensure t
:init
(setq inferior-lisp-program "/usr/bin/sbcl")
(add-hook 'lisp-mode-hook 'slime-mode))
</pre>
</div>
</div>
</div>
<div id="outline-container-sec-4-12" class="outline-3">
<h3 id="sec-4-12"><span class="section-number-3">4.12</span> switch window</h3>
<div class="outline-text-3" id="text-4-12">
<div class="org-src-container">
<pre class="src src-emacs-lisp">(use-package switch-window
:ensure t
:config
(setq switch-window-input-style 'minibuffer)
(setq switch-window-increase 4)
(setq switch-window-threshold 2)
:bind ([remap other-window] . switch-window))
</pre>
</div>
</div>
</div>
<div id="outline-container-sec-4-13" class="outline-3">
<h3 id="sec-4-13"><span class="section-number-3">4.13</span> popup kill ring</h3>
<div class="outline-text-3" id="text-4-13">
<div class="org-src-container">
<pre class="src src-emacs-lisp">(use-package popup-kill-ring
:ensure t
:bind ("M-y" . popup-kill-ring))
</pre>
</div>
</div>
</div>
<div id="outline-container-sec-4-14" class="outline-3">
<h3 id="sec-4-14"><span class="section-number-3">4.14</span> minor modes</h3>
<div class="outline-text-3" id="text-4-14">
</div><div id="outline-container-sec-4-14-1" class="outline-4">
<h4 id="sec-4-14-1"><span class="section-number-4">4.14.1</span> hungry delete</h4>
<div class="outline-text-4" id="text-4-14-1">
<div class="org-src-container">
<pre class="src src-emacs-lisp">(use-package hungry-delete
:ensure t
:diminish 'hungry-delete-mode
:config (global-hungry-delete-mode 1))
</pre>
</div>
</div>
</div>
<div id="outline-container-sec-4-14-2" class="outline-4">
<h4 id="sec-4-14-2"><span class="section-number-4">4.14.2</span> symon</h4>
<div class="outline-text-4" id="text-4-14-2">
<div class="org-src-container">
<pre class="src src-emacs-lisp">(use-package symon
:ensure t
:bind ("s-h" . symon-mode))
</pre>
</div>
</div>
</div>
<div id="outline-container-sec-4-14-3" class="outline-4">
<h4 id="sec-4-14-3"><span class="section-number-4">4.14.3</span> beacon</h4>
<div class="outline-text-4" id="text-4-14-3">
<div class="org-src-container">
<pre class="src src-emacs-lisp">(use-package beacon
:ensure t
:diminish 'beacon-mode
:init (beacon-mode 1))
</pre>
</div>
</div>
</div>
<div id="outline-container-sec-4-14-4" class="outline-4">
<h4 id="sec-4-14-4"><span class="section-number-4">4.14.4</span> yasnippet</h4>
<div class="outline-text-4" id="text-4-14-4">
</div><ol class="org-ol"><li><a id="sec-4-14-4-1" name="sec-4-14-4-1"></a>package<br ><div class="outline-text-5" id="text-4-14-4-1">
<div class="org-src-container">
<pre class="src src-emacs-lisp">(use-package yasnippet
:ensure t
:diminish 'yas-minor-mode
:config (use-package yasnippet-snippets
:ensure t)
(yas-reload-all))
</pre>
</div>
</div>
</li>
<li><a id="sec-4-14-4-2" name="sec-4-14-4-2"></a>enable for major modes<br ><div class="outline-text-5" id="text-4-14-4-2">
<div class="org-src-container">
<pre class="src src-emacs-lisp">(add-hook 'html-mode-hook 'yas-minor-mode)
(add-hook 'LaTeX-mode-hook 'yas-minor-mode)
(add-hook 'emacs-lisp-mode 'yas-minor-mode)
</pre>
</div>
</div>
</li></ol>
</div>
</div>
<div id="outline-container-sec-4-15" class="outline-3">
<h3 id="sec-4-15"><span class="section-number-3">4.15</span> Javascript</h3>
<div class="outline-text-3" id="text-4-15">
<div class="org-src-container">
<pre class="src src-emacs-lisp">(use-package js2-mode
:ensure t)
</pre>
</div>
</div>
</div>
</div>
<div id="outline-container-sec-5" class="outline-2">
<h2 id="sec-5"><span class="section-number-2">5</span> ido</h2>
<div class="outline-text-2" id="text-5">
</div><div id="outline-container-sec-5-1" class="outline-3">
<h3 id="sec-5-1"><span class="section-number-3">5.1</span> Enable IDO</h3>
<div class="outline-text-3" id="text-5-1">
<div class="org-src-container">
<pre class="src src-emacs-lisp">(setq ido-enable-flex-matching t)
(setq ido-create-new-buffer 'always)
(setq ido-everywhere 1)
(ido-mode 1)
(global-set-key (kbd "C-l") 'ido-reread-directory)
</pre>
</div>
</div>
</div>
<div id="outline-container-sec-5-2" class="outline-3">
<h3 id="sec-5-2"><span class="section-number-3">5.2</span> IDO vertical</h3>
<div class="outline-text-3" id="text-5-2">
<div class="org-src-container">
<pre class="src src-emacs-lisp">(use-package ido-vertical-mode
:ensure t
:init (ido-vertical-mode 1))
(setq ido-vertical-define-keys 'C-n-and-C-p-only)
</pre>
</div>
</div>
</div>
</div>
<div id="outline-container-sec-6" class="outline-2">
<h2 id="sec-6"><span class="section-number-2">6</span> misc</h2>
<div class="outline-text-2" id="text-6">
</div><div id="outline-container-sec-6-1" class="outline-3">
<h3 id="sec-6-1"><span class="section-number-3">6.1</span> UTF8</h3>
<div class="outline-text-3" id="text-6-1">
<div class="org-src-container">
<pre class="src src-emacs-lisp">(setq locale-coding-system 'utf-8)
(set-terminal-coding-system 'utf-8)
(set-keyboard-coding-system 'utf-8)
(set-selection-coding-system 'utf-8)
(prefer-coding-system 'utf-8)
</pre>
</div>
</div>
</div>
<div id="outline-container-sec-6-2" class="outline-3">
<h3 id="sec-6-2"><span class="section-number-3">6.2</span> terminal</h3>
<div class="outline-text-3" id="text-6-2">
</div><div id="outline-container-sec-6-2-1" class="outline-4">
<h4 id="sec-6-2-1"><span class="section-number-4">6.2.1</span> Make bash implicit terminal</h4>
<div class="outline-text-4" id="text-6-2-1">
<div class="org-src-container">
<pre class="src src-emacs-lisp">(defvar my-term-shell "/bin/bash")
(defadvice ansi-term (before force-bash)
(interactive (list my-term-shell)))
(ad-activate 'ansi-term)
</pre>
</div>
</div>
</div>
<div id="outline-container-sec-6-2-2" class="outline-4">
<h4 id="sec-6-2-2"><span class="section-number-4">6.2.2</span> open term with s-return</h4>
<div class="outline-text-4" id="text-6-2-2">
<div class="org-src-container">
<pre class="src src-emacs-lisp">(global-set-key (kbd "&lt;s-return&gt;") 'ansi-term)
</pre>
</div>
</div>
</div>
</div>
<div id="outline-container-sec-6-3" class="outline-3">
<h3 id="sec-6-3"><span class="section-number-3">6.3</span> parenthesis matching</h3>
<div class="outline-text-3" id="text-6-3">
<div class="org-src-container">
<pre class="src src-emacs-lisp">(show-paren-mode 1)
</pre>
</div>
</div>
</div>
<div id="outline-container-sec-6-4" class="outline-3">
<h3 id="sec-6-4"><span class="section-number-3">6.4</span> copy/paste</h3>
<div class="outline-text-3" id="text-6-4">
<div class="org-src-container">
<pre class="src src-emacs-lisp">(setq x-select-enable-clipboard t)
</pre>
</div>
</div>
</div>
<div id="outline-container-sec-6-5" class="outline-3">
<h3 id="sec-6-5"><span class="section-number-3">6.5</span> y/n instead of yes/no</h3>
<div class="outline-text-3" id="text-6-5">
<div class="org-src-container">
<pre class="src src-emacs-lisp">(defalias 'yes-or-no-p 'y-or-n-p)
</pre>
</div>
</div>
</div>
<div id="outline-container-sec-6-6" class="outline-3">
<h3 id="sec-6-6"><span class="section-number-3">6.6</span> electric pair mode</h3>
<div class="outline-text-3" id="text-6-6">
<div class="org-src-container">
<pre class="src src-emacs-lisp">(electric-pair-mode t)
</pre>
</div>
</div>
</div>
<div id="outline-container-sec-6-7" class="outline-3">
<h3 id="sec-6-7"><span class="section-number-3">6.7</span> scroll line by line</h3>
<div class="outline-text-3" id="text-6-7">
<div class="org-src-container">
<pre class="src src-emacs-lisp">(setq scroll-conservatively 100)
</pre>
</div>
</div>
</div>
<div id="outline-container-sec-6-8" class="outline-3">
<h3 id="sec-6-8"><span class="section-number-3">6.8</span> highlight line</h3>
<div class="outline-text-3" id="text-6-8">
<div class="org-src-container">
<pre class="src src-emacs-lisp">(global-hl-line-mode t)
</pre>
</div>
</div>
</div>
<div id="outline-container-sec-6-9" class="outline-3">
<h3 id="sec-6-9"><span class="section-number-3">6.9</span> prettify symbols</h3>
<div class="outline-text-3" id="text-6-9">
<div class="org-src-container">
<pre class="src src-emacs-lisp">(global-prettify-symbols-mode t)
</pre>
</div>
</div>
</div>
<div id="outline-container-sec-6-10" class="outline-3">
<h3 id="sec-6-10"><span class="section-number-3">6.10</span> docView auto reload</h3>
<div class="outline-text-3" id="text-6-10">
<div class="org-src-container">
<pre class="src src-emacs-lisp">(add-hook 'doc-view-mode-hook 'auto-revert-mode)
</pre>
</div>
</div>
</div>
<div id="outline-container-sec-6-11" class="outline-3">
<h3 id="sec-6-11"><span class="section-number-3">6.11</span> Indentation</h3>
<div class="outline-text-3" id="text-6-11">
<div class="org-src-container">
<pre class="src src-emacs-lisp">(setq-default tab-width 2)
(setq-default indent-tabs-mode t)
(defvaralias 'js-indent-level 'tab-width)
(defvaralias js2-basic-offset 'tab-width)
(defvaralias 'css-indent-offset 'tab-width)
</pre>
</div>
</div>
</div>
</div>
<div id="outline-container-sec-7" class="outline-2">
<h2 id="sec-7"><span class="section-number-2">7</span> auto-minor-mode</h2>
<div class="outline-text-2" id="text-7">
<p>
auto-mode-alist but for minor modes.
</p>
<p>
For example, used with sensitive-mode to not create backups
(path/to/file~) when creating yasnippets
</p>
<div class="org-src-container">
<pre class="src src-emacs-lisp">(defvar auto-minor-mode-alist ()
"Alist of filename patterns vs correpsonding minor mode functions, see `auto-mode-alist'
All elements of this alist are checked, meaning you can enable multiple minor modes for the same regexp.")
(defun enable-minor-mode-based-on-extension ()
"Check file name against `auto-minor-mode-alist' to enable minor modes
the checking happens for all pairs in auto-minor-mode-alist"
(when buffer-file-name
(let ((name (file-name-sans-versions buffer-file-name))
(remote-id (file-remote-p buffer-file-name))
(case-fold-search auto-mode-case-fold)
(alist auto-minor-mode-alist))
;; Remove remote file name identification.
(when (and (stringp remote-id)
(string-match-p (regexp-quote remote-id) name))
(setq name (substring name (match-end 0))))
(while (and alist (caar alist) (cdar alist))
(if (string-match-p (caar alist) name)
(funcall (cdar alist) 1))
(setq alist (cdr alist))))))
(add-hook 'find-file-hook #'enable-minor-mode-based-on-extension)
</pre>
</div>
</div>
</div>
<div id="outline-container-sec-8" class="outline-2">
<h2 id="sec-8"><span class="section-number-2">8</span> sensitive-minor-mode</h2>
<div class="outline-text-2" id="text-8">
<div class="org-src-container">
<pre class="src src-emacs-lisp">(define-minor-mode sensitive-minor-mode
"For sensitive files like password lists.
It disables backup creation and auto saving.
With no argument, this command toggles the mode.
Non-null prefix argument turns on the mode.
Null prefix argument turns off the mode."
;; The initial value.
nil
;; The indicator for the mode line.
" Sensitive"
;; The minor mode bindings.
nil
(if (symbol-value sensitive-minor-mode)
(progn
;; disable backups
(set (make-local-variable 'backup-inhibited) t)
;; disable auto-save
(if auto-save-default
(auto-save-mode -1)))
;resort to default value of backup-inhibited
(kill-local-variable 'backup-inhibited)
;resort to default auto save setting
(if auto-save-default
(auto-save-mode 1))))
;; Regexps of sensitive files.
(setq auto-minor-mode-alist
(append
'(("stream/manifest/.*\\.json$" . sensitive-minor-mode)
(".emacs.d/snippets/\*$" . sensitive-minor-mode))
auto-minor-mode-alist))
</pre>
</div>
</div>
</div>
<div id="outline-container-sec-9" class="outline-2">
<h2 id="sec-9"><span class="section-number-2">9</span> unix line endings</h2>
<div class="outline-text-2" id="text-9">
<div class="org-src-container">
<pre class="src src-emacs-lisp">(defun unix-line-ends ()
(let ((coding-str (symbol-name buffer-file-coding-system)))
(when (string-match "-\\(?:dos\\|mac\\)$" coding-str)
(set-buffer-file-coding-system 'unix))))
(add-hook 'find-file-hooks 'unix-line-ends)
</pre>
</div>
<div class="org-src-container">
<pre class="src src-javascript">new Date().getSeconds();
</pre>
</div>
</div>
</div>
</div>
<div id="postamble" class="status">
<p class="date">Created: 2020-04-03 Fri 18:59</p>
<p class="creator"><a href="http://www.gnu.org/software/emacs/">Emacs</a> 24.5.1 (<a href="http://orgmode.org">Org</a> mode 8.2.10)</p>
<p class="validation"><a href="http://validator.w3.org/check?uri=referer">Validate</a></p>
</div>
</body>
</html>