2010-08-10 14 views
77

Jak mogę mieć wiele kursorów w Notepad ++?Notepad ++ Multi edycja

Będę miał kilka wartości rozdzielanych tabulatorami. Muszę napisać zapytanie dla wszystkich tych wartości. Na przykład, jeśli mam plik Excel z wartościami tak:

1234 xyz pqr 
2345 sdf kkk 
... 

chcę skopiować cały ten danych do Notepad ++ i napisać zapytanie od razu wstawić wszystkie te wartości, jak:

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

Zrobiłem to w moim starym miejscu używając Ultraedit. Czy można to zrobić za pomocą Notepad ++?

+0

Er ... Użyj SublimeText. :) –

+0

Robię to cały czas z Notepad ++, ale utknąłem z UltraEdit w tej pracy ... Jak to zrobić z UltraEdit? :) –

Odpowiedz

17

Możesz użyć Edit > Column Editor..., aby wstawić tekst w bieżącym i następujących wierszach. Skrót to Alt + C.

140

Tak: po prostu naciśnij i przytrzymaj klawisz Alt, kliknij i przeciągnij, aby wybrać wiersze, których kolumny chcesz edytować, i zacznij pisać.

Można też przejść do Ustawienia> Preferencje ..., aw Montaż karcie włącz multi-edycji, aby umożliwić wybór wielu odrębnych regionów lub kolumn tekstu do edycji na raz.

Jest to o wiele bardziej intuicyjne, ponieważ możesz zobaczyć, jak zmiany są wprowadzane na żywo podczas pisania.

+0

2013 tutaj, v5.2: Nie ma (dłuższej an) opcji edycji lub edycji wielu opcji. – Wouter

+0

@Wouter: Wciąż jest tam dla mnie w wersji 6.2 ... jeśli nie jest obecny w wersji 5.2, coś jeszcze może być nie tak, ale nie mogę dalej komentować. – BoltClock

+0

@BoltClock: Cool! Gdzieś pomiędzy wersją v5.2 a wersją 6.2 ta funkcja musiała zostać dodana. A może zgubiło się gdzieś wcześniej :) – Wouter

1

Notepad ++ ma tylko edycję kolumn. To nie jest całkowicie takie samo, jak wiele kursorów.

Sublime Text ma wspaniałą realizację tego, może być warto sprawdzić ...
Jest to stosunkowo nowy edytor (2011), która zyskuje popularność dość szybko: http://www.google.com/trends/explore#q=Notepad%2B%2B%2C%20Sublime%20Text&cmpt=q

Edit: Podobno gdzieś Dodano edycję wielo-kursorową Notepad ++ w wersji 6.x, ale w Sublime jest jeszcze kilka bardziej zaawansowanych funkcji, takich jak "wybierz następne wystąpienie".

+0

Edycja wieloadresowa npp nie jest tak dobra jak edycja wielowierszowa. – th1rdey3

+1

Korekta: Edycja wieloadresowa npp nie jest tak dobra, jak edycja wielowierszowa wzniosłości * domyślnie *. Biblioteka scintilla pozwala na obsługę wszystkich funkcji, które są wspierane. Każdy użytkownik może pobrać wtyczkę, taką jak nppscripts lub pythonscript, aby uzyskać dostęp do podstawowego szkieletu npp i zamapować te skrypty na skróty klawiaturowe, emulując wszystkie wysublimowane polecenia. Dla tych, którzy nie chcą zawracać sobie głowy konfigurowaniem swojego edytora, zapłać za wysublimowane. – user2867288

+0

Rozumiem, skąd się wywodzisz, ale nie jest sprawiedliwe, aby poprosić zwykłego użytkownika, aby skrypował podstawowy framework edytora dla normalnej funkcji. Zgodzę się z tobą, jeśli wtyczka już to zrobiła (gdybym miał więcej czasu, bym ją zrobił). Również ten ostatni wpis http://sourceforge.net/p/scintilla/feature-requests/1085/ mówi "highlight next" może być łatwy do zrobienia, ale nadal nie możesz mieć funkcji klawiszy strzałek. Zastanawiam się, jak łatwe byłoby również "pominięcie"? Wyróżnij obok, pomiń następny, a strzałki mogą być pomocne w czasie. – ShawnFumo

2

Możesz dodawać/edytować zawartość wielu linii za pomocą przycisku sterowania. Jest to funkcja multi edit w Notepad ++, musimy ją włączyć z poziomu ustawień. Naciśnij i przytrzymaj element sterujący, wybierz miejsca, w których chcesz wprowadzić tekst, zwolnij kontrolę i zacznij pisać, spowoduje to zaktualizowanie tekstu we wszystkich zaznaczonych wcześniej miejscach.

Ref: http://notepad-plus-plus.org/features/multi-editing.html

7

Notepad ++ ma potężny silnik regex, zdolną do wyszukiwania i zamiany wzorów do woli.

W swoim scenariuszu:

  1. kliknij element menu Search \ Wymienić ...

  2. Napełnić 'sprawdź co' pole z wzorca wyszukiwania:

    ^(\d{4})\s+(\w{3})\s+(\w{3})$ 
    
  3. Napełnić zastąpić wzór:

    Insert into tbl (\1, \2) where clm = \3 
    
  4. Kliknij przycisk Replace All.

I to wszystko.

NotePad++ replace window screenshot

5

Najprostszym sposobem rozwiązania problemu (bez przechodzenia do innego edytora lub nauki regex) jest rejestrowanie makra.

  • Umieść kursor na początku tekstu, kliknij przycisk "Nagraj" na wstążce, a następnie edytuj tylko jeden wiersz tekstu. Możesz używać klawiszy strzałek lub klawiszy Ctrl + strzałek, aby poruszać się po znakach/słowach zamiast klikać myszą. Pomocne są również klawisze "home" i "end".
  • Po zakończeniu tej linii przesuń kursor (ponownie bez użycia myszy) na początek następnego wiersza.
  • Kliknij przycisk "zatrzymaj nagrywanie".
  • Kliknij przycisk "Odtwórz makro", aby sprawdzić, czy działa zgodnie z oczekiwaniami w następnym wierszu.
  • Kliknij "uruchom makro wiele razy", aby zrobić to ponownie, i znowu, i znowu ...: P
Jedną z zalet tego nad kursorami "do wielu edycji" jest to, że nie musisz ręcznie klikać i umieść kursory w każdym rzędzie. Drugą zaletą jest to, że można pracować z danymi rozdzielanymi tabulatorami, które nie mają stałego rozmiaru/długości - wystarczy użyć kombinacji ctrl + lewo/prawo, aby pominąć słowa.
Szczerze mówiąc, makra w N ++ uratowały około roku mojego życia.

12

Notepad ++ obsługuje teraz także wiele kursorów. Przejdź do Ustawienia => Preferencje => Edycja i zaznacz "Włącz" w "Ustawienia edycji wielokrotnej" Następnie wystarczy użyć kombinacji klawiszy Ctrl + kliknięcie, aby użyć wielu kursorów.

Feature demo na oficjalnej stronie tutaj: https://notepad-plus-plus.org/features/multi-editing.html

12

W miejscu, w którym chcesz dodać tekst, wykonaj następujące czynności:

Shift + Alt + down arrow

i wybrać wiersze, które chcesz. Następnie wpisz. Tekst, który wpisujesz, jest wstawiany we wszystkie wybrane linie.

+0

Naprawdę najlepsza odpowiedź tutaj. –