50_Emacs on SSH setup - normalform/freebsd_setup GitHub Wiki
edit or create .emacs/init.el file
- inhibit startup message
;; inhibit startup message
(setq inhibit-startup-message t)
- enable line numbers in all programming modes
;; enable line numbers in all programming modes
(add-hook 'prog-mode-hook 'linum-mode)
(setq linum-format "%4d ")
- use package
;; use package
(require 'package)
(setq package-enable-at-startup nil)
(add-to-list 'package-archives
'("melpa" . "https://melpa.org/packages/"))
(package-initialize)
(unless (package-installed-p 'use-package)
(package-refresh-contents)
(package-install 'use-package))
- use ace window
;; use ace window
(use-package ace-window
:ensure t
:config
(setq aw-scope 'frame) ;; was global
(global-set-key (kbd "C-x O") 'other-frame)
(global-set-key [remap other-window] 'ace-window))
- use consult
;; use consult
(use-package consult :ensure t)
- use counsel
;; use counsel
(use-package counsel
:ensure t
:bind
(("M-y" . counsel-yank-pop)
:map ivy-minibuffer-map
("M-y" . ivy-next-line)))
- use ivy
;; use ivy
(use-package ivy
:ensure t
:diminish (ivy-mode)
:bind (("C-x b" . ivy-switch-buffer))
:config
(ivy-mode 1)
(setq ivy-use-virtual-buffers t)
(setq ivy-count-format "%d/%d ")
(setq ivy-display-style 'fancy))
- use ctrlf
;; ctrlf
(use-package ctrlf
:ensure t)
(ctrlf-mode +1)
- use bufler
;; bufler
(use-package bufler
:ensure t)
(defun mz/bufler-one-window (&optional force-refresh)
(interactive "p")
(bufler-list)
(delete-other-windows))
- use flycheck
;; use flycheck
(use-package flycheck
:ensure t
:init
(global-flycheck-mode t))
- use hydra
;; use hydra
(use-package hydra :ensure t)
- use origami
;; origami
(use-package origami :ensure t)
(defhydra hydra-origami (:color red)
"
_o_pen node _n_ext fold toggle _f_orward
_c_lose node _p_revious fold toggle _a_ll
"
("o" origami-open-node)
("c" origami-close-node)
("n" origami-next-fold)
("p" origami-previous-fold)
("f" origami-forward-toggle-node)
("a" origami-toggle-all-nodes))
- use elpy for python
make sure .emacs.d/elpy/rpc-venv/ is configured and dependent packages (e.g., jedi, rope, flake8, ..) were installed.
(setenv "PATH" (concat (getenv "PATH") ":~/.local/bin"))
(setq exec-path (append exec-path '("~/.local/bin")))
(use-package elpy :ensure t)
(elpy-enable)