Difference between revisions of "CentOS 7.x .emacs file"
From Notes_Wiki
(Created page with "<yambe:breadcrumb>CentOS_7.x_emacs|CentOS 7.x emacs</yambe:breadcrumb> =CentOS 7.x .emacs file= For CentOS 7.x use following .emacs file '''after fully updating emacs''': *If...") |
m |
||
| (2 intermediate revisions by the same user not shown) | |||
| Line 1: | Line 1: | ||
[[Main Page|Home]] > [[CentOS]] > [[CentOS 7.x]] > [[CentOS 7.x Desktop tools or applications|Desktop tools or applications]] > [[CentOS 7.x editor configuration]] > [[CentOS 7.x emacs]] > [[CentOS 7.x .emacs file]] | |||
For CentOS 7.x use following .emacs file after: | |||
*Fully update emacs | |||
<pre> | |||
yum -y install emacs | |||
</pre> | |||
*If erlang is not desired then comment erlang related lines. If it is desired then install erlang using: | |||
<pre> | |||
yum -y install erlang | |||
yum -y install yaws | |||
</pre> | |||
*For org-export-to-pdf install | |||
<pre> | |||
yum -y install texlive texlive-wrapfig #Very large package set | |||
</pre> | |||
*The first start of emacs after using this file may take some time as many packages will get downloaded and compiled. | *The first start of emacs after using this file may take some time as many packages will get downloaded and compiled. | ||
<pre> | <pre> | ||
;; .emacs - Assumes emacs 24.3-18+, org 7.9.3f+ | ;; .emacs - Assumes emacs 24.3-18+, org 7.9.3f+ | ||
| Line 12: | Line 27: | ||
;; Set full username and email address | ;; Set full username and email address | ||
(setq user-full-name "Saurabh Barjatiya") | (setq user-full-name "Saurabh Barjatiya") | ||
(setq user-mail-address "saurabh | (setq user-mail-address "saurabh [at] sbarjatiya.com") ; ***Correct Email address*** | ||
;Modify path as neeed | ;Modify path as neeed | ||
| Line 24: | Line 39: | ||
(load "package") | (load "package") | ||
(package-initialize) | (package-initialize) | ||
(add-to-list 'package-archives | ;(add-to-list 'package-archives | ||
; '("marmalade" . "http://marmalade-repo.org/packages/")) | |||
(add-to-list 'package-archives | (add-to-list 'package-archives | ||
'("melpa" . "http://melpa.milkbox.net/packages/") t) | '("melpa" . "http://melpa.milkbox.net/packages/") t) | ||
| Line 173: | Line 188: | ||
</pre> | </pre> | ||
[[Main Page|Home]] > [[CentOS]] > [[CentOS 7.x]] > [[CentOS 7.x Desktop tools or applications|Desktop tools or applications]] > [[CentOS 7.x editor configuration]] > [[CentOS 7.x emacs]] > [[CentOS 7.x .emacs file]] | |||
Latest revision as of 10:02, 25 August 2022
Home > CentOS > CentOS 7.x > Desktop tools or applications > CentOS 7.x editor configuration > CentOS 7.x emacs > CentOS 7.x .emacs file
For CentOS 7.x use following .emacs file after:
- Fully update emacs
yum -y install emacs
- If erlang is not desired then comment erlang related lines. If it is desired then install erlang using:
yum -y install erlang yum -y install yaws
- For org-export-to-pdf install
yum -y install texlive texlive-wrapfig #Very large package set
- The first start of emacs after using this file may take some time as many packages will get downloaded and compiled.
;; .emacs - Assumes emacs 24.3-18+, org 7.9.3f+
;; Considerable information learned from http://www.aaronbedra.com/emacs.d/
;; Set full username and email address
(setq user-full-name "Saurabh Barjatiya")
(setq user-mail-address "saurabh [at] sbarjatiya.com") ; ***Correct Email address***
;Modify path as neeed
;(setenv "PATH" (concat "/usr/local/bin:/opt/local/bin:/usr/bin:/bin" (getenv "PATH")))
;Package common lisp is required to add more functionality to emacs lisp to
;allow easier configuration of emacs. Without this loop used further in this file is not available.
(require 'cl)
;; Initialize built-in package manager
(load "package")
(package-initialize)
;(add-to-list 'package-archives
; '("marmalade" . "http://marmalade-repo.org/packages/"))
(add-to-list 'package-archives
'("melpa" . "http://melpa.milkbox.net/packages/") t)
(setq package-archive-enable-alist '(("melpa" deft magit)))
;; define list of default packages to install
(defvar saurabh/packages '(ac-slime
auto-complete
autopair
;clojure-mode
coffee-mode
csharp-mode
deft
erlang
feature-mode
flycheck
gist
go-mode
graphviz-dot-mode
haml-mode
haskell-mode
htmlize
;magit
markdown-mode
marmalade
nodejs-repl
o-blog
org
paredit
php-mode
puppet-mode
restclient
rvm
scala-mode
smex
sml-mode
solarized-theme
web-mode
writegood-mode
yaml-mode)
"Default packages")
;;Install default packages
(defun saurabh/packages-installed-p ()
(loop for pkg in saurabh/packages
when (not (package-installed-p pkg)) do (return nil)
finally (return t)))
(unless (saurabh/packages-installed-p)
(message "%s" "Refreshing package database...")
(package-refresh-contents)
(dolist (pkg saurabh/packages)
(when (not (package-installed-p pkg))
(package-install pkg))))
;; default to better frame titles
(setq frame-title-format
(concat "%b - emacs@" (system-name)))
;; default to unified diffs
(setq diff-switches "-u")
;;Preventing emacs from creating backup files
(setq make-backup-files nil)
;;Preventing emacs from creating auto-save files
(setq auto-save-default nil)
;;Use visual-line-mode for word wrap
(global-visual-line-mode 1)
;;Wrap lines at 70 columns
(set-fill-column 70)
;;Wrap lines at 70 columns and enable auto-fill-mode automatically
(setq-default fill-column 70)
(add-hook 'text-mode-hook 'turn-on-auto-fill)
;;Set default font-size to 120 (12pt)
(set-face-attribute 'default nil :height 120)
;;Setting up Emacs for use with Erlang
;;Update the below mentioned paths appropriately based on installation
(add-to-list 'load-path "/usr/lib64/erlang/lib/tools-2.6.13/emacs/")
(require 'erlang-start)
(add-to-list 'auto-mode-alist '("\\.erl?$" . erlang-mode))
(add-to-list 'auto-mode-alist '("\\.hrl?$" . erlang-mode))
(add-to-list 'auto-mode-alist '("\\.escript?$" . erlang-mode))
(setq erlang-root-dir "/usr/lib64/erlang")
(add-to-list 'exec-path "/usr/lib64/erlang/bin")
(setq erlang-man-root-dir "/usr/lib64/erlang/man")
;;Disable splash screen at start-up
(setq inhibit-splash-screen t)
;;Make emacs copy-paste M-w, C-y work with system copy-paste
(setq x-select-enable-clipboard t)
;;To maximize emacs window at start-up
(defun toggle-fullscreen ()
(interactive)
(x-send-client-message nil 0 nil "_NET_WM_STATE" 32
'(2 "_NET_WM_STATE_MAXIMIZED_VERT" 0))
(x-send-client-message nil 0 nil "_NET_WM_STATE" 32
'(2 "_NET_WM_STATE_MAXIMIZED_HORZ" 0))
)
(toggle-fullscreen)
;; PDFs visited in Org-mode are opened in Evince and not in the default choice
(add-hook 'org-mode-hook
'(lambda ()
(delete '("\\.pdf\\'" . default) org-file-apps)
(add-to-list 'org-file-apps '("\\.pdf\\'" . "evince %s"))))
;;For setting tab to 4 spaces for .py programs
(add-hook 'python-mode-hook
(lambda ()
(setq indent-tabs-mode 'nil)
(setq tab-width 4)
(setq python-indent 4)))
;;To set proper command for exporting latex to pdf from org-mode
(setq org-latex-to-pdf-process (quote ("pdflatex %f" "bibtex %b" "pdflatex %f")))
(setq org-latex-pdf-process (quote ("pdflatex %f" "bibtex %b" "pdflatex %f")))
;;Add INPROGRESS along with TODO, DONE. Also enable flyspell-mode and writegood-mode
;;while org-mode is active
(setq org-log-done 'nil
org-todo-keywords '((sequence "TODO" "INPROGRESS" "DONE"))
org-todo-keyword-faces '(("INPROGRESS" . (:foreground "blue" :weight bold))))
(add-hook 'org-mode-hook
(lambda ()
(flyspell-mode)))
(add-hook 'org-mode-hook
(lambda ()
(writegood-mode)))
Home > CentOS > CentOS 7.x > Desktop tools or applications > CentOS 7.x editor configuration > CentOS 7.x emacs > CentOS 7.x .emacs file