Якщо ви не проти натиснути іншу комбінацію, ніж 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і..