Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/chimay/configuration

Config files
https://github.com/chimay/configuration

configuration emacs neomutt neovim qutebrowser ranger rofi tmux vifm vim w3m xorg zshrc

Last synced: 3 months ago
JSON representation

Config files

Awesome Lists containing this project

README

        

#+STARTUP: showall

#+TAGS: TOC(t)

* Table of contents :TOC_2_gh:
- [[#configuration-files][Configuration files]]
- [[#keybindings][Keybindings]]
- [[#prefix--modes][Prefix & Modes]]
- [[#allocation][Allocation]]
- [[#coherence][Coherence]]
- [[#features][Features]]
- [[#the-classics][The classics]]
- [[#vifm][Vifm]]
- [[#tig][Tig]]
- [[#kitty][Kitty]]
- [[#bspwm][Bspwm]]
- [[#i3-wm][I3 wm]]
- [[#warning][Warning]]

* Configuration files

Content :

- a coherent set of configuration files for my favorite apps.
- little autoloaded functions for vim & neovim

* Keybindings

The keybindings are essentially vim, less or emacs like, depending on
the context. For example :

- Vim
+ Neomutt index
- Less
+ Elinks
+ W3m
+ Neomutt pager
+ Newsboat
- Emacs
+ Zsh
+ Elinks edit mode

** Prefix & Modes

Some applications :

- Can use an independant keymap introduced by a prefix key
+ tmux
- Can chain keys
+ sxhkd
- Can use independant keymap modes
+ i3, tmux, emacs, vim

** Allocation

*** Window Manager

The following keys are reserved for Window Manager (i3, bspwm, ...) :

- Hyper (Mod3, I bind it to the Menu key) with any key(s)
- Super (Mod4) with
+ Arrows
+ Page Up / Down
+ Home / End
+ Tab, Backspace
+ F1 .. F12
- Super (Mod4) with any modifier(s) and same keys as above
- Super with Control and
+ Any key(s)
- Prefix chosen among the previous keys
- Sub mode entered with one or more of the previous keys

*** Applications

The following keys are reserved for applications :

- Super with all other keys
+ Letters
+ Digits
+ Insert, Delete, Space, Return
+ & @ ^ $ ! ( ) [ ] { } < > ...
- Super with Shift and same keys as above
- Prefix chosen among the previous keys
- Sub mode entered with one or more of the previous keys

** Coherence

To be as intuitive as possible, some conventions are applied :

- Move focus between desktops :
+ Super + home / end
- Move focus between X windows :
+ Super + arrows
+ Super + prior (page up) / next (page down)
- Move focus between tmux panes & vim :
+ Shift + arrows
+ Also in emacs, but not in org files (org-shift)
- In buffer oriented applications, move focus between buffers :
+ Ctrl + page up / down
- In tab oriented applications, move focus between tabs :
+ Ctrl + page up / down
+ In pager context : ^ and $
* w3m, elinks, ...
+ In (neo)vim : and in normal mode
- In buffers & tabs oriented applications like vim with wheel or emacs with torus :
+ Next / previous file in group : Ctrl + page up / down
+ Next / previous group : Ctrl + home / end
- Move in history
+ In pager context
* Backspace = back
* H = back
* L = forward
+ In REPL context
* Up, M-p = back, with typed text as filter
* Down, M-n = forward, with typed text as filter
- Filters
+ &, é, è
- Most Recently Used
+ ù
- Tree / Structure exploration
+ §

* Features

Comments on applications.

** The classics

- Vim & family : Neovim, Kakoune
- Emacs with Org mode and torus.el
- Zsh
- Tmux

** Vifm

- Deep analogy with Vim keys
- Views
+ Dual-pane, vertical or horizontal
+ Tree view (like the tree command)
+ Grid view (ls view)
+ Miller view with 3 panes, like ranger
+ Preview mode
* Also of images with [[https://github.com/cirala/vifmimg][Vifmimg]] & [[https://github.com/seebye/ueberzug][Ueberzug]]
- Mount
+ Archives with archivemount
* Handy to quickly edit a file in it
+ Iso images with fuseiso
+ Ssh file systems with sshfs
+ Ftp file systems with curlftpfs
* And you have a great ftp client
- Can launch background programs
+ You can cancel them in :jobs view
- Cope well with external programs
+ User commands :... and :!...
- Tools to select and modify selection

** Tig

- Feature rich git repo browser
- Views
+ Commits
+ Diffs
+ Log
+ Tree
- Cope well with external programs
+ User commands :... and :!...

** Kitty

- Fast
- Scriptable, you can also open a Kitty shell to control the term
- Support keyboard shortcuts with super key
- Scrollback in pager
- Insert UTF-8 character with completion
- Good image support
- Quickly select url / file / line
- Plugins (kittens)
- Can be used as dropdown with kitti3 on i3

And much more

** Bspwm

- Scriptable via bspc
+ You can litteraly juggle with windows
+ Configurable split ratio
+ Possibility to circulate windows clockwise or counterclockwise
- Modes
+ Tiling and floating
+ Monocle mode : only one window visible
+ Full screen
- Automatic properties of windows : workspace, floating, ...
- Multi monitors support
- Keybindings
+ Managed by sxhkd
+ Support of Super and Hyper keys
+ Keybinding chains
- Panels (bars) : polybar
+ Custom scripts
+ IPC, polybar-msg to send commands, hooks
+ Good choice of internal modules
+ Menu
- Dynamic layouts with bsp-layout (in AUR)

** I3 wm

- Tiling, tabbed, staking and floating modes
+ Tiling means all screen space is available for apps
+ Good support for floating window, so you can use it as an hybrid
WM if you want
- Dynamic workspaces
- Support of Super and Hyper keys in bindings
- You can define keybinding modes
- Automatic properties of windows : workspace, floating, size, ...
- Scriptable via i3-msg
- You can add rofi scripts, or any script to the panel (called bar)
via i3block ; see also i3status for information
- Multi monitors support

* Warning

I try to be mindful when I code, but some bugs might remain, so be careful.