Skip to content

Commit 4198621

Browse files
committed
Don't override next search result on CTRL-T
Closes #44
1 parent c19aeb8 commit 4198621

File tree

1 file changed

+17
-3
lines changed

1 file changed

+17
-3
lines changed

plugin/rsi.vim

Lines changed: 17 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -29,9 +29,23 @@ inoremap <expr> <C-E> col('.')>strlen(getline('.'))<bar><bar>pumvisible()?"\<Lt>
2929
inoremap <expr> <C-F> col('.')>strlen(getline('.'))?"\<Lt>C-F>":"\<Lt>Right>"
3030
cnoremap <expr> <C-F> getcmdpos()>strlen(getcmdline())?&cedit:"\<Lt>Right>"
3131
32-
noremap! <expr> <SID>transposition getcmdpos()>strlen(getcmdline())?"\<Left>":getcmdpos()>1?'':"\<Right>"
33-
noremap! <expr> <SID>transpose "\<BS>\<Right>".matchstr(getcmdline()[0 : getcmdpos()-2], '.$')
34-
cmap <script> <C-T> <SID>transposition<SID>transpose
32+
function! s:transpose() abort
33+
let pos = getcmdpos()
34+
if getcmdtype() ==# '/'
35+
return "\<C-T>"
36+
elseif pos > strlen(getcmdline())
37+
let pre = "\<Left>"
38+
let pos -= 1
39+
elseif pos <= 1
40+
let pre = "\<Right>"
41+
let pos += 1
42+
else
43+
let pre = ""
44+
endif
45+
return pre . "\<BS>\<Right>".matchstr(getcmdline()[0 : pos-2], '.$')
46+
endfunction
47+
48+
cnoremap <expr> <C-T> <SID>transpose()
3549
3650
if exists('g:rsi_no_meta')
3751
finish

0 commit comments

Comments
 (0)