mirror of
https://github.com/gryf/.vim.git
synced 2025-12-17 11:30:29 +01:00
Update of buffergator and mark, diabled tagbar, added ack
This commit is contained in:
8
.vimrc
8
.vimrc
@@ -113,7 +113,7 @@ endif
|
||||
"}}}
|
||||
"PLUGINS: {{{
|
||||
" eclim buffers {{{2
|
||||
map <Leader>b :Buffers<CR>
|
||||
map <Leader>B :Buffers<CR>
|
||||
" }}}
|
||||
"VimWIKI {{{2
|
||||
let g:vimwiki_list = [{'path': '~/vimwiki/',
|
||||
@@ -152,8 +152,8 @@ let Tlist_Exit_OnlyWindow = 1
|
||||
let Tlist_WinWidth = 40
|
||||
"}}}
|
||||
"Tagbar {{{2
|
||||
let g:tagbar_autoclose = 1
|
||||
nmap <Leader>T :TagbarToggle<CR>
|
||||
"let g:tagbar_autoclose = 1
|
||||
"nmap <Leader>T :TagbarToggle<CR>
|
||||
"}}}
|
||||
"Pydoc {{{2
|
||||
let g:pydoc_cmd = "/usr/bin/pydoc"
|
||||
@@ -181,7 +181,7 @@ nmap <C-Down> \dj
|
||||
let g:buffergator_split_size=10
|
||||
let g:buffergator_viewport_split_policy='B'
|
||||
let g:buffergator_suppress_keymaps=1
|
||||
map <Leader>B :BuffergatorToggle<CR>
|
||||
map <Leader>b :BuffergatorToggle<CR>
|
||||
" }}}
|
||||
"Gundo {{{2
|
||||
map <Leader>u :GundoToggle<cr>
|
||||
|
||||
@@ -1,7 +1,8 @@
|
||||
ScriptID SourceID Filename
|
||||
--------------------------
|
||||
### plugins
|
||||
3619 16686 buffergator
|
||||
2572 10433 ack.vim
|
||||
3619 16816 buffergator
|
||||
102 16171 DirDiff.vim
|
||||
1984 13961 :AutoInstall: FuzzyFinder
|
||||
311 7645 grep.vim
|
||||
@@ -9,7 +10,7 @@ ScriptID SourceID Filename
|
||||
2727 11120 jsbeautify.vim
|
||||
3252 13948 :AutoInstall: L9
|
||||
2289 8922 loremipsum
|
||||
2666 15663 Mark
|
||||
2666 16840 Mark
|
||||
1218 14455 nerdcommenter
|
||||
2262 8944 occur.vim
|
||||
2136 8206 repeat.vim
|
||||
|
||||
@@ -10,9 +10,21 @@
|
||||
" Dependencies:
|
||||
" - SearchSpecial.vim autoload script (optional, for improved search messages).
|
||||
"
|
||||
" Version: 2.5.1
|
||||
" Version: 2.5.2
|
||||
" Changes:
|
||||
"
|
||||
" 09-Nov-2011, Ingo Karkat
|
||||
" - BUG: With a single match and 'wrapscan' set, a search error was issued
|
||||
" instead of the wrap message. Add check for l:isStuckAtCurrentMark &&
|
||||
" l:isWrapped in the no-match part of s:Search().
|
||||
" - FIX: In backwards search with single match, the :break short-circuits the
|
||||
" l:isWrapped logic, resets l:line and therefore also confuses the logic and
|
||||
" leads to wrong error message instead of wrap message. Don't reset l:line,
|
||||
" set l:isWrapped instead.
|
||||
" - FIX: Wrong logic for determining l:isWrapped lets wrap-around go undetected
|
||||
" when v:count >= number of total matches. [l:startLine, l:startCol] must
|
||||
" be updated on every iteration.
|
||||
"
|
||||
" 17-May-2011, Ingo Karkat
|
||||
" - Make s:GetVisualSelection() public to allow use in suggested
|
||||
" <Plug>MarkSpaceIndifferent vmap.
|
||||
@@ -515,11 +527,12 @@ function! s:Search( pattern, isBackward, currentMarkPosition, searchType )
|
||||
set nosmartcase
|
||||
|
||||
let l:count = v:count1
|
||||
let [l:startLine, l:startCol] = [line('.'), col('.')]
|
||||
let l:isWrapped = 0
|
||||
let l:isMatch = 0
|
||||
let l:line = 0
|
||||
while l:count > 0
|
||||
let [l:startLine, l:startCol] = [line('.'), col('.')]
|
||||
|
||||
" Search for next match, 'wrapscan' applies.
|
||||
let [l:line, l:col] = searchpos( a:pattern, (a:isBackward ? 'b' : '') )
|
||||
|
||||
@@ -541,9 +554,10 @@ function! s:Search( pattern, isBackward, currentMarkPosition, searchType )
|
||||
" a regular match. The search also must not be retried when this is the
|
||||
" first match, but we've been here before (i.e. l:isMatch is set): This
|
||||
" means that there is only the current mark in the buffer, and we must
|
||||
" break out of the loop and indicate that no other mark was found.
|
||||
" break out of the loop and indicate that search wrapped around and no
|
||||
" other mark was found.
|
||||
if l:isMatch
|
||||
let l:line = 0
|
||||
let l:isWrapped = 1
|
||||
break
|
||||
endif
|
||||
|
||||
@@ -571,6 +585,7 @@ function! s:Search( pattern, isBackward, currentMarkPosition, searchType )
|
||||
" We're not stuck when the search wrapped around and landed on the current
|
||||
" mark; that's why we exclude a possible wrap-around via v:count1 == 1.
|
||||
let l:isStuckAtCurrentMark = ([l:line, l:col] == a:currentMarkPosition && v:count1 == 1)
|
||||
"****D echomsg '****' l:line l:isStuckAtCurrentMark l:isWrapped l:isMatch string([l:line, l:col]) string(a:currentMarkPosition)
|
||||
if l:line > 0 && ! l:isStuckAtCurrentMark
|
||||
let l:matchPosition = getpos('.')
|
||||
|
||||
@@ -612,8 +627,13 @@ function! s:Search( pattern, isBackward, currentMarkPosition, searchType )
|
||||
" it getting lost due to the screen updates).
|
||||
call s:MarkEnable(1)
|
||||
|
||||
call s:ErrorMessage(a:searchType, a:pattern, a:isBackward)
|
||||
return 0
|
||||
if l:line > 0 && l:isStuckAtCurrentMark && l:isWrapped
|
||||
call s:WrapMessage(a:searchType, a:pattern, a:isBackward)
|
||||
return 1
|
||||
else
|
||||
call s:ErrorMessage(a:searchType, a:pattern, a:isBackward)
|
||||
return 0
|
||||
endif
|
||||
endif
|
||||
endfunction
|
||||
|
||||
|
||||
38
doc/ack.txt
Normal file
38
doc/ack.txt
Normal file
@@ -0,0 +1,38 @@
|
||||
*ack.txt* Plugin that integrates ack with Vim
|
||||
|
||||
==============================================================================
|
||||
Author: Antoine Imbert <antoine.imbert+ackvim@gmail.com> *ack-author*
|
||||
License: Same terms as Vim itself (see |license|)
|
||||
|
||||
==============================================================================
|
||||
INTRODUCTION *ack*
|
||||
|
||||
This plugin is a front for the Perl module App::Ack. Ack can be used as a
|
||||
replacement for grep. This plugin will allow you to run ack from vim, and
|
||||
shows the results in a split window.
|
||||
|
||||
:Ack [options] {pattern} [{directory}] *:Ack*
|
||||
|
||||
Search recursively in {directory} (which defaults to the current
|
||||
directory) for the {pattern}. Behaves just like the |:grep| command, but
|
||||
will open the |Quickfix| window for you.
|
||||
|
||||
:AckAdd [options] {pattern} [{directory}] *:AckAdd*
|
||||
|
||||
Just like |:Ack| + |:grepadd|. Appends the |quickfix| with the results
|
||||
|
||||
:LAck [options] {pattern} [{directory}] *:LAck*
|
||||
|
||||
Just like |:Ack| + |:lgrep|. Searches, but opens in |location-list|
|
||||
|
||||
:LAckAdd [options] {pattern} [{directory}] *:LAckAdd*
|
||||
|
||||
Just like |:Ack| + |:lgrepadd|. Searches, but appends results to
|
||||
|location-list|
|
||||
|
||||
Files containing the search term will be listed in the split window, along
|
||||
with the line number of the occurrence, once for each occurrence. <Enter> on
|
||||
a line in this window will open the file, and place the cursor on the matching
|
||||
line.
|
||||
|
||||
See http://search.cpan.org/~petdance/ack/ack for more information.
|
||||
11
doc/mark.txt
11
doc/mark.txt
@@ -42,6 +42,9 @@ RELATED WORKS *
|
||||
highlights only a single window.
|
||||
- highlight.vim (vimscript #1599) highlights lines or patterns of interest in
|
||||
different colors, using mappings that start with CTRL-H and work on cword.
|
||||
- quickhl.vim (vimscript #3692) can also list the matches with colors and in
|
||||
addition offers on-the-fly highlighting of the current word (like many IDEs
|
||||
do).
|
||||
|
||||
==============================================================================
|
||||
USAGE *mark-usage*
|
||||
@@ -219,6 +222,7 @@ Using this, you can assign a new visual mode mapping <Leader>* >
|
||||
vmap <Leader>* <Plug>MarkWhitespaceIndifferent
|
||||
or override the default |v_<Leader>m| mapping, in case you always want this
|
||||
behavior: >
|
||||
vmap <Plug>IgnoreMarkSet <Plug>MarkSet
|
||||
vmap <Leader>m <Plug>MarkWhitespaceIndifferent
|
||||
<
|
||||
==============================================================================
|
||||
@@ -245,6 +249,13 @@ http://vim.wikia.com/wiki/Highlight_multiple_words:
|
||||
==============================================================================
|
||||
HISTORY *mark-history*
|
||||
|
||||
2.5.2 09-Nov-2011
|
||||
Fixed various problems with wrap-around warnings:
|
||||
- BUG: With a single match and 'wrapscan' set, a search error was issued.
|
||||
- FIX: Backwards search with single match leads to wrong error message
|
||||
instead.
|
||||
- FIX: Wrong logic for determining l:isWrapped lets wrap-around go undetected.
|
||||
|
||||
2.5.1 17-May-2011
|
||||
- FIX: == comparison in s:DoMark() leads to wrong regexp (\A vs. \a) being
|
||||
cleared when 'ignorecase' is set. Use case-sensitive comparison ==# instead.
|
||||
|
||||
7
doc/tags
7
doc/tags
@@ -24,6 +24,8 @@
|
||||
'snippets' snipMate.txt /*'snippets'*
|
||||
.snippet snipMate.txt /*.snippet*
|
||||
.snippets snipMate.txt /*.snippets*
|
||||
:Ack ack.txt /*:Ack*
|
||||
:AckAdd ack.txt /*:AckAdd*
|
||||
:CVSEdit vcscommand.txt /*:CVSEdit*
|
||||
:CVSEditors vcscommand.txt /*:CVSEditors*
|
||||
:CVSUnedit vcscommand.txt /*:CVSUnedit*
|
||||
@@ -70,6 +72,8 @@
|
||||
:FufTagWithCursorWord fuf.txt /*:FufTagWithCursorWord*
|
||||
:FufTaggedFile fuf.txt /*:FufTaggedFile*
|
||||
:Id: vimblogger_ft.txt /*:Id:*
|
||||
:LAck ack.txt /*:LAck*
|
||||
:LAckAdd ack.txt /*:LAckAdd*
|
||||
:Loremipsum loremipsum.txt /*:Loremipsum*
|
||||
:Loreplace loremipsum.txt /*:Loreplace*
|
||||
:Mark mark.txt /*:Mark*
|
||||
@@ -213,6 +217,9 @@ VCSCommandVCSTypeOverride vcscommand.txt /*VCSCommandVCSTypeOverride*
|
||||
VCSCommandVCSTypePreference vcscommand.txt /*VCSCommandVCSTypePreference*
|
||||
VimwikiWeblinkHandler vimwiki.txt /*VimwikiWeblinkHandler*
|
||||
abc fuf.txt /*abc*
|
||||
ack ack.txt /*ack*
|
||||
ack-author ack.txt /*ack-author*
|
||||
ack.txt ack.txt /*ack.txt*
|
||||
b:VCSCommandCommand vcscommand.txt /*b:VCSCommandCommand*
|
||||
b:VCSCommandOriginalBuffer vcscommand.txt /*b:VCSCommandOriginalBuffer*
|
||||
b:VCSCommandSourceFile vcscommand.txt /*b:VCSCommandSourceFile*
|
||||
|
||||
50
plugin/ack.vim
Normal file
50
plugin/ack.vim
Normal file
@@ -0,0 +1,50 @@
|
||||
" NOTE: You must, of course, install the ack script
|
||||
" in your path.
|
||||
" On Ubuntu:
|
||||
" sudo apt-get install ack-grep
|
||||
" ln -s /usr/bin/ack-grep /usr/bin/ack
|
||||
" With MacPorts:
|
||||
" sudo port install p5-app-ack
|
||||
|
||||
let g:ackprg="ack\\ -H\\ --nocolor\\ --nogroup"
|
||||
|
||||
function! Ack(args)
|
||||
let grepprg_bak=&grepprg
|
||||
exec "set grepprg=" . g:ackprg
|
||||
execute "silent! grep " . a:args
|
||||
botright copen
|
||||
let &grepprg=grepprg_bak
|
||||
exec "redraw!"
|
||||
endfunction
|
||||
|
||||
function! AckAdd(args)
|
||||
let grepprg_bak=&grepprg
|
||||
exec "set grepprg=" . g:ackprg
|
||||
execute "silent! grepadd " . a:args
|
||||
botright copen
|
||||
let &grepprg=grepprg_bak
|
||||
exec "redraw!"
|
||||
endfunction
|
||||
|
||||
function! LAck(args)
|
||||
let grepprg_bak=&grepprg
|
||||
exec "set grepprg=" . g:ackprg
|
||||
execute "silent! lgrep " . a:args
|
||||
botright lopen
|
||||
let &grepprg=grepprg_bak
|
||||
exec "redraw!"
|
||||
endfunction
|
||||
|
||||
function! LAckAdd(args)
|
||||
let grepprg_bak=&grepprg
|
||||
exec "set grepprg=" . g:ackprg
|
||||
execute "silent! lgrepadd " . a:args
|
||||
botright lopen
|
||||
let &grepprg=grepprg_bak
|
||||
exec "redraw!"
|
||||
endfunction
|
||||
|
||||
command! -nargs=* -complete=file Ack call Ack(<q-args>)
|
||||
command! -nargs=* -complete=file AckAdd call AckAdd(<q-args>)
|
||||
command! -nargs=* -complete=file LAck call LAck(<q-args>)
|
||||
command! -nargs=* -complete=file LAckAdd call LAckAdd(<q-args>)
|
||||
@@ -422,7 +422,7 @@ function! s:NewCatalogViewer(name, title)
|
||||
redir END
|
||||
let l:buffers_output_rows = split(l:buffers_output, "\n")
|
||||
for l:buffers_output_row in l:buffers_output_rows
|
||||
let l:parts = matchlist(l:buffers_output_row, '^\s*\(\d\+\)\(.....\) "\(.*\)"\s\+\w\+ \d\+$')
|
||||
let l:parts = matchlist(l:buffers_output_row, '^\s*\(\d\+\)\(.....\) "\(.*\)"')
|
||||
let l:info = {}
|
||||
let l:info["bufnum"] = l:parts[1] + 0
|
||||
if l:parts[2][0] == "u"
|
||||
@@ -1015,7 +1015,6 @@ function! s:NewBufferCatalogViewer()
|
||||
noremap <buffer> <silent> <CR> :<C-U>call b:buffergator_catalog_viewer.visit_target(!g:buffergator_autodismiss_on_select, 0, "")<CR>
|
||||
noremap <buffer> <silent> o :<C-U>call b:buffergator_catalog_viewer.visit_target(!g:buffergator_autodismiss_on_select, 0, "")<CR>
|
||||
" gryf: let's keep it stright: s should split, v should vsplit
|
||||
" split
|
||||
noremap <buffer> <silent> s :<C-U>call b:buffergator_catalog_viewer.visit_target(!g:buffergator_autodismiss_on_select, 0, "sb")<CR>
|
||||
noremap <buffer> <silent> v :<C-U>call b:buffergator_catalog_viewer.visit_target(!g:buffergator_autodismiss_on_select, 0, "vert sb")<CR>
|
||||
noremap <buffer> <silent> t :<C-U>call b:buffergator_catalog_viewer.visit_target(!g:buffergator_autodismiss_on_select, 0, "tab sb")<CR>
|
||||
|
||||
Reference in New Issue
Block a user