From 26064f9fa3af5e8e46eb4560f4145386c056821e Mon Sep 17 00:00:00 2001 From: Samir Benmendil Date: Tue, 23 Oct 2012 22:21:11 +0200 Subject: [PATCH] import stuff from shada --- Makefile | 12 +-- bashrc | 28 ++---- bashrc_shada | 6 ++ bashrc_tardis | 6 ++ vimrc | 237 +++++++++++++++++++++++++++++++++++++++----------- 5 files changed, 212 insertions(+), 77 deletions(-) create mode 100644 bashrc_shada create mode 100644 bashrc_tardis diff --git a/Makefile b/Makefile index 51eeb96..f93f99c 100644 --- a/Makefile +++ b/Makefile @@ -8,22 +8,22 @@ DOTFILES := bash* flexget vimrc install: $(FILES) $(DOTFILES) $(FILES): - if [[ -f ~/$@ || -d ~/$@ ]]; then \ + @if [[ -f ~/$@ || -d ~/$@ ]]; then \ if [[ -d $@ ]]; then \ - cp -rf ~/$@/* $@; \ + cp -r ~/$@/* $@; \ else \ - cp -rf ~/$@ $@; \ + cp -r ~/$@ $@; \ fi; \ rm -r ~/$@; \ fi; ln -sf $(RPATH)/$@ ~/.$@ $(DOTFILES): - if [[ -f ~/.$@ || -d ~/.$@ ]]; then \ + @if [[ -f ~/.$@ || -d ~/.$@ ]]; then \ if [[ -d $@ ]]; then \ - cp -rf ~/.$@/* $@; \ + cp -r ~/.$@/* $@; \ else \ - cp -rf ~/.$@ $@; \ + cp -r ~/.$@ $@; \ fi; \ rm -r ~/.$@; \ fi; diff --git a/bashrc b/bashrc index cf52ff5..5fdb7ed 100644 --- a/bashrc +++ b/bashrc @@ -1,7 +1,3 @@ -if [ -f /etc/bash_completion ]; then - . /etc/bash_completion -fi - xhost +local:root > /dev/null 2>&1 shopt -s cdspell @@ -47,28 +43,18 @@ ex () export EDITOR=vim export VISUAL=vim -# prompt -prompt () -{ - . ~/.bash_colors - PS1="[\u@\[${bldred}\]\h\[${bldblu}\] \W\[${txtrst}\]]\[${txtrst}\]\$ " -} -prompt -unset prompt +# default prompt +PS1='[\u@\h \W]\$ ' # Stuff from ubuntu # make less more friendly for non-text input files, see lesspipe(1) [ -x /usr/bin/lesspipe ] && eval "$(SHELL=/bin/sh lesspipe)" # Alias definitions. -# You may want to put all your additions into a separate file like -# ~/.bash_aliases, instead of adding them here directly. -# See /usr/share/doc/bash-doc/examples in the bash-doc package. -if [ -f ~/.bash_aliases ]; then - . ~/.bash_aliases -fi +[[ -f ~/.bash_aliases ]] && . ~/.bash_aliases # set PATH so it includes user's private bin if it exists -if [ -d "$HOME/bin" ] ; then - PATH="$HOME/bin:$PATH" -fi +[[ -d "$HOME/bin" ]] && PATH="$HOME/bin:$PATH" + +# import host specific bashrc +[[ -f "~/.bashrc_$(hostname)" ]] . "~/.bashrc_$(hostname)" diff --git a/bashrc_shada b/bashrc_shada new file mode 100644 index 0000000..fb4861d --- /dev/null +++ b/bashrc_shada @@ -0,0 +1,6 @@ +prompt() { + . ~/.bash_colors + PS1="[\A \u@\[${txtgrn}\]\h \[${bldblu}\]\W\[${txtrst}\]]\$ " +} +prompt +unset prompt diff --git a/bashrc_tardis b/bashrc_tardis new file mode 100644 index 0000000..8c25fcc --- /dev/null +++ b/bashrc_tardis @@ -0,0 +1,6 @@ +prompt() { + . ~/.bash_colors + PS1="[\A \u@\[${bldred}\]\h \[${bldblu}\]\W\[${txtrst}\]]\$ " +} +prompt +unset prompt diff --git a/vimrc b/vimrc index b5a89c9..53183df 100644 --- a/vimrc +++ b/vimrc @@ -1,63 +1,200 @@ -" All system-wide defaults are set in $VIMRUNTIME/debian.vim (usually just -" /usr/share/vim/vimcurrent/debian.vim) and sourced by the call to :runtime -" you can find below. If you wish to change any of those settings, you should -" do it in this file (/etc/vim/vimrc), since debian.vim will be overwritten -" everytime an upgrade of the vim packages is performed. It is recommended to -" make changes after sourcing debian.vim since it alters the value of the -" 'compatible' option. - -" This line should not be removed as it ensures that various options are -" properly set to work with the Vim-related packages available in Debian. -runtime! debian.vim - -" Uncomment the next line to make Vim more Vi-compatible -" NOTE: debian.vim sets 'nocompatible'. Setting 'compatible' changes numerous -" options, so any other options should be set AFTER setting 'compatible'. -"set compatible - -" Vim5 and later versions support syntax highlighting. Uncommenting the -" following enables syntax highlighting by default. -if has("syntax") - syntax on +" An example for a vimrc file. +" +" Maintainer: Bram Moolenaar +" Last change: 2008 Dec 17 +" +" To use it, copy it to +" for Unix and OS/2: ~/.vimrc +" for Amiga: s:.vimrc +" for MS-DOS and Win32: $VIM\_vimrc +" for OpenVMS: sys$login:.vimrc + +" When started as "evim", evim.vim will already have done these settings. +if v:progname =~? "evim" + finish endif -" Ask what to do when closing unsaved documents -set confirm +" TODO +" organize this file, never thought it'll get this big +" TODO -" If using a dark background within the editing area and syntax highlighting -" turn on this option as well -set background=dark +" pathogen.vim runtime path manipulation +silent! call pathogen#infect() -" Uncomment the following to have Vim jump to the last position when -" reopening a file -if has("autocmd") - au BufReadPost * if line("'\"") > 1 && line("'\"") <= line("$") | exe "normal! g'\"" | endif +" Use Vim settings, rather than Vi settings (much better!). +" This must be first, because it changes other options as a side effect. +set nocompatible + +" allow backspacing over everything in insert mode +set backspace=indent,eol,start + +if has("vms") + set nobackup " do not keep a backup file, use versions instead +else + set backup " keep a backup file + set backupdir=$HOME/.vim/backupdir endif +set history=50 " keep 50 lines of command line history +set ruler " show the cursor position all the time +set showcmd " display incomplete commands +set incsearch " do incremental searching +set number " show some linenumbers + +" For Win32 GUI: remove 't' flag from 'guioptions': no tearoff menu entries +" let &guioptions = substitute(&guioptions, "t", "", "g") -" Uncomment the following to have Vim load indentation rules and plugins -" according to the detected filetype. +" Don't use Ex mode, use Q for formatting +map Q gq + +" CTRL-U in insert mode deletes a lot. Use CTRL-G u to first break undo, +" so that you can undo CTRL-U after inserting a line break. +inoremap u + +"paste toggle +nmap :set paste! paste? +imap :set paste! +vmap :set paste!gv +set pastetoggle= + +" In many terminal emulators the mouse works just fine, thus enable it. +"if has('mouse') +" "xterm mouse with middleclick paste +" nnoremap i +" vnoremap s +" set mouse=rnv +" "choose either one +" set ttymouse=xterm +" "set ttymouse=xterm2 +"endif + +" Switch syntax highlighting on, when the terminal has colors +" Also switch on highlighting the last used search pattern. +if &t_Co > 2 || has("gui_running") + syntax on + set hlsearch +endif + +" Only do this part when compiled with support for autocommands. if has("autocmd") - filetype plugin indent on + + " Enable file type detection. + " Use the default filetype settings, so that mail gets 'tw' set to 72, + " 'cindent' is on in C files, etc. + " Also load indent files, to automatically do language-dependent indenting. + filetype plugin indent on + + " Put these in an autocmd group, so that we can delete them easily. + augroup vimrcEx + au! + + " For all text files set 'textwidth' to 78 characters. + autocmd FileType text setlocal textwidth=78 + + " When editing a file, always jump to the last known cursor position. + " Don't do it when the position is invalid or when inside an event handler + " (happens when dropping a file on gvim). + " Also don't do it when the mark is in the first line, that is the default + " position when opening a file. + autocmd BufReadPost * + \ if line("'\"") > 1 && line("'\"") <= line("$") | + \ exe "normal! g`\"" | + \ endif + + augroup END + +else + + set autoindent " always set autoindenting on + +endif " has("autocmd") + +" Convenient command to see the difference between the current buffer and the +" file it was loaded from, thus the changes you made. +" Only define it when not defined already. +if !exists(":DiffOrig") + command DiffOrig vert new | set bt=nofile | r # | 0d_ | diffthis + \ | wincmd p | diffthis endif +" Ask what to do when closing unsaved documents +set confirm + +" If using a dark background within the editing area and syntax highlighting +" turn on this option as well +set background=dark + " The following are commented out as they cause vim to behave a lot " differently from regular Vi. They are highly recommended though. -set showcmd " Show (partial) command in status line. -set showmatch " Show matching brackets. -set ignorecase " Do case insensitive matching -set smartcase " Do smart case matching -set incsearch " Incremental search -set autowrite " Automatically save before commands like :next and :make -set hidden " Hide buffers when they are abandoned -" set mouse=a " Enable mouse usage (all modes) - -" Source a global configuration file if available -if filereadable("/etc/vim/vimrc.local") - source /etc/vim/vimrc.local -endif +set showcmd " Show (partial) command in status line. +set showmatch " Show matching brackets. +set ignorecase " Do case insensitive matching +set smartcase " Do smart case matching +set incsearch " Incremental search +set autowrite " Automatically save before commands like :next and :make +"set hidden " Hide buffers when they are abandoned +"set mouse=a " Enable mouse usage (all modes) -" expand tab -set softtabstop=4 -set shiftwidth=4 +" expand tabs +set softtabstop=4 +set shiftwidth=4 set expandtab -set nowrap + +set showbreak=▒▒ + +set pastetoggle= +" split right when using :vsp +set splitright + +set scrolloff=3 " keep at least 3 lines above/below +" Press i to enter insert mode, and ii to exit. +imap ii +" Press `` to toggle insert and replace mode (no key on Mac keyboard) +imap `` + +" Jump to the next or previous line that has the same level or a lower +" level of indentation than the current line. +" +" exclusive (bool): true: Motion is exclusive +" false: Motion is inclusive +" fwd (bool): true: Go to next line +" false: Go to previous line +" lowerlevel (bool): true: Go to line with lower indentation level +" false: Go to line with the same indentation level +" skipblanks (bool): true: Skip blank lines +" false: Don't skip blank lines +function! NextIndent(exclusive, fwd, lowerlevel, skipblanks) + let line = line('.') + let column = col('.') + let lastline = line('$') + let indent = indent(line) + let stepvalue = a:fwd ? 1 : -1 + while (line > 0 && line <= lastline) + let line = line + stepvalue + if ( ! a:lowerlevel && indent(line) == indent || + \ a:lowerlevel && indent(line) < indent) + if (! a:skipblanks || strlen(getline(line)) > 0) + if (a:exclusive) + let line = line - stepvalue + endif + exe line + exe "normal " column . "|" + return + endif + endif + endwhile +endfunction + +" Moving back and forth between lines of same or lower indentation. +nnoremap [l :call NextIndent(0, 0, 0, 1) +nnoremap ]l :call NextIndent(0, 1, 0, 1) +nnoremap [L :call NextIndent(0, 0, 1, 1) +nnoremap ]L :call NextIndent(0, 1, 1, 1) +vnoremap [l :call NextIndent(0, 0, 0, 1)m'gv'' +vnoremap ]l :call NextIndent(0, 1, 0, 1)m'gv'' +vnoremap [L :call NextIndent(0, 0, 1, 1)m'gv'' +vnoremap ]L :call NextIndent(0, 1, 1, 1)m'gv'' +onoremap [l :call NextIndent(0, 0, 0, 1) +onoremap ]l :call NextIndent(0, 1, 0, 1) +onoremap [L :call NextIndent(1, 0, 1, 1) +onoremap ]L :call NextIndent(1, 1, 1, 1) +" end of jump indent -- 2.48.1