Fix #1, supports count now.

This commit is contained in:
othree_kao 2013-02-21 14:51:27 +08:00
parent 43b418cd55
commit 27f0c14062
2 changed files with 13 additions and 11 deletions

View File

@ -2,19 +2,19 @@
## Installation ## Installation
Vimball package will not release until English doc is ready. Use [Vundle][] or [pathogen][] is suggested.
Now you can clone this repo and use [vim-makefile][] to install.
[vim-makefile]:http://github.com/c9s/vim-makefile [Vundle]:https://github.com/gmarik/vundle
[pathogen]:https://github.com/tpope/vim-pathogen
## Usage ## Usage
Add the following three lines to your vimrc file. Add the following three lines to your vimrc file.
nnoremap / :M/ nnoremap <expr> / ":<C-U>".v:count1."M/"
nnoremap ? :M? nnoremap <expr> ? ":<C-U>".v:count1."M?"
nnoremap ,/ / nnoremap ,/ /
nnoremap ,? ? nnoremap .? ?
Now you can use / to find. :%S// (uppercase S) to replace. Now you can use / to find. :%S// (uppercase S) to replace.
You can use ,/ to use the origin / . You can use ,/ to use the origin / .
@ -25,6 +25,6 @@ Author : 安久津
Origin : [eregex.vim][origin] Origin : [eregex.vim][origin]
Maintainer : othree Maintainer : othree
Might release under MIT License. `:help eregex-license-to-use` for license information.
[origin]:http://www.vector.co.jp/soft/unix/writing/se265654.html [origin]:http://www.vector.co.jp/soft/unix/writing/se265654.html

View File

@ -209,7 +209,7 @@ let loaded_eregex=1
"============================================================================= "=============================================================================
"Commands And Mappings: "Commands And Mappings:
command! -nargs=? -range E2v :<line1>,<line2>call <SID>ExtendedRegex2VimRegexLineWise(<q-args>) command! -nargs=? -range E2v :<line1>,<line2>call <SID>ExtendedRegex2VimRegexLineWise(<q-args>)
command! -nargs=? -count M :let v:searchforward = <SID>Ematch(<q-args>) command! -nargs=? -count=0 M :let v:searchforward = <SID>Ematch(<count>, <q-args>)
"command! -nargs=? -range S :<line1>,<line2>call <SID>Esubstitute(<q-args>) "command! -nargs=? -range S :<line1>,<line2>call <SID>Esubstitute(<q-args>)
command! -nargs=? -range S :<line1>,<line2>call <SID>Esubstitute(<q-args>) <Bar> :noh command! -nargs=? -range S :<line1>,<line2>call <SID>Esubstitute(<q-args>) <Bar> :noh
@ -675,9 +675,10 @@ endfunction
"end E2v() "end E2v()
"----------------------------------------------------------------------------- "-----------------------------------------------------------------------------
function! s:Ematch(...) function! s:Ematch(...)
if strlen(a:1) <= 1 | return | endif if strlen(a:2) <= 1 | return | endif
let string = a:1 let ccount = a:1
let string = a:2
let delim=string[0] let delim=string[0]
if delim !=# '/' && delim !=# '?' if delim !=# '/' && delim !=# '?'
@ -711,8 +712,9 @@ function! s:Ematch(...)
let offset = delim let offset = delim
endif endif
let cmd = 'normal! ' . delim . regex . offset . "\<CR>" let cmd = 'normal! ' . ccount . delim . regex . offset . "\<CR>"
let v:errmsg='' let v:errmsg=''
set nohlsearch
silent! exec cmd silent! exec cmd
if (v:errmsg !~# '^E\d\+:') || (v:errmsg =~# '^E486:') if (v:errmsg !~# '^E\d\+:') || (v:errmsg =~# '^E486:')
"v130 "v130