Notepad ++ Multi pengeditan


112

Bagaimana saya bisa memiliki banyak kursor di Notepad ++?

Saya akan memiliki beberapa nilai tab delimited. Saya perlu menulis kueri untuk semua nilai ini. Misalnya, jika saya mendapatkan file Excel dengan nilai seperti ini:

1234 xyz pqr
2345 sdf kkk
...

Saya ingin menyalin seluruh bagian data ini ke Notepad ++ dan menulis kueri, memasukkan semua nilai sekaligus.

Seperti ini:

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

Saya biasa melakukannya dengan editor teks saya sebelumnya, Ultraedit. Bisakah ini dilakukan dengan menggunakan Notepad ++?


2
Er ... Gunakan SublimeText. :)
Praveen Kumar Purushothaman

Saya melakukan ini sepanjang waktu dengan Notepad ++, tetapi terjebak dengan UltraEdit pada pekerjaan ini ... Bagaimana saya melakukan ini dengan UltraEdit? :)
Ron Jensen - Kita semua adalah Monica

Jawaban:


166

Ya: cukup tekan dan tahan Alttombol, klik dan seret untuk memilih baris yang kolomnya ingin Anda edit, dan mulai mengetik.

Anda juga dapat membuka Pengaturan> Preferensi ... , dan di tab Pengeditan , aktifkan multi-pengeditan, untuk mengaktifkan pemilihan beberapa wilayah atau kolom teks terpisah untuk diedit sekaligus.

Ini jauh lebih intuitif, karena Anda dapat melihat hasil edit Anda langsung saat Anda mengetik.


2013 di sini, v5.2: Tidak ada (lagi) tab Pengeditan atau opsi multi-pengeditan.
Wouter

@Wouter: Masih ada untuk saya di v6.2 ... jika tidak ada di v5.2 maka ada hal lain yang mungkin salah, tetapi saya tidak dapat berkomentar lebih lanjut.
BoltClock

@BoltClock: Keren! Di antara versi v5.2 dan v6.2 fitur tersebut harus ditambahkan. Atau mungkin hilang sebentar di suatu tempat sebelumnya :)
Wouter

1
Demo dapat dilihat di sini: notepad-plus-plus.org/features/multi-editing.html . Sepertinya versi lama, tapi saya mencobanya di v6.4.5 dan berfungsi dengan baik.
brazilianldsjaguar

10
alt+up/downtidak bekerja untuk saya. Saya harus menggunakan alt+shift+up/downsebagai gantinya. v6.9.1
AXO

51

Di posisi di mana Anda ingin menambahkan teks, lakukan:

Shift+ Alt+down arrow

dan pilih garis yang Anda inginkan. Lalu ketik. Teks yang Anda ketik disisipkan di semua baris yang Anda pilih.


1
Benar-benar jawaban terbaik di sini.
Etienne Gautier

ini adalah jawaban yang lebih baik! ingatlah untuk menggunakan shift + alt untuk tindakan apa pun seperti potong, salin!
gaurav

Saya sudah lama mencari fitur ini, terima kasih!
michal.hubczyk

46

Anda dapat menambahkan / mengedit konten pada beberapa baris dengan menggunakan tombol kontrol. Ini adalah fitur multi edit di Notepad ++, kita perlu mengaktifkannya dari pengaturan. Tekan dan tahan kontrol, pilih tempat di mana Anda ingin memasukkan teks, lepaskan kontrol dan mulai mengetik, ini akan memperbarui teks di semua tempat yang dipilih sebelumnya.

masukkan deskripsi gambar di sini

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


1
Saya suka gif yang Anda buat. Terima kasih untuk ini.
Julien

Inilah yang saya inginkan. Terima kasih.
Sol


22

Anda dapat menggunakan Edit > Column Editor...untuk menyisipkan teks pada baris saat ini dan berikutnya. Pintasannya adalah Alt + C.


8

Notepad ++ memiliki mesin regex yang kuat, mampu mencari dan mengganti pola sesuka hati.

Dalam skenario Anda:

  1. Klik item menu Search \ Replace ...

  2. Isi kolom 'Find what' dengan pola pencarian:

    ^(\d{4})\s+(\w{3})\s+(\w{3})$
    
  3. Isi pola ganti:

    Insert into tbl (\1, \2) where clm = \3
    
  4. Klik Replace Alltombol tersebut.

Dan itu dia.

NotePad ++ mengganti tangkapan layar jendela


Saya telah menggunakan regex untuk jenis pengeditan ini selama lebih dari 10 tahun, tetapi banyak orang memperbaiki ekspresi reguler yang membingungkan atau sulit dipelajari
raider33

6

Metode termudah untuk menyelesaikan masalah Anda (tanpa pergi ke editor lain atau mempelajari regex) adalah dengan merekam makro.

  • Tempatkan kursor di awal teks Anda, klik tombol 'rekam' di pita, lalu edit hanya satu baris teks itu. Anda hanya dapat menggunakan tombol panah atau ctrl + tombol panah untuk memindahkan karakter / kata daripada mengklik dengan mouse Anda. Tombol 'home' dan 'end' juga berguna.
  • Setelah Anda selesai dengan satu baris itu, gerakkan kursor Anda (sekali lagi tanpa menggunakan mouse) ke awal baris berikutnya.
  • Klik tombol 'berhenti merekam'.
  • Klik tombol 'mainkan makro' untuk memeriksa apakah itu berfungsi di baris berikutnya seperti yang diharapkan.
  • Klik 'run macro multiple times' untuk melakukannya lagi, dan lagi, dan lagi ...: P
Satu keuntungan dari ini dibandingkan kursor 'multi-pengeditan' adalah Anda tidak perlu mengklik dan menempatkan kursor secara manual di setiap baris. Keuntungan kedua adalah Anda dapat bekerja dengan data tab-delimited yang tidak memiliki ukuran / panjang yang konsisten - cukup gunakan ctrl + kiri / kanan untuk melewati kata.

Sejujurnya, makro di N ++ telah menghemat sekitar satu tahun hidup saya.


1

Notepad ++ hanya memiliki pengeditan kolom. Ini tidak sepenuhnya sama dengan beberapa kursor.

Sublime Text memiliki implementasi yang luar biasa dari ini, mungkin patut untuk dicoba ...
Ini adalah editor yang relatif baru (2011) yang mendapatkan popularitas cukup cepat: http://www.google.com/trends/explore#q=Notepad% 2B% 2B% 2C% 20Sublim% 20Teks ​​& cmpt = q

Sunting: Rupanya di suatu tempat di sekitar Notepad ++ versi 6.x pengeditan multi-kursor ditambahkan, tetapi masih ada beberapa fitur lanjutan untuk itu di Sublime, seperti "pilih kejadian berikutnya".


pengeditan multi-kursor dari npp tidak sebagus pengeditan multiline yang luhur.
th1rdey3

1
Koreksi: pengeditan multi-kursor dari npp tidak sebagus pengeditan multiline dari sublim secara default . Perpustakaan scintilla memungkinkan untuk semua fungsionalitas yang mendukung luhur. Setiap pengguna dapat mengunduh plugin seperti nppscripts atau pythonscript untuk mengakses kerangka kerja npp yang mendasarinya dan memetakan skrip tersebut ke pintasan keyboard, meniru semua perintah luhur. Bagi mereka yang tidak ingin repot mengonfigurasi editor mereka, tentu saja bayar untuk yang luhur.
pengguna2867288

Saya mengerti dari mana Anda berasal tetapi tidak adil untuk meminta pengguna biasa harus membuat skrip kerangka editor yang mendasari untuk fitur normal. Saya setuju dengan Anda jika sebuah plugin sudah melakukan ini (jika saya punya lebih banyak waktu, saya akan membuatnya). Juga posting terbaru sourceforge.net/p/scintilla/feature-requests/1085 mengatakan "highlight next" mungkin mudah dilakukan, tetapi Anda masih tidak dapat memiliki fungsi tombol panah. Saya bertanya-tanya seberapa mudah "lewati" untuk diterapkan juga? Sorot berikutnya, lewati berikutnya, dan panah semuanya dapat membantu sewaktu-waktu.
ShawnFumo

0

Anda dapat menggunakan plugin ConyEdit untuk melakukan ini. Dengan ConyEdit yang berjalan di latar belakang, ikuti langkah-langkah berikut:

  1. gunakan baris perintah cc.spc /\t/ a untuk memisahkan teks menjadi kolom dan menyimpannya dalam array dua-dim.
  2. gunakan perintah cc.puntuk mencetak, menggunakan konten larik.
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.