Configuration
Config files
Install / Use
/learn @chimay/ConfigurationREADME
#+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)
- Super with Shift 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
- & @ ^ $ ! ( ) [ ] { } < > ...
- 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 :
- Hyper + page up / page down
- Move focus between X windows :
- Super + arrows
- Super + prior (page up) / next (page down)
- Move focus between tmux panes & vim :
- Control + arrows
- Also in emacs
- In tab oriented applications, move focus between tabs
- Ctrl + page up / down
- In pager context : ^ and $
- w3m, elinks, vifm, ...
- Move in history
- In pager context
- Backspace = back
- Shift-Backspace = forward
- 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
- In pager context
- 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
- Archives with archivemount
- 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
** Herbstluftwm
- Scriptable via herbstclient
- You can litteraly juggle with windows
- Modes
- Tiling and floating
- Monocle or tabs mode : only one window visible
- Full screen
- Automatic properties of windows : workspace, floating, ...
- Multi monitors support
- Keybindings
- Managed by herbstluftwm and sxhkd
- Support of Super and Hyper keys
- Keybinding chains with sxhkd
- Panels (bars) : polybar
- Custom scripts
- IPC, polybar-msg to send commands, hooks
- Good choice of internal modules
- Menu
** 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.
