Якщо ви не проти натиснути іншу комбінацію, ніж cw
тоді, я вважаю, що ви можете отримати те, що хочете, легко, визначивши ярлик. Що ви можете зробити, це розмістити наступне
nmap <leader>a "1yiw:let @/=@1^Mciw
у вашому .vimrc
файлі. Зауважте, що ^M
це захоплення ключа повернення, а не символи ^
та M
. Ви отримуєте це, натискаючи Ctrl+ Vу режимі вставки, після чого Enter. Тепер із цим визначенням натискання <leader>a
буде робити те саме, що cw
, але тепер слово (до зміни) буде у вашому "останньому реєстрі пошуку" (тобто /
реєстрі), тому натискання nпісля внесення змін та повернення в нормальному режимі перейде вас до наступного явища. Так само натискання Nперейде до попереднього явища.
Ярлик Ви, звичайно, можете вибрати інший ярлик, ніж <leader>a
я, але я просто вважаю, що це дуже доступний ярлик. Особисто я поставив , <leader>
щоб ,
так , що мені просто потрібно натискати ,слід a, але це тому , що я не використовую американську клавіатуру, так що мій \заховано кілька (я вважаю , \за замовчуванням <leader>
).
Пояснення Ідея дійсно проста. Поставте слово під курсором до реєстру пошуку, /
а потім зробіть cw
. Таким чином nmap <leader>a "/yciw
я і мав на меті, але, на жаль, я не думаю, що ви можете потягнути до реєстру пошуку, тому вирішення питання полягає в тому, щоб вирвати слово під курсором до 1
реєстру, потім встановити /
реєстр рівним тому, а потім зробити cw
. Так "1yiw
це та частина, яка додає внутрішнє слово під курсором до регістра 1
. Якщо ви не знаєте про внутрішні слова, можете перевірити :help iw
. Після цього :let @/=@1
слідує захоплення Enterвмісту вмісту 1
реєстру в папку /
. У цей момент nіNпрацює як наступне, так і попереднє виникнення слова під курсором, а потім a ciw
робиться так, що слово під курсором видаляється, а Vim переходить у режим вставлення.
слово проти внутрішнього слова, я щойно зрозумів, що я припускаю, що ви хочете, щоб все слово було під курсором, а не лише з точки зору курсору і далі. Ось чому я використовував iw
замість w
скрізь. Якщо це не так, то слід скористатися
nmap <leader>a "1yw:let @/=@1^Mcw
замість цього. Якщо курсор знаходиться на першій букві слова, різниці немає.
відмова від відповідальності Це рішення, ймовірно , НЕ дуже добре працює , якщо ви намагаєтеся використовувати його на те , що містить речі , відмінні від букв, наприклад, маючи курсор стояти на \
або шляхом заміни iw
на iW
, ib
, is
або ip
чи що - то (хоча я не знаю , чому ви б хочу цю функцію цілими реченнями)
*
пошук. Особливо це змушує*
візуально вибрати поточне слово, не переміщуючи курсор. Після її встановлення ви можете зробити*ciw
старе слово в реєстрі пошуку та змінити слово. Тоді можна використовуватиn
і.
.