Vim : команда :set ignorecase
не влияет на команды движения "f" и "t" в моей конфигурации vim.
Есть ли какая-либо опция или хак, который заставляет эти команды игнорировать регистр?
Vim : команда :set ignorecase
не влияет на команды движения "f" и "t" в моей конфигурации vim.
Есть ли какая-либо опция или хак, который заставляет эти команды игнорировать регистр?
Я хотел бы предложить что-то вроде:
function! ForwardLookup()
" get next key pressed
let c = nr2char(getchar())
let old_search_pattern = @/
" Use of \V enables very-nonmagic pattern
exec 'normal /\c\V' . escape(c, '\/') . nr2char(0x0d)
let @/ = old_search_pattern
endfunction
nnoremap f :call ForwardLookup()<CR>
Основная версия этого на самом деле в справочном руководстве, как пример того, как использовать функцию getchar()
:
Этот пример переопределяет "f", чтобы игнорировать регистр:
:nmap f :call FindChar()<CR> :function FindChar() : let c = nr2char(getchar()) : while col('.') < col('$') - 1 : normal l : if getline('.')[col('.') - 1] ==? c : break : endif : endwhile :endfunction
Смотрите :help getchar()
.
Вам нужно сохранить возвращенного персонажа и написать аналогичную карту для ; если вы хотите, чтобы это тоже работало, и напишите код для обработки v:count1
если вы хотите, чтобы он работал с счетчиками.