VasKho / .emacs.d

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Emacs Configuration

Features

This config provides:

  • Easy filesystem naviagation via treemacs
  • Completions via company
  • Cool-looking interface with doom-themes
  • Syntax checks via flycheck and tree-sitter
  • Git interaction via magit
  • M-x enhancement with smex
  • Paired symbols interaction via dummyparens
  • Easy windows navigation via ace-window
  • Custom comment toggle function based on comment-dwim
  • Slightly configured org-mode preview
  • Custom customizable modeline

Screenshots

./screenshots/dashboard.png

./screenshots/screen-1.png

Installation

Requirements

To get things work out of the box you’ll need:

  • Nerd Fonts installed (here is used Hack Nerd Font as default)
  • Firefox installed (it’s used here as links browser)
  • Linux OS (maybe, never tried this on Windows)

To install this config simply clone this repo to your home directory

git clone https://github.com/VasKho/.emacs.d

Configuration

This repo comes with a lot of plugins with configs slightly different from defaults, so you can modify all files in the ./lisp/config directory.

All the plugins aren’t connected with each other, so I hope it won’t break anything.

Modeline configuration

To customize modeline you can use functions described in ./lisp/config/modeline.el file.

  • modeline--render takes two lists as arguments.

    The first is the left part, the second is the right part of the modeline.

    !Note: SIMPLE STRINGS DON’T WORK, LISTS ONLY

    (setq-default mode-line-format
                  '(:eval (modeline--render (list "%I %b") (list "%m %p"))))
        
  • modeline--create-segment is a convenient way to create segments with separators.

    The first argument is a content of segment, the second is a separator.

    The third argument is a list of colors with 3 elements. (<segment-foreground> <segment-background> <separator-background>)

    Return value is a list of propertized strings.

    (modeline--create-segment " %b " "/" '("#fabd2f" "#3c3836" "#504945"))
    (modeline--create-segment " * " nil '("#fe8019" "#504945"))
    (modeline--create-segment nil "\\" '(nil "#504945" "#ebdbb2"))
        
  • modeline--get-icon is a function to get file name and extension and to return icon for the current file.

    To get more info about creating more entries you can simply read the source.

Keybindings

BindAction
M-xComment toggle
C-x gStart magit buffer
M-0Toggle treemacs focus
M-oEnable ace-window
  • All default emacs and plugins keybindings. To get more info please refer to the corresponding docs.

About

License:GNU General Public License v3.0


Languages

Language:Emacs Lisp 97.0%Language:Shell 3.0%