Одночасно редагуйте різні слова, один і той же рядок, як у піднесеному тексті з багатозначним виділенням


14

чи можна редагувати більше одного слова одночасно, які знаходяться в одному рядку?

Наприклад, скажімо, у мене це є:

Spam and Eggs is all you need for a healthy breakfast

і я хотів би змінити рядок на:

organic_Spam and organic_Eggs is all you need for a healthy breakfast

Я хотів би виділити "Спам" та "Яйця" та додати "органічний_" одночасно до "Спаму" та "Яйця". Дещо схоже на використання візуального блоку для одночасного запису на різних рядках, але сюди пишіть речі в одному рядку. Я бачив колегу, що робив це з Sublime Text, і намагався гугліти, але безрезультатно.



Я завжди думаю, що в vim множинні виділення / курсори функція - це просто цукерка для очей ...
Кент

Відповіді:


18

Я згоден з Олександром тут. У щоденному редагуванні я, ймовірно, також використовував .команду, але якщо ви хочете виконати лише одну команду, я використовував би команду-заміну:

:s/S\|E/organic_&/g

тоді як the &- це узгоджений зразок від /S\|E/.


21

У Vim немає мульти-курсорів, як у Sublime Text (але я пам'ятаю деякі плагіни). Але вбачається, що для vim не так важливі речі, оскільки є ще один спосіб цього досягти. Наприклад, у вас є цей рядок

Spam and Eggs is all you need for a healthy breakfast

Я б робив щось подібне: поставте курсор у звичайному режимі на першу букву Spamта введіть iorganic_Esc, а потім два рази wперестрибніть на Eggsі натисніть .(крапка), щоб повторити останню дію. Тож для мене це набагато продуктивніше, ніж у тексті Sumlime, але, можливо, не настільки вигадливий та інтуїтивно зрозумілий.

У будь-якому редакторі є деякий вид попередньої обробки матеріалів для цієї дії, в Sublime Text - це місце для вибору нової позиції з декількома курсорами за допомогою деякої гарячої клавіші, і після цього ви можете редагувати слова одночасно. У Vim такий вид "попередньої обробки" відбувається насправді під час редагування рядка, я маю на увазі все це ww..


3

Якщо вам дуже потрібна підтримка декількох курсорів, таких як Sublime, ви можете використовувати цей плагін: https://github.com/terryma/vim-multiple-cursors

Це не vim спосіб , але я використовую його часто, і він працює добре

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.