Есть ли способ, который t{char}
и f{char}
будет продолжать работать в следующих строках, если {char}
нет в данной строке?
Я хотел бы избежать использования, /{char}<CR>
чтобы сохранить 1 нажатие клавиши и не иметь подсветки поиска, особенно когда мне это нужно в сочетании с глаголами (например dfa
, ct.
).
cursor-motions
cbaumhardt
источник
источник
d/a
чтобы удалить к следующемуa
иc/.
удалить к следующему.
. Если вы используетеhlsearch
и не хотите этого при выполнении этой операции, вы можете создать отображение, которое выполняет вашуd/
операцию, а затем отключает выделение (заканчивается на:nohlsearch
).g:clever_f_across_no_line
0 и других опциях, включенных / отключенных по желанию).Ответы:
Я также некоторое время использовал dahu / vim-fanfingtastic и нашел его очень полезным. Он поддерживает семантические повторы
.
благодаря библиотеке tpope / repeat.vim, которую вы также должны установить.Альтернатива - крисбра / улучшенный фут, который делает более или менее то же самое.
В rhysd / clever-f.vim есть возможность включить многострочный поиск, хотя его основной функцией является возможность
f
повторения текущего поиска, как;
это уже делается.Все те ручки
;
и,
ключи, как и ожидалось.Недостаток с многострочно
f
и вt
том , что если вы попали в неправильный ключ, то будет снято с текущей строкой , чтобы где - то неожиданный в файле. Ctrl-Oможет помочь в такие моменты. (Это может быть опасно сc
изменением, если вы не понимаете, что вы только что проглотили несколько строк, но это были только проблемы с зубами для меня.)Существуют и другие связанные плагины с немного отличающимися подходами, такие как justinmk / vim-sneak и goldfeld / vim-seek, которые запрашивают два символа , облегчая (но все еще не гарантируя) попадание в целевое местоположение.
И тогда есть easymotion / vim-easymotion . Это предлагает множество мощных клавиш управления движением , некоторые из которых требуют дополнительного нажатия одной или двух клавиш для подтверждения целевого символа, когда есть много кандидатов.
Но в настоящее время я использую решение для дома. Я работал с автором EasyMotion, чтобы создать
f
иt
прошить маркеры подсчета для всех соответствующих персонажей перед вами.Это действует как естественный помощник для движений vanilla vim. Когда вы пытаетесь двигаться куда-то,
fx
но потом обнаруживаете, чтоx
на пути больше s, чем вы думали, вы можете прочитать число, которое вспыхнуло над персонажем, к которому вы стремитесь, и затем сделать[count];
прыжок туда.Вы можете найти ветку здесь . Обязательно прочитайте раздел Добавить полезные советы, чтобы настроить сопоставления клавиш.
Однако для
c
операций изменения все же предпочтительнее сделать это правильно с первого раза . В этих случаях я рекомендую провести дополнительное нажатие клавиши вv
визуальном режиме или использовать один из гарантированных переходов EasyMotion.источник
есть плагин, который делает то, что вы, кажется, хотите, как заявлено VanLaser.
https://github.com/dahu/vim-fanfingtastic
Теперь для правильной работы требуется повторный плагин, поэтому он вам тоже понадобится:
https://github.com/tpope/vim-repeat
источник