Created
August 17, 2017 00:40
-
-
Save mbacou/a7a6fed9f0311112dda84eb2cfd72343 to your computer and use it in GitHub Desktop.
Standard emacs configuration on Ubuntu 16.04 cloud server
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
;; Load themes | |
(add-to-list 'custom-theme-load-path "~/.emacs.d/themes/") | |
(custom-set-variables | |
;; custom-set-variables was added by Custom. | |
;; If you edit it by hand, you could mess it up, so be careful. | |
;; Your init file should contain only one such instance. | |
;; If there is more than one, they won't work right. | |
'(ansi-color-faces-vector | |
[default bold shadow italic underline bold bold-italic bold]) | |
'(blink-cursor-mode nil) | |
'(c-ignore-auto-fill (quote (cpp))) | |
'(column-number-mode t) | |
'(comint-move-point-for-output t) | |
'(comint-scroll-to-bottom-on-input t) | |
'(comint-scroll-to-bottom-on-output t) | |
'(comment-auto-fill-only-comments t) | |
'(compilation-scroll-output (quote first-error)) | |
'(cua-enable-cua-keys t) | |
'(cua-highlight-region-shift-only t) | |
'(cua-keep-region-after-copy t) | |
'(cua-mode t nil (cua-base)) | |
'(cua-normal-cursor-color "black") | |
'(cursor-in-non-selected-windows nil) | |
'(cursor-type (quote bar)) | |
'(custom-enabled-themes (quote (mbacou))) | |
'(custom-safe-themes | |
(quote | |
(default))) | |
'(delete-selection-mode t) | |
'(desktop-save-mode nil) | |
'(fancy-splash-image nil) | |
'(fci-dash-pattern 0.5) | |
'(fci-rule-color "light blue") | |
'(fci-rule-use-dashes t) | |
'(fill-column 86) | |
'(fringe-mode 18 nil (fringe)) | |
'(global-hl-line-mode t) | |
'(global-visual-line-mode nil) | |
'(hl-paren-background-colors (quote ("#2492db" "#95a5a6" nil))) | |
'(hl-paren-colors (quote ("#ecf0f1" "#ecf0f1" "#c0392b"))) | |
'(indent-tabs-mode nil) | |
'(inhibit-startup-screen t) | |
'(initial-frame-alist nil) | |
'(initial-major-mode (quote org-mode)) | |
'(initial-scratch-message nil) | |
'(ispell-dictionary "english") | |
'(ispell-program-name "aspell") | |
'(line-spacing 0.33) | |
'(linum-format " %6d ") | |
'(main-line-color1 "#222232") | |
'(main-line-color2 "#333343") | |
'(make-backup-files nil) | |
'(make-cursor-line-fully-visible t) | |
'(minibuffer-frame-alist nil) | |
'(mouse-wheel-follow-mouse nil) | |
'(mouse-wheel-progressive-speed nil) | |
'(mouse-wheel-scroll-amount (quote (4 ((shift) . 8)))) | |
'(package-selected-packages | |
(quote | |
(smex org table sql-indent pcsv json-mode htmlize gh f dired-single csv-mode color-theme auto-complete async))) | |
'(powerline-color1 "#222232") | |
'(powerline-color2 "#333343") | |
'(recentf-menu-before nil) | |
'(recentf-mode t) | |
'(scroll-bar-mode nil) | |
'(scroll-conservatively 10000) | |
'(shell-file-name "bash") | |
'(shift-select-mode t) | |
'(size-indication-mode t) | |
'(sml/active-background-color "#34495e") | |
'(sml/active-foreground-color "#ecf0f1") | |
'(sml/inactive-background-color "#dfe4ea") | |
'(sml/inactive-foreground-color "#34495e") | |
'(sql-font-lock-buffers (quote all)) | |
'(tab-width 4) | |
'(tooltip-mode nil) | |
'(tramp-default-method "sshx") | |
'(vc-annotate-background nil) | |
'(vc-annotate-color-map | |
(quote | |
((20 . "#f36c60") | |
(40 . "#ff9800") | |
(60 . "#fff59d") | |
(80 . "#8bc34a") | |
(100 . "#81d4fa") | |
(120 . "#4dd0e1") | |
(140 . "#b39ddb") | |
(160 . "#f36c60") | |
(180 . "#ff9800") | |
(200 . "#fff59d") | |
(220 . "#8bc34a") | |
(240 . "#81d4fa") | |
(260 . "#4dd0e1") | |
(280 . "#b39ddb") | |
(300 . "#f36c60") | |
(320 . "#ff9800") | |
(340 . "#fff59d") | |
(360 . "#8bc34a")))) | |
'(vc-annotate-very-old-color nil) | |
'(visible-bell t) | |
'(visible-cursor nil) | |
'(visual-line-mode nil t)) | |
(custom-set-faces | |
;; custom-set-faces was added by Custom. | |
;; If you edit it by hand, you could mess it up, so be careful. | |
;; Your init file should contain only one such instance. | |
;; If there is more than one, they won't work right. | |
) | |
;; Add MELPA and other source repos | |
(package-initialize) | |
(setq package-archives '(("gnu" . "http://elpa.gnu.org/packages/") | |
("melpa" . "http://melpa.milkbox.net/packages/"))) | |
;; Add git support | |
(setq vc-handled-backends (quote (Git))) | |
;; TeX and AucTeX configuration | |
(setq tex-PDF-mode t | |
tex-auto-save t | |
tex-parse-self t) | |
(add-hook 'LaTeX-mode-hook 'aspell-mode) | |
(add-hook 'LaTeX-mode-hook 'visual-line-mode t) | |
(add-hook 'LaTeX-mode-hook 'LaTeX-math-mode) | |
;; Org configuration | |
(setq org-export-backends (quote (beamer html latex)) | |
org-agenda-compact-blocks t | |
org-agenda-dim-blocked-tasks nil | |
org-agenda-exporter-settings | |
'((ps-number-of-columns 2) | |
(ps-landscape-mode t) | |
(org-agenda-add-entry-text-maxlines 0) | |
(htmlize-output-type 'css)) | |
org-agenda-window-setup 'current-window | |
org-agenda-todo-ignore-deadlines t | |
org-agenda-todo-ignore-scheduled t | |
org-agenda-todo-ignore-with-date t | |
org-babel-R-command "R --slave --no-save" | |
org-time-stamp-rounding-minutes 15 | |
org-confirm-babel-evaluate nil | |
org-cycle-separator-lines 0 | |
org-CUA-compatible t | |
org-deadline-warning-days 150 | |
org-descriptive-links nil | |
org-export-allow-BIND t | |
org-replace-disputed-keys nil | |
org-footnote-define-inline +1 | |
org-footnote-auto-label 'random | |
org-footnote-auto-adjust nil | |
org-html-doctype "html5" | |
org-html-html5-fancy t | |
org-export-latex-listings 'listings | |
org-export-latex-listings t | |
org-insert-heading-respect-content t | |
org-latex-tables-booktabs t | |
org-list-allow-alphabetical t | |
org-list-indent-offset 2 | |
org-log-done 'date | |
org-loop-over-headlines-in-active-region t | |
org-read-date-prefer-future nil | |
org-reverse-note-order nil | |
org-src-fontify-natively t | |
org-src-tab-acts-natively t | |
org-src-window-setup 'current-window | |
org-support-shift-select t | |
org-tags-column -83 | |
org-timeline-show-empty-dates nil | |
org-list-demote-modify-bullet '(("+" . "-") ("-" . "+") ("1." . "A.") ("A." . "1.")) | |
org-latex-to-pdf-process | |
'("pdflatex -interaction nonstopmode %f" | |
"pdflatex -interaction nonstopmode %f") ;; for multiple passes | |
org-todo-keywords | |
'((type "MEET(m)" "|") | |
(sequence "TODO(t)" "ACTIVE(a)" "HOLD(h)" "|" "DONE(d)") | |
(sequence "|" "CANCELLED(c)") | |
(sequence "TOREAD(r)" "|" "READ(R)") | |
(sequence "TOWRITE(w)" "|" "WROTE(W)")) | |
org-todo-keyword-faces | |
'(("MEET" . font-lock-variable-name-face) ("ACTIVE" . org-todo) | |
("TODO" . org-todo) ("HOLD" . font-lock-string-face) ("CANCELED" . org-warning) | |
("DONE" . org-done) | |
("TOWRITE" . font-lock-type-face) ("WROTE" . org-done) | |
("TOREAD" . font-lock-type-face) ("READ" . org-done))) | |
(setq org-structure-template-alist | |
'(("s" "#+begin_src ?\n\n#+end_src" "<src lang=\"?\">\n\n</src>") | |
("e" "#+begin_example\n?\n#+end_example" "<example>\n?\n</example>") | |
("q" "#+begin_quote\n?\n#+end_quote" "<quote>\n?\n</quote>") | |
("l" "#+begin_latex\n?\n#+end_latex" "<literal style=\"latex\">\n?\n</literal>") | |
("L" "#+latex: " "<literal style=\"latex\">?</literal>") | |
("h" "#+begin_html\n?\n#+end_html" "<literal style=\"html\">\n?\n</literal>") | |
("H" "#+html: " "<literal style=\"html\">?</literal>") | |
("i" "#+index: ?" "#+index: ?") | |
("I" "#+include %file ?" "<include file=%file markup=\"?\">"))) | |
;; Load Org | |
(provide 'org-capture) | |
(provide 'ox-html) | |
(add-to-list 'auto-mode-alist '("\\.org\\'" . org-mode)) | |
(add-hook 'text-mode-hook 'visual-line-mode t) | |
(add-hook 'org-mode-hook 'visual-line-mode t) | |
(add-hook 'orgtbl-mode-hook 'truncate-lines t) | |
(add-hook 'text-mode-hook 'show-paren-mode nil) | |
(add-hook 'org-mode-hook 'show-paren-mode nil) | |
(org-babel-do-load-languages 'org-babel-load-languages | |
'((emacs-lisp . t) (sh . t) (R . t) (python . t) (js . t) (css . t) (sql . t))) | |
;; E-mail account configuration | |
(setq user-full-name "Bacou, Melanie" | |
user-mail-address "[email protected]" | |
message-signature | |
(concat | |
"--\n" | |
"Melanie BACOU\n" | |
"E-mail [email protected]\n") | |
mm-discouraged-alternatives '("text/html" "text/richtext") | |
message-generate-headers-first t | |
message-kill-buffer-on-exit t | |
imap-ssl-program "openssl s_client -ssl3 -quiet -connect %s:%p") | |
(setq message-send-mail-function 'smtpmail-send-it | |
smtpmail-default-smtp-server "mail.mbacou.com" | |
smtpmail-smtp-server "mail.mbacou.com" | |
smtpmail-smtp-service 465 | |
smtpmail-local-domain "mbacou.com") | |
;; CSV | |
(add-to-list 'auto-mode-alist '("\\.[Cc][Ss][Vv]\\'" . csv-mode)) | |
(autoload 'csv-mode "csv-mode" | |
"Major mode for editing comma-separated value files." t) | |
(setq csv-align-style (quote auto)) | |
(add-hook 'csv-mode-hook 'visual-line-mode 0) | |
;; Toggle case | |
(defun toggle-letter-case () | |
"Toggle the letter case of current word or text selection. | |
Toggles between: all lower, Init Caps, ALL CAPS." | |
(interactive) | |
(let (p1 p2 (deactivate-mark nil) (case-fold-search nil)) | |
(if (region-active-p) | |
(setq p1 (region-beginning) p2 (region-end)) | |
(let ((bds (bounds-of-thing-at-point 'word) ) ) | |
(setq p1 (car bds) p2 (cdr bds)) ) ) | |
(when (not (eq last-command this-command)) | |
(save-excursion | |
(goto-char p1) | |
(cond | |
((looking-at "[[:lower:]][[:lower:]]") (put this-command 'state "all lower")) | |
((looking-at "[[:upper:]][[:upper:]]") (put this-command 'state "all caps") ) | |
((looking-at "[[:upper:]][[:lower:]]") (put this-command 'state "init caps") ) | |
((looking-at "[[:lower:]]") (put this-command 'state "all lower")) | |
((looking-at "[[:upper:]]") (put this-command 'state "all caps") ) | |
(t (put this-command 'state "all lower") ) ) ) ) | |
(cond | |
((string= "all lower" (get this-command 'state)) | |
(upcase-initials-region p1 p2) (put this-command 'state "init caps")) | |
((string= "init caps" (get this-command 'state)) | |
(upcase-region p1 p2) (put this-command 'state "all caps")) | |
((string= "all caps" (get this-command 'state)) | |
(downcase-region p1 p2) (put this-command 'state "all lower")) ) | |
)) | |
;; New empty buffer | |
(defun xah-new-empty-buffer () | |
"Open a new empty buffer." | |
(interactive) | |
(let ((buf (generate-new-buffer "untitled"))) | |
(switch-to-buffer buf) | |
(funcall (and initial-major-mode)) | |
(setq buffer-offer-save t))) | |
;; Unfill region | |
(defun unfill-region (beg end) | |
"Unfill the region, joining text paragraphs into a single | |
logical line. This is useful, e.g., for use with `visual-line-mode'." | |
(interactive "*r") | |
(let ((fill-column (point-max))) (fill-region beg end))) | |
;; Global keyboard shortcuts | |
(global-unset-key (kbd "C-a")) | |
(global-set-key (kbd "C-a") 'mark-whole-buffer) | |
(global-unset-key (kbd "C-o")) | |
(global-set-key (kbd "C-o") 'find-file) | |
(global-unset-key (kbd "C-n")) | |
(global-set-key (kbd "C-n") 'xah-new-empty-buffer) | |
(global-unset-key (kbd "C-w")) | |
(global-set-key (kbd "C-w") 'kill-this-buffer) | |
(global-unset-key (kbd "C-s")) | |
(global-set-key (kbd "C-s") 'save-buffer) | |
(global-unset-key (kbd "C-f")) | |
(global-set-key (kbd "C-f") 'isearch-forward) | |
(global-unset-key (kbd "M-/")) | |
(global-set-key (kbd "M-/") 'toggle-letter-case) | |
(global-set-key (kbd "M-q") 'unfill-region) | |
(global-unset-key (kbd "C-d")) | |
(global-set-key (kbd "C-d") 'kill-whole-line) | |
(global-set-key (kbd "C-<prior>") 'next-buffer) | |
(global-set-key (kbd "C-<next>") 'previous-buffer) | |
(global-set-key (kbd "<f2>") 'toggle-truncate-lines) | |
(global-set-key (kbd "<f5>") 'org-capture) | |
(global-set-key (kbd "<f6>") 'org-agenda) | |
(global-set-key (kbd "<f8>") 'toggle-menu-bar-mode-from-frame) | |
(global-set-key (kbd "<f12>") 'kill-buffer-and-window) | |
(global-set-key (kbd "C-;") 'comment-or-uncomment-region) | |
(autoload 'session-jump-to-last-change "session") | |
(global-set-key (kbd "C-.") 'session-jump-to-last-change) |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment