This are my dotfiles. The focus is on the shell. My programing preferences lean towards Python.
- ZSH
- NeoVIM
- xmodmap
- Python 3
- Git
- Nerd Fonts (included with the files: Anonymice, Inconsolata, Knack)
Install the dependencies before copying the files. Just run sh install
and
all the files will installed. Run :PlugInstall
inside NeoVim to install the
plugins. That' all the needed steps.
This is some information about what it is installed in my dots.
Command | Function |
---|---|
take | Create a dir (and its parents) and cd to it |
.. | cd .. |
... | cd ../.. |
.... | cd ../../.. |
..... | cd ../../../.. |
...... | cd ../../../../.. |
/ | cd / |
d | Display dirs stack |
cd +n | Go to n dir |
1 | Go to 1 dir |
2 | Go to 2 dir |
3 | Go to 3 dir |
4 | Go to 4 dir |
5 | Go to 5 dir |
6 | Go to 6 dir |
7 | Go to 7 dir |
8 | Go to 8 dir |
9 | Go to 9 dir |
md | mkdir -p |
rd | rmdir |
lsa | ls -lah |
l | ls -lFh |
ll | ls -l |
la | ls -lAFh |
lr | ls -tRFh |
lt | ls -ltFh |
ldot | ls -ld .* |
lS | ls -1FSsh |
lart | ls -1Fcart |
lrt | ls -1Fcrt |
zshrc | $EDITOR ~/.zshrc |
t | tail -f |
H | | head |
T | | tail |
G | | grep |
L | | less |
LL | 2>&1 | less |
CA | 2>&1 | cat -A |
NE | 2> /dev/null |
NUL | > /dev/null 2>&1 |
h | history |
help | man |
p | ps -f |
unexport | unset |
dud | du -d 1 -h |
duf | du -sh * |
fd | find . -type d -name |
ff | find . -type f -name |
pu | push directory |
po | pop directory |
clipcopy | copy output |
clippaste | paste to input |
zsh_stats | show zsh stats |
Keys | Action |
---|---|
Esc-w | Clear prompt |
Esc-l | ls |
Ctrl-r | search in the history backwards |
ctrl-k | enter vi-like mode |
Alias | Command |
---|---|
g | git |
ga | git dd |
gaa | git add --all |
gapa | git add --patch |
gb | git branch |
gba | git branch -a |
gbda | git branch --merged | command grep -vE "^(*|\smaster\s$)" | command xargs -n 1 git branch -d |
gbl | git blame -b -w |
gbnm | git branch --no-merged |
gbr | git branch --remote |
gbs | git bisect |
gbsb | git bisect bad |
gbsg | git bisect good |
gbsr | git bisect reset |
gbss | git bisect start |
gc | git commit -v |
gc! | git commit -v --amend |
gca | git commit -v -a |
gcam | git commit -a -m |
gca! | git commit -v -a --amend |
gcan! | git commit -v -a -s --no-edit --amend |
gcb | git checkout -b |
gcf | git config --list |
gcl | git clone --recursive |
gclean | git clean -df |
gcm | git checkout master |
gcd | git checkout develop |
gcmsg | git commit -m |
gco | git checkout |
gcount | git shortlog -sn |
gcp | git cherry-pick |
gcpa | git cherry-pick --abort |
gcpc | git cherry-pick --continue |
gcs | git commit -S |
gd | git diff |
gdca | git diff --cached |
gdt | git diff-tree --no-commit-id --name-only -r |
gdw | git diff --word-diff |
gf | git fetch |
gfa | git fetch --all --prune |
gfo | git fetch origin |
gg | git gui citool |
gga | git gui citool --amend |
ghh | git help |
ggpull | ggl |
ggpur | ggu |
ggpush | ggp |
ggsup | git branch --set-upstream-to = origin/$(current_branch) |
gpsup | git push --set-upstream origin $(current_branch) |
gignore | git update-index --assume-unchanged |
gignored | git ls-files -v | grep "^[[:lower:]]" |
git-svn-dcommit-push | git svn dcommit && git push github master:svntrunk |
gk | \gitk --all --branches |
gke | \gitk --all $(git log -g --pretty = format:%h) |
gl | git pull |
glg | git log --stat --color |
glgg | git log --graph --color |
glgga | git log --graph --decorate --all |
glgm | git log --graph --max-count = 10 |
glgp | git log --stat --color -p |
glo | git log --oneline --decorate --color |
glog | git log --oneline --decorate --color --graph |
glol | git log --graph --pretty = format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' --abbrev-commit |
glola | git log --graph --pretty = format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' --abbrev-commit --all |
glp | _git_log_prettily |
gm | git merge |
gmom | git merge origin/master |
gmt | git mergetool --no-prompt |
gmtvim | git mergetool --no-prompt --tool = vimdiff |
gmum | git merge upstream/master |
gp | git push |
gpd | git push --dry-run |
gpoat | git push origin --all && git push origin --tags |
gpristine | git reset --hard && git clean -dfx |
gpu | git push upstream |
gpv | git push -v |
gr | git remote |
gra | git remote add |
grb | git rebase |
grba | git rebase --abort |
grbc | git rebase --continue |
grbi | git rebase -i |
grbm | git rebase master |
grbs | git rebase --skip |
grh | git reset HEAD |
grhh | git reset HEAD --hard |
grmv | git remote rename |
grrm | git remote remove |
grset | git remote set-url |
grt | cd $(git rev-parse --show-toplevel || echo ".") |
gru | git reset -- |
grup | git remote update |
grv | git remote -v |
gsb | git status -sb |
gsd | git svn dcommit |
gsi | git submodule init |
gsps | git show --pretty = short --show-signature |
gsr | git svn rebase |
gss | git status -s |
gst | git status |
gsta | git stash |
gstaa | git stash apply |
gstd | git stash drop |
gstl | git stash list |
gstp | git stash pop |
gstc | git stash clear |
gsts | git stash show --text |
gsu | git submodule update |
gts | git tag -s |
gunignore | git update-index --no-assume-unchanged |
gunwip | git log -n 1 | grep -q -c "--wip--" && git reset HEAD~1 |
gup | git pull --rebase |
gupv | git pull --rebase -v |
glum | git pull upstream master |
gvt | git verify-tag |
gwch | git whatchanged -p --abbrev-commit --pretty = medium |
gwip | git add -A; git rm $(git ls-files --deleted) 2> /dev/null; git commit -m "--wip--" |
The * means the current cursor position.
Old text | Command | New text |
---|---|---|
"Hello *world!" | ds" | Hello world! |
(123+4*56)/2 | ds) | 123+456/2 |
<div>Yo!*</div> | dst | Yo! |
"Hello *world!" | cs"' | 'Hello world!' |
"Hello *world!" | cs"<q> | <q>Hello world!</q> |
(123+4*56)/2 | cs)] | [123+456]/2 |
(123+4*56)/2 | cs)[ | [ 123+456 ]/2 |
<div>Yo!*</div> | cst<p> | <p>Yo!</p> |
Hello w*orld! | ysiw) | Hello (world)! |
Hello w*orld! | yssB | {Hello world!} |
Marks: (, ), {, }, [, ], <, and >. The targets b, B, r, and a are aliases for ), }, ], and >.
Marks-in-line: ',",`.
A t is a pair of HTML or XML tags.
Only on HTML and CSS files.
Write a html abbreviation and use <C-e>, to expand it. To update the tag properties use <C-e>u. This modes also work in visual mode.
<C-e>d selects inward the tags in visual mode, while <C-e>D selects from the next tag.
<C-e>/ wraps around code in comments.
gcc comments the current line and gc the visual block selected.
<C-n> selects the current word and look for it in the lines below. To enter normal mode just type v and use i,I,a,A commands. To change the text use the c or s commands. <C-x> skips the to the next ocurrence and <C-p> go back.
Command | Action |
---|---|
[c | Go to next hunk |
]c | Go to previous hunk |
<leader>hu | Undo hunk |
<leader>hs | Stage hunk |
<leader>hp | Preview changes |
<F3> | Toggle hunk highlight |
Command | Action |
---|---|
<C-f> | Goes to the next mode |
<C-b> | Goes to the previous mode |
<C-d> | Filename only filter |
<C-r> | Regex filter |
<C-k> | Move up in the list |
<C-j> | Move down in the list |
<C-t> | Open in a new tab |
<C-v> | Open in a vertical split |
<C-x> | Open in a horizontal split |
<C-n> | Select next string in history |
<C-p> | Select previous string in history |
<C-z> | Mark file |
<C-o> | Open file |
<C-y> | Create file |