From 0fca0e36b13ecca1a9acfc9edc99bb9999740dac Mon Sep 17 00:00:00 2001 From: Mitsuo Tokumori Date: Fri, 21 Jan 2022 01:26:15 -0500 Subject: Keep git-bash's prompt when available --- bashrc | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/bashrc b/bashrc index ba7ca01..a546c35 100644 --- a/bashrc +++ b/bashrc @@ -56,15 +56,18 @@ if [ -n "$force_color_prompt" ]; then fi fi -if [ "$color_prompt" = yes ]; then +# Keep the git-bash prompt if available (check if $TITLEPREFIX is set) +# git-bash promp is helpful when browsing a git-repository +#PS1='\[\033]0;$TITLEPREFIX:$PWD\007\]\n\[\033[32m\]\u@\h \[\033[35m\]$MSYSTEM \[\033[33m\]\w\[\033[36m\]`__git_ps1`\[\033[0m\]\n$' +if [[ "$color_prompt" = yes && ! -v $TITLEPREFIX ]]; then PS1='${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\u@\hh\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\$ ' # Blue timestamp and italic green pwd PS1='\[\033[34m\]|\D{%H:%M:%S}| \[\033[3;32m\][\w]\[\033[00m\]\n\$ ' -else - # plain and simple - PS1='${debian_chroot:+($debian_chroot)}\u@\h:\w\$ ' +#else +# # plain and simple +# PS1='${debian_chroot:+($debian_chroot)}\u@\h:\w\$ ' fi -unset color_prompt force_color_prompt +#unset color_prompt force_color_prompt # If this is an xterm set the title to user@host:dir case "$TERM" in @@ -118,7 +121,7 @@ fi # Custom prompt: # Blue timestamp and italic green pwd -PS1='\[\033[34m\]|\D{%H:%M:%S}| \[\033[3;32m\][\w]\[\033[00m\]\n\$ ' +#PS1='\[\033[34m\]|\D{%H:%M:%S}| \[\033[3;32m\][\w]\[\033[00m\]\n\$ ' # Environmental variables: # less(1) config (ignore case in searchs and display raw control characters) -- cgit v1.2.3 From 35c6d6da401e942b043b1154700322445f9819f2 Mon Sep 17 00:00:00 2001 From: Mitsuo Tokumori Date: Fri, 21 Jan 2022 10:55:22 -0500 Subject: Add .vimrc for git-bash (windows) --- vimrc_windows | 10 ++++++++++ 1 file changed, 10 insertions(+) create mode 100644 vimrc_windows diff --git a/vimrc_windows b/vimrc_windows new file mode 100644 index 0000000..8ce69cd --- /dev/null +++ b/vimrc_windows @@ -0,0 +1,10 @@ +" Git for Windows Vim user initialization file +" GFW uses ~/.vimrc and ~/.vim/vimrc instead of ~/_vimrc and ~/vimfiles/vimrc +" See https://github.com/git-for-windows/git/issues/658#issuecomment-184269470 +" This file configures GFW Vim to behave like Windows Vim +" From: https://kevinlocke.name/bits/2020/07/30/sharing-vimrc-in-git-for-windows/ +let &runtimepath = '~/vimfiles,' +\ . join(filter(split(&runtimepath, ','), 'v:val !~? "/\\.vim"'), ',') +\ . ',~/vimfiles/after' +let &packpath = &runtimepath +source ~/vimfiles/vimrc -- cgit v1.2.3 From 0166286ec9ab679769c86fad7a7ba25d690b1547 Mon Sep 17 00:00:00 2001 From: Mitsuo Tokumori Date: Fri, 21 Jan 2022 11:15:49 -0500 Subject: Change "~/.vim/" to use $VIMRUNTIMEPATH. Also remove dependency of vim-indexed-search plugin --- vim/vimrc | 20 ++++++++++++-------- 1 file changed, 12 insertions(+), 8 deletions(-) diff --git a/vim/vimrc b/vim/vimrc index 2e04dcc..ccbfd0d 100644 --- a/vim/vimrc +++ b/vim/vimrc @@ -16,9 +16,11 @@ " Variables " ---------------------------------------------------------------------- -set undodir=~/.vim/undo -set viminfofile=~/.vim/viminfo -set viewdir=~/.vim/view +" Get the first directory from the list in $VIMRUNTIMEPATH +let $VIMFILES=split(&rtp,",")[0] +set undodir=$VIMFILES/undo +set viminfofile=$VIMFILES/viminfo +set viewdir=$VIMFILES/view " Useful @@ -141,8 +143,8 @@ set more " Enable more-prompt for listings that don't fit in " Mappings " ---------------------------------------------------------------------- " F1 is help, F11 is full screen (terminal emulator) -map :source ~/.vim/vimrc -map :e ~/.vim/vimrc +map :source $VIMFILES/vimrc +map :e $VIMFILES/vimrc map :tabp map :tabn map :w:make @@ -213,7 +215,7 @@ set fileencoding=utf-8 " Functions " ---------------------------------------------------------------------- " TODO: maybe replace with $runtimepath -source ~/.vim/fun.vim +source $VIMFILES/fun.vim " Views and Sessions (Window layout and Line folding) @@ -235,7 +237,7 @@ au BufWinEnter *.cpp silent loadview " Snippets " ---------------------------------------------------------------------- " I deleted the file accidently -"nnoremap ,ch :-1r ~/.vim/snippets/cheader.c +"nnoremap ,ch :-1r $VIMFILES/snippets/cheader.c " File Browsing @@ -277,7 +279,9 @@ inoremap diWi=" "call plug#end() " Other plugins -source ~/.vim/plugins/IndexedSearch.vim +" I used to use IndexedSearch plugin. Functionality was incorporated into Vim +" since Vim 8.1.1270. +set shortmess-=S " Colors -- cgit v1.2.3 From af0561f1d902d0fb84412ca6c301152ec44407c1 Mon Sep 17 00:00:00 2001 From: Mitsuo Tokumori Date: Fri, 21 Jan 2022 11:44:15 -0500 Subject: Experimental semi-auto-install --- install.sh | 48 +++++++++++++++++++++++++++++++++++++++--------- 1 file changed, 39 insertions(+), 9 deletions(-) diff --git a/install.sh b/install.sh index d4ed109..c882578 100644 --- a/install.sh +++ b/install.sh @@ -1,25 +1,55 @@ +# THIS IS CURRENTLY EXPERIMENTAL. REVIEW AND TEST FIRST. NEVER RUN ON MAIN +# MACHINE WITHOUT A BACKUP OF VIMFILES AND DOTFILES + + # Links configuration files to the ones listed here. Backup and remove your's -# and then run this script (while inside repo directory). +# and then run this script while inside repo directory. +# +# In Windows it has to be run with git-bash. # # Note: This solution is lazy and causes some problems. Like not being able to # track vim pluggins. -# bash -ln -s ${PWD}/profile ~/.profile -ln -s ${PWD}/bash_aliases ~/.bash_aliases -ln -s ${PWD}/bashrc ~/.bashrc -ln -s ${PWD}/inputrc ~/.inputrc +# Config +# ====== + +platform="linux" # linux,windows +mode="copy" # copy,slink + + +# Auto config +# =========== + +if [[ $platform = "linux" ]]; then + VIMFILES="~/.vim" +elif [[ $platform = "windows" ]]; then + VIMFILES="~/vimfiles" +fi + +[[ $mode = "copy" ]] && cp_or_ln="cp" +[[ $mode = "slink" ]] && cp_or_ln="ln -s" + + +# Commands +# ======== + +# bash ( eval concatenates and executes) + +eval $cp_or_ln " ${PWD}/profile ~/.profile" +eval $cp_or_ln " ${PWD}/bash_aliases ~/.bash_aliases" +eval $cp_or_ln " ${PWD}/bashrc ~/.bashrc" +eval $cp_or_ln " ${PWD}/inputrc ~/.inputrc" # vim # ~/.vimrc takes priority over ~/.vim/vimrc, so remove the former first -[ -d ~/.vim/ ] || mkdir -p ~/.vim/{undo,swap,backup,plugins} +mkdir -p $VIMFILES/{undo,swap,backup,pack} -ln -s ${PWD}/vim/vimrc ~/.vim/vimrc -ln -s ${PWD}/vim/fun.vim ~/.vim/fun.vim +eval $cp_or_ln " ${PWD}/vim/vimrc $VIMFILES/vimrc" +eval $cp_or_ln " ${PWD}/vim/fun.vim $VIMFILES/fun.vim" # done -- cgit v1.2.3