My personal linux config files
git clone --recursive https://github.com/HokieGeek/dotfiles
dotfiles/setup.sh
I prefer to KISS as much as possible. All I need is a terminal and a browser and I've got all I need for 99% of what I do. I prefer smaller laptops so I try to take advantage of as much real estate as I can.
I keep the look and feel minimal so that it's less distracting so, to that end, the "color scheme" is dark with some gray shadings and a single color used by tmux and the conky bar up top. The script bin/schemecolor
will sed the indicated color into my tmux.conf and xmonad.hs and will reload both so that I can change the color on-the-fly.
Running a dark theme and using the cVim plugin to use vim bindings. This makes me very happy.
The following plugins are being used:
Repo | Description |
---|---|
vit | |
¿que? | |
comentarista | |
shai-hulud | |
argh | |
sessioner | |
splitter | |
uvix | |
unembed | |
vim-ng |
Command | Source plugin | What it does |
---|---|---|
Only | argh | |
ArgsOnly | argh | |
ArgsToggle | argh | |
ArgsAll | argh | |
Badd | argh | |
Bd | argh | |
Build | shai-hulud | |
Split | splitter | |
Vsplit | splitter | |
Run | splitter | |
RunIn | splitter | |
Log | splitter | |
Find | uvix | |
Chmod | uvix | |
Rm | uvix | |
Tail | uvix | |
Grep | uvix | |
Git | vit | |
Helptags | vim-pathogen | |
SyntasticInfo | syntastic | |
EasyAlign | vim-easy-align | |
LiveEasyAlign | vim-easy-align |
Mapping | Source plugin | What it does |
---|---|---|
g<Tab> | comentarista | |
g<shift><Tab> | comentarista | |
cs | vim-surround | |
ds | vim-surround | |
yss | vim-surround | |
cx | vim-exchange | |
cxx | vim-exchange | |
X | vim-exchange | |
cxc | vim-exchange |
Object | Source plugin | What it does |
---|---|---|
ai | vim-indent-object | |
ii | vim-indent-object | |
al | vim-indent-object |
Scratch
Mapping | What it does |
---|---|
gh | :Scratch |
gsh | :Split |
gsv | :Vsplit |
gw | ctrl-w |
ga | :ArgsToggle |
go | :TListToggle |
ge | EasyAlign interactive mode |
gc | Toggles Undotree |
(visual)<Enter> | EasyAlign interactive mode |
\\ | :Grep |
g\ | :Grep -b |
g/ | :Grep -a |
<F9> | Save session |
<leader><F9> | Save all window sessions |
<F10> | Delete session |
<leader><F10> | Load session |
<F12> | Cycle colorschemes |
<leader><F12> | Set favorite colorscheme (differerent if on GUI vs. terminal) |
<C-F12> | Sets to failsafe colorscheme (different if on GUI vs. terminal) |
<count>]b | Next buffer |
<count>[b | Previous buffer |
]B | Last buffer |
[B | First buffer |
<count>]a | Next argument |
<count>[a | Previous argument |
]A | Last argument |
[A | First argument |
<count>]q | Next quickfix item |
<count>[q | Previous quickfix item |
]Q | Last quickfix item |
[Q | First quickfix item |
<count>]l | Next location item |
<count>[l | Previous location item |
]L | Last location item |
[L | First location item |
coN | Toggle relative number (if supported, else toggles number) |
con | Toggles number and relative number |
coc | Toggles cursor line |
coC | Toggles cursor column (if supported) |
cow | Toggles word wrap |
cos | Toggles spelling |
col | Toggles displaying of special characters (tabs) |
cox | Toggles syntax highlighting |
cot | Toggles status bar |
cob | Toggles background (light/dark) |
coh | Toggles search highlighting |
cop | Toggles paste mode |
coF | Toggles folding |
cof | Enables syntax folding |
coff | Enables manual folding |
cofff | Enables marker folding |
jk | <esc> |
kj | <esc> |
ZZ | :wqa |
ZQ | :qa! |
<space> | : |
Y | Copy whole line |
n | (nzz) Centers screen on search hit |
jj | ctrl-n |
kk | ctrl-p |
Nothing to be done here for simple terminal, of course, other than setting the font to DejaVu Sans Mono
Simple statusbar that just shows currently open terminals and an identifier for the current pane.
Wrote a vim plugin that integrates with tmux somewhat.
It is exec'ed by the shell upon login.
Ported my bash prompt which displays information such as git and mercurial repository status and flags if the previous command returned a non-zero value and/or if a process is currently backgrounded.
My focus was to enable layouts that let me take advantage of my small laptop screen in a way that most benefits what I am currently working on. I couple that with a good number of custom keybindings so that I don't have to use the mouse to interact with the window manager. I also have been making pretty heavy use of dmenu
to provide me some extra control.
Using dzen2
to display the workspaces.
Also using dmenu
for some application launchers as well as the selector which lets me change the color theme.
Binding | What it does |
---|---|
Super+n | Switches to the next empty workspace |
Super+Alt+n | Opens a browser window in the next available empty workspace |
Super+Shift+n | Shifts active window to the next empty workspace |
Super+Tab | Switches to the previous workspace |
Super+Ctrl+[WS#] | Swaps current workspace with indicated workspace |
Displaying statistics such as time, IP addresses, CPU use, battery life, etc.