I created this config to make emacs a more smooth first experience for my girlfriend. I do not think this setup is meant to be used always, but it does break a few first annoying barriers. Mainly the
C-c and the
Well, you can use it as an org file. To do so, create the
\~/.emacs file like this:
A note of caution: in my config, my emacs only converts to the configuration what is with
emacs-lisp. If you fell the need, just erase the
elisp to be extra safe.
Ok, so this is the main dish. This repository contains the configuration that breaks those first barriers I mentioned earlier. I was not able to download it through
use-package. So you will have to do it yourself. But it is very simple. All you have to do is put the main file
wakib-keys.el inside the emacs configuration folder
\~/.emacs.d/. Done! Good to go!
;; https://github.com/darkstego/wakib-keys (require 'wakib-keys "~/.emacs.d/wakib-keys.el") (wakib-keys 1)
I will not elongate on what the lib does (you can read it the original repo =]) but the idea is that
Ctrl + c and
Ctrl + x (or in emacs notation
C-x) are used as expected in most guis applications, i.e., for copying and cutting.
Well here we can divide in a few parts.
This setup is for you to be able to install packages more easily.
;; Configure package.el to include MELPA. (require 'package) (add-to-list 'package-archives '("gnu" . "https://elpa.gnu.org/packages/") t) (add-to-list 'package-archives '("melpa" . "https://melpa.org/packages/") t) (add-to-list 'package-archives '("org" . "http://orgmode.org/elpa/") t) (package-initialize) ;; Ensure that use-package is installed. ;; ;; If use-package isn't already installed, it's extremely likely that this is a ;; fresh installation! So we'll want to update the package repository and ;; install use-package before loading the literate configuration. (when (not (package-installed-p 'use-package)) (package-refresh-contents) (package-install 'use-package))
These are some keybindings that I find very useful. They are very similar to web browsers (except for the last three).
(global-set-key (kbd "<C-tab>") 'other-window) (global-set-key (kbd "<C-f4>") 'delete-window) (global-set-key (kbd "C-t") 'split-window-right) (global-set-key (kbd "C-<") 'previous-buffer) (global-set-key (kbd "C->") 'next-buffer)
This part I put because it not so trivial to create a first version, and it is useful if you want to be a more "emacs user". Also, this code creates a good search in the buffer with
Ctrl + s (or
(use-package ivy :diminish :bind (("C-s" . swiper) :map ivy-minibuffer-map ("TAB" . ivy-alt-done) ("C-f" . ivy-alt-done) ("C-l" . ivy-alt-done) ("C-j" . ivy-next-line) ("C-k" . ivy-previous-line) :map ivy-switch-buffer-map ("C-k" . ivy-previous-line) ("C-l" . ivy-done) ("C-d" . ivy-switch-buffer-kill) :map ivy-reverse-i-search-map ("C-k" . ivy-previous-line) ("C-d" . ivy-reverse-i-search-kill)) :config (ivy-mode 1)) (use-package counsel :demand t :bind (("M-x" . counsel-M-x) ("C-x b" . counsel-ibuffer) ("C-x C-f" . counsel-find-file) ("C-M-l" . counsel-imenu) :map minibuffer-local-map ("C-r" . 'counsel-minibuffer-history)) :custom (counsel-linux-app-format-function #'counsel-linux-app-format-function-name-only) :config (setq ivy-initial-inputs-alist nil)) ;; Don't start searches with ^
Emacs is widely know for its chords, and it can be intimidating. This package helps you see what is that you chording for.
(use-package which-key :config (which-key-mode))
Well, here it is important for me to say that, the
wakib-keys package may have some impact but fell free to add more stuff! The nice thing of emacs is to that is very modular and you can try a bunch of packages! For example the very nice elpy package for python development:
(use-package elpy :ensure t :init (elpy-enable))