diff --git a/.config/aliasrc b/.config/aliasrc index 83d9097..434c42f 100644 --- a/.config/aliasrc +++ b/.config/aliasrc @@ -12,12 +12,21 @@ alias "....."="cd ../../../.." alias "......"="cd ../../../../.." alias "dockervol"="cd /var/lib/docker/volumes" +# cp +alias cp="cp -i" + # clear alias c="clear" # config alias config="/usr/bin/git --git-dir=$HOME/.dotfiles --work-tree=$HOME" +# git +alias ga="git add" +alias grm="git rm" +alias gc="git commit" +alias gp="git push" + # grep alias grep="grep --color=auto" @@ -33,15 +42,24 @@ alias la="lsd -la" alias ll="lsd -l" alias tree="lsd --tree" +# mid3v2 +alias tag="mid3v2" + # mkdir alias mkdir="mkdir -p" +# mv +alias mv="mv -i" + # mount alias mount="mount |column -t" # ping alias ping="ping -c 5" +# rm +alias rm="rm -i" + # sc-im alias sc="sc-im" @@ -49,4 +67,17 @@ alias sc="sc-im" alias scriptclear="cat typescript | perl -pe 's/\e([^\[\]]|\[.*?[a-zA-Z]|\].*?\a)//g' | col -b > typescript-processed" # nvim +alias svim="sudo nvim" +alias svi="sudo nvim" command -v nvim >/dev/null && alias vim="nvim" vimdiff="nvim -d" +command -v nvim >/dev/null && alias vi="nvim" vidiff="nvim -d" + +# weather +alias weather="curl wttr.in" + +# wget +alias wget="wget --hsts-file=$XDG_CACHE_HOME/wget-hsts" + +# youtube-dl +alias yta="youtube-dl -f 'bestaudio[ext=m4a]'" +alias ytv="youtube-dl -f 'bestvideo[ext=mp4]+bestaudio[ext=m4a]'" diff --git a/.config/nvim/init.vim b/.config/nvim/init.vim index 1fb87bc..29b8dd0 100644 --- a/.config/nvim/init.vim +++ b/.config/nvim/init.vim @@ -1,4 +1,6 @@ -" Begin Plugin section +let mapleader = ";" + +" begin plugin section if ! filereadable(expand('~/.config/nvim/autoload/plug.vim')) echo "Downloading junegunn/vim-plug to manage plugins..." silent !mkdir -p ~/.config/nvim/autoload/ @@ -9,72 +11,152 @@ call plug#begin('~/.config/nvim/plugged') Plug 'qpkorr/vim-renamer' Plug 'tomasiser/vim-code-dark' call plug#end() - -" End Plugin section - -let mapleader ="," +" end plugin section set go=a + +" enable mouse for all modes set mouse=a +set clipboard+=unnamedplus + +" enable command completion +set wildmode=longest,list,full + +" setting Tab-length +set expandtab +set softtabstop=4 +set shiftwidth=4 + +" splits open at the bottom and right, which is non-retarded, unlike vim defaults. +set splitbelow splitright + +" disable case sensitive matching set ignorecase -" Some basics: -nnoremap c "_c + +" enable nocompatible mode set nocompatible + +" enable Plugins filetype plugin on + +" enable syntax highlighting syntax on + +" enable true colors +set termguicolors + +" set utf-8 encoding set encoding=utf-8 + +" show relative numbers on left side set number relativenumber -" Enable autocompletion: -set wildmode=longest,list,full -" Disables automatic commenting on newline: -autocmd FileType * setlocal formatoptions-=c formatoptions-=r formatoptions-=o -" Setting Tab-length -set tabstop=4 -set softtabstop=4 -set shiftwidth=4 -colorscheme codedark +" speedup vim with long lines +set ttyfast +set lazyredraw -" Splits open at the bottom and right, which is non-retarded, unlike vim defaults. -set splitbelow splitright +" textEdit might fail without hidden +set hidden + +" disable Backupfiles for Lsp +set nobackup +set nowritebackup + +" dont pass messages to ins-completion-menu +set shortmess+=c + +" always show the signcolumn, otherwise it would shift the text each time +" diagnostics appear/become resolved. +if has("patch-8.1.1564") + " Recently vim can merge signcolumn and number column into one + set signcolumn=number +else + set signcolumn=yes +endif + +" enable persistent undo +if has('persistent_undo') + set undofile + set undodir=$XDG_CACHE_HOME/vim/undo +endif + +" unmap unwanted commands +nnoremap +nnoremap +nnoremap +nnoremap +nnoremap +nnoremap +nnoremap +nnoremap +nnoremap +nnoremap + +inoremap +inoremap +inoremap +inoremap +inoremap +inoremap +inoremap +inoremap +inoremap +inoremap +inoremap +inoremap + +" mapping Dictionaries +nnoremap :setlocal spell! spelllang=de_de +nnoremap :setlocal spell! spelllang=en_us + +" compiler for languages +nnoremap c :w! \| !compiler % -" Mapping Dictionaries -map :setlocal spell! spelllang=de -map :set spelllang=en_us - -""" Shortcuts -" Navigating with guides -inoremap /<++>"_c4l -vnoremap /<++>"_c4l -map /<++>"_c4l - -" Navigating with guides - inoremap /<++>"_c4l - vnoremap /<++>"_c4l - map /<++>"_c4l - -"""HTML -autocmd BufRead,BufNewFile *.html set filetype=html - -autocmd FileType html inoremap ,b <++>FbT>i -autocmd FileType html inoremap ,it <++>FeT>i -autocmd FileType html inoremap ,1

<++>2kf<++>2kf<++>2kf

<++>02kf>a -autocmd FileType html inoremap ,a href=""><++><++>14hi -autocmd FileType html inoremap ,e target="_blank"href=""><++><++>14hi -autocmd FileType html inoremap ,ul
<++>03kfo
  • F>a -autocmd FileType html inoremap ,ol
    <++>03kf<++>Fcf"a -autocmd FileType html inoremap & & -autocmd FileType html inoremap ä ä -autocmd FileType html inoremap ö ö -autocmd FileType html inoremap ü ü -autocmd FileType html inoremap Ä Ä -autocmd FileType html inoremap Ö Ö -autocmd FileType html inoremap Ü Ü - -" Delete trailing whitespaces on save -autocmd BufWritePre * %s/\s\+$//e +" open corresponding file (pdf/html/...) +nnoremap p :!opout % + +" shortcut for split navigation +nnoremap h +nnoremap j +nnoremap k +nnoremap l + +" save file as sudo on files that require root permission +cnoremap w!! execute 'silent! write !sudo tee % >/dev/null' edit! + +" alias for replacing +nnoremap ss :%s//gI + +" delete trailing whitespaces on save +fun! TrimWhitespace() + let l:save = winsaveview() + keeppatterns %s/\s\+$//e + call winrestview(l:save) +endfun +autocmd BufWritePre * :call TrimWhitespace() + +" read files correctly +autocmd BufRead,BufNewFile *.tex set filetype=tex +autocmd BufRead,BufNewFile *.h set filetype=c + +" formatting +autocmd FileType c setlocal formatprg=astyle\ --mode=c +autocmd FileType java setlocal formatprg=astyle\ --indent=spaces=2\ --style=google +autocmd FileType java setlocal shiftwidth=2 softtabstop=2 +autocmd FileType markdown noremap :silent %!prettier --stdin-filepath % +autocmd FileType python setlocal formatprg=autopep8\ - +autocmd FileType tex,latex setlocal formatprg=latexindent\ - +autocmd FileType c,java,python,tex,latex noremap gggqG + +" cleanup certain files after leaving the editor +autocmd VimLeave *.tex !texclear % +autocmd VimLeave *.c !cclear + +" highlighting break line +autocmd BufEnter,FileType c set colorcolumn=80 +autocmd BufEnter,FileType java set colorcolumn=100 +autocmd BufEnter,FileType markdown set colorcolumn=80 + +" colorscheme +colorscheme codedark +highlight colorcolumn guibg=#772222 diff --git a/.profile b/.profile index c16335d..9c99d37 100644 --- a/.profile +++ b/.profile @@ -2,9 +2,17 @@ # Profile file. Runs on login. # Adds `~/.local/bin` and all subdirectories to $PATH -export PATH="$PATH:$(du "$HOME/.local/bin/" | cut -f2 | tr '\n' ':' | sed 's/:*$//')" +export PATH="$PATH:$(du "${HOME}/.local/bin/" | cut -f2 | tr '\n' ':' | sed 's/:*$//')" + export EDITOR="nvim" -export ZDOTDIR="$HOME" +export ZDOTDIR="${HOME}" + +export XDG_CACHE_HOME="${HOME}/.cache" +export XDG_CONFIG_HOME="${HOME}/.config" +export XDG_DATA_HOME="${HOME}/.local/share" + +export HISTFILE="${XDG_CACHE_HOME}/shhistory" +export TMUX_TMPDIR="${XDG_CACHE_HOME}/tmux" # less/man colors export LESS=-R @@ -16,5 +24,5 @@ export LESS_TERMCAP_se="$(printf '%b' '[[0m')"; a="${a%_}" export LESS_TERMCAP_us="$(printf '%b' '[[1;32m')"; a="${a%_}" export LESS_TERMCAP_ue="$(printf '%b' '[[0m')"; a="${a%_}" -echo "$0" | grep "bash$" >/dev/null && [ -f ~/.bashrc ] && source "$HOME/.bashrc" -echo "$0" | grep "zsh$" >/dev/null && [ -f $ZDOTDIR/.zshrc ] && source "$ZDOTDIR/.zshrc" +echo "$0" | grep "bash$" >/dev/null && [ -f ~/.bashrc ] && source "${HOME}/.bashrc" +echo "$0" | grep "zsh$" >/dev/null && [ -f ${ZDOTDIR}/.zshrc ] && source "${ZDOTDIR}/.zshrc" diff --git a/.zshrc b/.zshrc index 2e4f2f2..fbad650 100644 --- a/.zshrc +++ b/.zshrc @@ -42,7 +42,7 @@ function +vi-git-stash() { fi } zstyle ':vcs_info:git*+set-message:*' hooks git-st git-stash -PS1='%B%{$fg[red]%}[%{$fg[yellow]%}%n%{$fg[green]%}@%{$fg[blue]%}%M %{$fg[magenta]%}%~%{$fg[red]%}]%{$reset_color%}#%b ' +PS1='%B%{$fg[red]%}[%n@%M %~]%{$reset_color%}#%b ' RPROMPT='%B%{$fg[magenta]%}$vcs_info_msg_0_%{$reset_color%}%b' # History in cache directory