mirror of
https://github.com/amix/vimrc
synced 2024-12-30 05:43:07 +00:00
58 lines
1.4 KiB
VimL
58 lines
1.4 KiB
VimL
|
" plugin/peepopen.vim
|
||
|
" Author: Geoffrey Grosenbach <boss@topfunky.com>
|
||
|
" License: MIT License
|
||
|
|
||
|
" Install this file as plugin/peepopen.vim.
|
||
|
|
||
|
" If you prefer Command-T, use this snippet in your .gvimrc:
|
||
|
|
||
|
" if has("gui_macvim")
|
||
|
" macmenu &File.New\ Tab key=<nop>
|
||
|
" map <D-t> <Plug>PeepOpen
|
||
|
" end
|
||
|
|
||
|
" ============================================================================
|
||
|
|
||
|
" Exit quickly when:
|
||
|
" - this plugin was already loaded (or disabled)
|
||
|
" - when 'compatible' is set
|
||
|
if &cp || exists("g:peepopen_loaded") && g:peepopen_loaded
|
||
|
finish
|
||
|
endif
|
||
|
let g:peepopen_loaded = 1
|
||
|
let s:save_cpo = &cpo
|
||
|
set cpo&vim
|
||
|
|
||
|
if !exists('g:peepopen_quit')
|
||
|
let g:peepopen_quit = 0
|
||
|
endif
|
||
|
|
||
|
function s:LaunchPeepOpenViaVim()
|
||
|
silent exe "!open -a PeepOpen " . shellescape(getcwd())
|
||
|
redraw!
|
||
|
endfunction
|
||
|
|
||
|
function s:QuitPeepOpenViaVim()
|
||
|
silent exe '!ps ax | grep PeepOpen | grep -v grep | awk "{ print $1 }" | xargs kill -QUIT'
|
||
|
endfunction
|
||
|
|
||
|
command! PeepOpen :call <SID>LaunchPeepOpenViaVim()
|
||
|
command! PeepQuit :call <SID>QuitPeepOpenViaVim()
|
||
|
|
||
|
if has('autocmd') && exists('g:peepopen_quit') && g:peepopen_quit
|
||
|
au VimLeave * :call <SID>QuitPeepOpenViaVim()
|
||
|
endif
|
||
|
|
||
|
noremap <unique> <script> <Plug>PeepOpen <SID>Launch
|
||
|
noremap <SID>Launch :call <SID>LaunchPeepOpenViaVim()<CR>
|
||
|
|
||
|
if !hasmapto('<Plug>PeepOpen')
|
||
|
map! <unique> <silent> <Leader>p <Plug>PeepOpen
|
||
|
endif
|
||
|
|
||
|
let &cpo = s:save_cpo
|
||
|
unlet s:save_cpo
|
||
|
|
||
|
" vim:set sw=2 sts=2:
|
||
|
|