From b77d95512194479d2c6df31d5395f4a8887a3d5f Mon Sep 17 00:00:00 2001 From: Nick Nisi Date: Wed, 5 Dec 2012 12:10:33 -0600 Subject: [PATCH] Added new Scratch vim plugin to enable a scratch pad --- .gitmodules | 3 + tmux/tmux.conf.symlink | 4 + vim/vim.symlink/bundle/scratch/README | 41 +++++++ .../bundle/scratch/plugin/scratch.vim | 110 ++++++++++++++++++ 4 files changed, 158 insertions(+) create mode 100644 vim/vim.symlink/bundle/scratch/README create mode 100644 vim/vim.symlink/bundle/scratch/plugin/scratch.vim diff --git a/.gitmodules b/.gitmodules index 61d37b3..73cfea8 100644 --- a/.gitmodules +++ b/.gitmodules @@ -82,3 +82,6 @@ [submodule "vim/vim.symlink/bundle/ir-whack"] path = vim/vim.symlink/bundle/ir-whack url = git@github.com:nicknisi/ir-whack.git +[submodule "vim/vim.symlink/bundle/scratch"] + path = vim/vim.symlink/bundle/scratch + url = git://github.com/vim-scripts/scratch.vim.git diff --git a/tmux/tmux.conf.symlink b/tmux/tmux.conf.symlink index de3bd6a..8fb8a22 100644 --- a/tmux/tmux.conf.symlink +++ b/tmux/tmux.conf.symlink @@ -36,6 +36,10 @@ bind ^A select-pane -t:.+ set -g base-index 1 setw -g pane-base-index 1 +# set-option -g set-titles on +# set-option -g set-titles-string "#T - #W" +# set-window-option -g automatic-rename on + ###################### #### Key Bindings #### ###################### diff --git a/vim/vim.symlink/bundle/scratch/README b/vim/vim.symlink/bundle/scratch/README new file mode 100644 index 0000000..b1512dd --- /dev/null +++ b/vim/vim.symlink/bundle/scratch/README @@ -0,0 +1,41 @@ +This is a mirror of http://www.vim.org/scripts/script.php?script_id=664 + +Overview + +You can use the scratch plugin to create a temporary scratch buffer to store +and edit text that will be discarded when you quit/exit vim. The contents +of the scratch buffer are not saved/stored in a file. + +Installation + +1. Copy the scratch.vim plugin to the $HOME/.vim/plugin directory. Refer to + the following Vim help topics for more information about Vim plugins: + + :help add-plugin + :help add-global-plugin + :help runtimepath + +2. Restart Vim. + +Usage + +You can use the following command to open/edit the scratch buffer: + + :Scratch + +To open the scratch buffer in a new split window, use the following command: + + :Sscratch + +When you close the scratch buffer window, the buffer will retain the +contents. You can again edit the scratch buffer by openeing it using one of +the above commands. There is no need to save the scatch buffer. + +When you quit/exit Vim, the contents of the scratch buffer will be lost. +You will not be prompted to save the contents of the modified scratch +buffer. + +You can have only one scratch buffer open in a single Vim instance. If the +current buffer has unsaved modifications, then the scratch buffer will be +opened in a new window + diff --git a/vim/vim.symlink/bundle/scratch/plugin/scratch.vim b/vim/vim.symlink/bundle/scratch/plugin/scratch.vim new file mode 100644 index 0000000..05b9018 --- /dev/null +++ b/vim/vim.symlink/bundle/scratch/plugin/scratch.vim @@ -0,0 +1,110 @@ +" File: scratch.vim +" Author: Yegappan Lakshmanan (yegappan AT yahoo DOT com) +" Version: 1.0 +" Last Modified: June 3, 2003 +" +" Overview +" -------- +" You can use the scratch plugin to create a temporary scratch buffer to store +" and edit text that will be discarded when you quit/exit vim. The contents +" of the scratch buffer are not saved/stored in a file. +" +" Installation +" ------------ +" 1. Copy the scratch.vim plugin to the $HOME/.vim/plugin directory. Refer to +" the following Vim help topics for more information about Vim plugins: +" +" :help add-plugin +" :help add-global-plugin +" :help runtimepath +" +" 2. Restart Vim. +" +" Usage +" ----- +" You can use the following command to open/edit the scratch buffer: +" +" :Scratch +" +" To open the scratch buffer in a new split window, use the following command: +" +" :Sscratch +" +" When you close the scratch buffer window, the buffer will retain the +" contents. You can again edit the scratch buffer by openeing it using one of +" the above commands. There is no need to save the scatch buffer. +" +" When you quit/exit Vim, the contents of the scratch buffer will be lost. +" You will not be prompted to save the contents of the modified scratch +" buffer. +" +" You can have only one scratch buffer open in a single Vim instance. If the +" current buffer has unsaved modifications, then the scratch buffer will be +" opened in a new window +" +" ****************** Do not modify after this line ************************ +if exists('loaded_scratch') || &cp + finish +endif +let loaded_scratch=1 + +" Scratch buffer name +let ScratchBufferName = "__Scratch__" + +" ScratchBufferOpen +" Open the scratch buffer +function! s:ScratchBufferOpen(new_win) + let split_win = a:new_win + + " If the current buffer is modified then open the scratch buffer in a new + " window + if !split_win && &modified + let split_win = 1 + endif + + " Check whether the scratch buffer is already created + let scr_bufnum = bufnr(g:ScratchBufferName) + if scr_bufnum == -1 + " open a new scratch buffer + if split_win + exe "new " . g:ScratchBufferName + else + exe "edit " . g:ScratchBufferName + endif + else + " Scratch buffer is already created. Check whether it is open + " in one of the windows + let scr_winnum = bufwinnr(scr_bufnum) + if scr_winnum != -1 + " Jump to the window which has the scratch buffer if we are not + " already in that window + if winnr() != scr_winnum + exe scr_winnum . "wincmd w" + endif + else + " Create a new scratch buffer + if split_win + exe "split +buffer" . scr_bufnum + else + exe "buffer " . scr_bufnum + endif + endif + endif +endfunction + +" ScratchMarkBuffer +" Mark a buffer as scratch +function! s:ScratchMarkBuffer() + setlocal buftype=nofile + setlocal bufhidden=hide + setlocal noswapfile + setlocal buflisted +endfunction + +autocmd BufNewFile __Scratch__ call s:ScratchMarkBuffer() + +" Command to edit the scratch buffer in the current window +command! -nargs=0 Scratch call s:ScratchBufferOpen(0) +" Command to open the scratch buffer in a new split window +command! -nargs=0 Sscratch call s:ScratchBufferOpen(1) +