Bagaimana cara membuat Notepad ++ menghapus baris seperti yang dilakukan Eclipse?


74

Eclipse memiliki pintasan keyboard yang menghapus baris saat ini (jika tidak ada yang dipilih) atau semua baris yang merupakan bagian dari teks yang saat ini dipilih: Ctrl+ D.

Apakah ada cara untuk membuat Ctrl+ Dmelakukan hal yang sama di Notepad ++?

Yang terbaik yang bisa saya lakukan adalah memetakan ulang jalan pintas ke Scintilla SCI_LINE_DELETE, tetapi itu hanya menghapus satu baris pada satu waktu, bahkan jika pilihannya mencakup beberapa baris.

Jawaban:


93

Ctrl+ Shift+ Lakan mencapai efek yang sama.

Ctrl+ Lakan menghapus baris tetapi juga akan tetap di clipboard Anda menggantikan konten clipboard.

Saya tidak yakin apakah Anda dapat memetakan Ctrl + D untuk melakukan hal yang sama atau tidak. Saya belum benar-benar mengacaukan pemetaan keyboard dengan Notepad ++ karena sangat mirip dengan Visual Studio


14
Cemerlang! Sekarang saya hanya perlu menemukan apa Ctrl+Lyang dipetakan untuk ... edit aha, sudah dipetakan ke SCI_LINECUT. Itu benar-benar perintah Scintilla berikutnya di bawah ini SCI_LINE_DELETE.
Matt Ball

26
Harap dicatat bahwa Ctrl+Lakan memotong garis (salin ke clipboard Anda). Untuk benar-benar menghapus baris Ctrl+Shift+L, ini akan menghapus baris yang dipilih tanpa menimpa clipboard Anda.
Rosdi

1
@ RØŠÐÎ SCI_LINEDELETEadalah apa Ctrl+Shift+Lyang dipetakan. Saya mencobanya tetapi hanya menghapus (tanpa menyalin ke clipboard) yang pertama dari baris yang dipilih, mirip dengan OP. Apakah saya melewatkan sesuatu?
jinglesthula

4
Mengapa ini tidak ada dalam menuEdit > Line Operations
aliopi

20

Saya harus memetakan Ctrl+ Dke keduanya SCI_LINEDELETE dan SCI_LINECUTuntuk membuatnya berperilaku seperti Eclipse. Semoga ini bermanfaat.

Anda juga perlu menonaktifkan atau mem-rebind SCI_SELECTIONDUPLICATEsehingga tidak ada konflik di Ctrl+ D.
Untuk menonaktifkan pintasan, sorot, klik Modifyatur DropDownList ke None, klik Applydulu lalu Okay.


1
Kenapa keduanya dituntut?
Jonathan Benn

1
Ketika saya memetakan jalan pintas yang sama ke kedua hal itu terjadi, ia beralih dari hanya menghapus baris pertama dari baris yang dipilih menjadi hanya menghapus baris tempat kursor berada. (Saya menggunakan Ctrl + Shift + D, jadi saya tidak perlu khawatir tentang pemilihan duplikat mengikat.)
jinglesthula

14

Makro adalah pilihan yang bagus di sini. Meskipun makro saya muncul dengan sedikit keterlambatan (Anda dapat melihat mungkin seperempat dari jeda kedua antara hit CTRL-D dan garis-garis yang dihapus pada pilihan besar) itu berfungsi baik pada satu baris dan beberapa pilihan garis dan mencakup berbagai kasus rumit.

Jadi, makro saya adalah:

CTRL + J - jika beberapa baris dipilih, mereka bergabung menjadi satu baris
HOME - tombol HOME biasa. Membawa kursor ke awal garis (atau mulai dari garis yang digabungkan)
SHIFT + END - memilih garis sampai akhir mulai dari posisi kursor
CTRL + SHIFT + L - menghapus seluruh baris

Serangkaian tindakan ini mencakup semua skenario kemungkinan penghapusan garis yang saya temui sejauh ini selama penggunaan notepad ++ yang berat.


Saya tahu saya terlambat beberapa tahun, tetapi tidakkah makro ini bekerja dengan baik hanya dengan HAPUS bukan CTRL + SHIFT + L sebagai perintah terakhir? Jika saya mengerti Anda dengan benar, Anda telah menandai semua teks yang ingin Anda hapus dengan tiga perintah pertama.
Bjarte Aune Olsen

9

Ada pintasan di Notepad ++ untuk menghapus baris: Ctrl+ Shift+ L.. tetapi ini hanya akan menghapus satu baris.

Bahkan jika beberapa baris dipilih, itu hanya akan menghapus baris tempat kursor diletakkan dan bukan garis yang disorot.

Jadi, cara paling sederhana untuk menghapus serangkaian baris yang dipilih, Anda harus Merekam Makro dengan kombinasi tombol pintas ini:

Ctrl+J

diikuti oleh

Ctrl+ Shift+L

Ini akan pertama JOINgaris yang dipilih dan kemudian DELETEseluruh garis.

Ini lebih baik daripada menggunakan kombinasi CUTdan DELETEpendekatan seperti yang disebutkan di atas (yang telah saya coba) karena pada beberapa kasus, ini juga akan menghapus baris yang tidak dipilih.


4

Sebagai alternatif non-makro untuk jawaban @Jan Domozilov, saya mengikuti langkah-langkah ini (menggunakan Notepad ++ v6.5.1 (UNICODE)):

  1. Di menu Pengaturan , pilih Shortcut Mapper.
  2. Di tab Menu utama , atur Join Lines(baris 26) ke Ctrl+Alt+D.
  3. Klik tab perintah Scintilla .
  4. Setel SCI_LINEDELETE(baris 90) ke Ctrl+D.
  5. Menutup jendela.

Ini memungkinkan Anda untuk melakukan perilaku yang diinginkan dengan sedikit modifikasi. Anda memilih teks Anda, jalankan perintah Join Lines dengan Ctrl+Alt+D, lepaskan hanya Altkunci, dan tekan Dlagi untuk menghapus teks.


0

Satu cara lain yang lebih sederhana adalah dengan menggunakan backspacetombol setelah pemilihan, ini akan menggantikan garis yang dipilih dengan backspace.


-1

Anda dapat menggunakan CTRL + DELETE untuk menghapus seluruh konten suatu baris. Maka yang Anda lakukan hanyalah menggunakan DELETE lagi untuk menghapus umpan baris. Jika itu tidak cukup untuk Anda, Anda bisa membuat makro untuk melakukan kedua tindakan.

Karena tampaknya telah berhenti bekerja di versi terbaru, saya sarankan Anda untuk menggunakan pendekatan Makro untuk seluruh masalah. Buka Macro, "Mulai Rekaman", lalu tekan "Home", "Shift" + "END", "DELETE", "DELETE", lalu pergi ke Macro dan hentikan Macro Anda. Setelah itu, pergi ke Simpan Rekaman Makro Saat Ini "dan pilih nama dan pintasan, (misalnya CTRL + DEL). Ini mengaktifkan kembali pintasan untuk menghapus baris.


Ctrl+Deletetidak menghapus baris di Notepad ++ untuk saya (saya belum memetakan kembali kunci selain Ctrl+D).
Matt Ball

Versi Notepad ++ mana yang Anda gunakan? Ini bekerja pada Notepad ++ 5.8.2 di bawah Win7
private_meta

5.8.7 (versi terbaru) di Win7 x64. Apakah maksud Anda Ctrl+Backspace? (juga tidak bekerja untuk saya)
Matt Ball

Ah, saya baru saja mengujinya dengan 5.8.7, dan tidak berhasil juga, biarkan saya melihat
private_meta

Saya memperbarui Jawaban saya
private_meta

-1

CTRL + SHIFT + DELDETE berfungsi baik bagi saya untuk menghapus seluruh baris.


2
OP ingin menghapus semua baris yang merupakan bagian dari teks yang saat ini dipilih . Pintasan Anda tidak hanya menghapus baris pertama dari suatu pilihan.
nixda
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.