Блокнот ++ Мульти редагування


112

Як я можу мати кілька курсорів у Блокноті ++?

У мене буде декілька значень з обмеженими вкладками. Мені потрібно написати запит на всі ці значення. Наприклад, якщо я отримую файл Excel із такими значеннями:

1234 xyz pqr
2345 sdf kkk
...

Я хочу скопіювати цілий фрагмент даних у Notepad ++ і написати запит, вставивши всі значення одразу.

Подобається це:

Insert into tbl (1234, xyz) where clm = 'pqr'
Insert into tbl (2345, sdf) where clm = 'kkk'
...

Раніше я робив це з попереднім текстовим редактором Ultraedit. Це можна зробити за допомогою Notepad ++?


2
Er ... Використовуйте SublimeText. :)
Praveen Kumar Purushothaman

Я роблю це весь час із Notepad ++, але я застряг з UltraEdit на цій роботі ... Як це зробити з UltraEdit? :)
Рон Дженсен - Ми всі Моніка

Відповіді:


166

Так: просто натисніть і утримуйте Altклавішу, натисніть і перетягніть, щоб вибрати рядки, стовпці яких ви бажаєте редагувати, і починайте вводити текст.

Ви також можете перейти в Налаштування> Налаштування ... , а на вкладці " Редагування" увімкніть багаторедагування, щоб увімкнути вибір декількох окремих регіонів або стовпців тексту для редагування одночасно.

Це набагато інтуїтивніше, оскільки ви можете бачити свої зміни в прямому ефірі під час введення тексту.


2013, v5.2: Немає (довше) вкладки "Редагування" або опції "багато редагування".
Wouter

@Wouter: Він все ще є для мене в v6.2 ... якщо його немає в v5.2, то щось інше може бути не так, але я не можу далі коментувати.
BoltClock

@BoltClock: Класно! Десь між версіями v5.2 та v6.2 ця функція, мабуть, була додана. А може, він на мить загубився десь до цього :)
Wouter

1
Демонстраційну версію можна побачити тут: notepad-plus-plus.org/features/multi-editing.html . Схоже на стару версію, але я спробував її в v6.4.5, і вона спрацювала чудово.
бразильський

10
alt+up/downне працював для мене. Мені довелося використовувати alt+shift+up/downзамість цього. v6.9.1
AXO

51

У позиції, куди потрібно додати текст, виконайте:

Shift+ Alt+down arrow

і виберіть потрібні лінії Потім введіть. Введений вами текст вставляється у всі вибрані рядки.


1
Справді найкраща відповідь тут.
Етьєн Готьє

це ще краща відповідь! не забудьте використовувати shift + alt для будь-яких дій, таких як вирізати, скопіювати!
gaurav

Я довго шукав цю функцію, дякую!
michal.hubczyk

46

Ви можете додавати / редагувати вміст у кількох рядках за допомогою кнопки керування. Це функція мульти редагування в Notepad ++, нам потрібно включити її з налаштувань. Натисніть та утримуйте клавішу управління, виберіть місця, куди потрібно ввести текст, відпустіть керування та почніть вводити текст, це оновить текст у всіх місцях, вибраних раніше.

введіть тут опис зображення

Посилання: http://notepad-plus-plus.org/features/multi-editing.html


1
Я люблю подарунок, який ви зробили. Дякую за це
Жульєн

Це саме те, що я хотів. Дякую.
Сол

23

Блокнот ++ також зараз обробляє декілька курсорів.

Зайдіть у Налаштування => Налаштування => Редагування та встановіть прапорець "Увімкнути" у розділі "Налаштування кількох редагувань". Потім просто натисніть Ctrl + клацніть, щоб використовувати декілька курсорів.

Демонструйте демонстраційну версію на офіційному веб-сайті тут : https://notepad-plus-plus.org/features/multi-editing.html


бездоганна відповідь2
gaurav

22

Ви можете використовувати Edit > Column Editor...для вставки тексту в поточному та наступних рядках. Ярлик є Alt + C.


8

Блокнот ++ має потужний механізм регулярного вибору, здатний шукати та замінювати шаблони за бажанням.

У вашому сценарії:

  1. Клацніть на пункт меню Пошук \ Замінити ...

  2. Заповніть поле "Знайти що" шаблоном пошуку:

    ^(\d{4})\s+(\w{3})\s+(\w{3})$
    
  3. Заповніть шаблон заміни:

    Insert into tbl (\1, \2) where clm = \3
    
  4. Натисніть Replace Allкнопку.

І це все.

Скріншот вікна заміни NotePad ++


Я використовую регулярний вимір для таких типів редагувань протягом 10+ років, але багато людей виправляють регулярний
геть

6

Найпростіший спосіб вирішити вашу проблему (не звертаючись до іншого редактора чи вивчаючи регулярний вираз) - це записати макрос.

  • Розмістіть курсор на початку тексту, натисніть кнопку "Записати" на стрічці, а потім відредагуйте лише цей один рядок тексту. Ви можете використовувати лише клавіші зі стрілками або ctrl + клавіші зі стрілками для переміщення символів / слів, а не клацання мишею. Клавіші 'home' та 'end' також корисні.
  • Коли ви закінчите з цим одним рядком, перемістіть курсор (знову без використання миші) до початку наступного рядка.
  • Натисніть кнопку "зупинити запис".
  • Натисніть кнопку «відтворити макрос», щоб перевірити, чи працює вона в наступному рядку, як очікувалося.
  • Клацніть "запустити макрос кілька разів", щоб зробити це знову, і знову, і знову ...: P
Однією з переваг цього над курсорами "багаторедагування" є те, що вам не потрібно вручну клацати та розміщувати курсори в кожному рядку. Друга перевага полягає в тому, що ви можете працювати з обмеженими вкладками даними, які не мають постійного розміру / довжини - просто використовуйте ctrl + вліво / вправо, щоб пропустити слова.

Чесно кажучи, макроси в N ++ врятували близько року мого життя.


1

Блокнот ++ має лише редагування стовпців. Це не зовсім те саме, що декілька курсорів.

Sublime Text має чудову реалізацію цього, можливо, варто перевірити ...
Це відносно новий редактор (2011), який набирає популярність досить швидко: http://www.google.com/trends/explore#q=Notepad% 2B% 2B% 2C% 20Sublime% 20Text & cmpt = q

Редагувати: Мабуть, додано дещо навколо редагування мульти-курсора Notepad ++ версії 6.x, але є ще кілька додаткових функцій для нього в Sublime, як-от "вибрати наступне виникнення".


багатокористувацьке редагування npp ніде не так добре, як багатолінійне редагування піднесеного.
th1rdey3

1
Виправлення: багатокористувацьке редагування npp ніде не так добре, як багаторядкове редагування піднесеного за замовчуванням . Бібліотека scintilla дозволяє використовувати всі функціональні можливості, які підтримує піднесене. Будь-який користувач може завантажити плагін, такий як nppscripts або pythonscript, щоб отримати доступ до основної рамки npp і відобразити ці сценарії на комбінації клавіш, емулюючи всі піднесені команди. Для тих, хто не хоче займатись налаштуванням свого редактора, будь-яким чином платять за піднесене.
користувач2867288

Я розумію, звідки ви приїжджаєте, але не чесно просити звичайного користувача сценарій базового редактора для нормальної функції. Я погодився б із вами, якби плагін вже робив це (якщо б у мене було більше часу, я б його зробив). Також у цьому нещодавньому доступі sourceforge.net/p/scintilla/feature-requests/1085 сказано, що "виділити наступне" може бути досить просто, але ви все одно не можете мати функцію клавіші зі стрілками. Цікаво, наскільки легко "пропустити" було б також реалізувати? Виділіть наступне, пропустіть наступне, і стрілки можуть бути корисними часом.
ShawnFumo

0

Для цього можна використовувати плагін ConyEdit. Коли ConyEdit працює у фоновому режимі, виконайте наступні дії:

  1. використовуйте командний рядок, cc.spc /\t/ aщоб розділити текст на стовпці та зберігати їх у двосмуговому масиві.
  2. використовуйте команду cc.pдля друку, використовуючи вміст масиву.
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.