ฉันจะทำให้ Notepad ++ ลบบรรทัดอย่างที่ Eclipse ทำได้อย่างไร


72

คราสมีแป้นพิมพ์ลัดซึ่งจะลบทั้งบรรทัดปัจจุบัน (ถ้าไม่มีอะไรจะเลือก) หรือทุกบรรทัดซึ่งเป็นส่วนหนึ่งของข้อความที่เลือกในปัจจุบัน: +CtrlD

มีวิธีทำให้Ctrl+ Dทำสิ่งเดียวกันใน Notepad ++ หรือไม่

สิ่งที่ดีที่สุดที่ฉันสามารถทำได้คือทำการแมปช็อตคัตไปที่ Scintilla SCI_LINE_DELETEแต่จะลบเพียงครั้งละหนึ่งบรรทัดแม้ว่าการเลือกจะครอบคลุมหลายบรรทัด

คำตอบ:


90

Ctrl+ Shift+ Lจะได้ผลเช่นเดียวกัน

Ctrl+ Lจะลบบรรทัด แต่จะเก็บไว้ในคลิปบอร์ดของคุณแทนที่เนื้อหาคลิปบอร์ด

ฉันไม่แน่ใจว่าคุณสามารถทำแผนที่ Ctrl + D เพื่อทำสิ่งเดียวกันได้หรือไม่ ฉันไม่ได้ยุ่งกับการแมปแป้นพิมพ์ด้วย Notepad ++ เนื่องจากพวกเขาคล้ายกับ Visual Studio มาก


14
ยอดเยี่ยม! ตอนนี้ฉันแค่ต้องค้นหาสิ่งที่Ctrl+Lถูกแมปกับ ... แก้ไข aha มันถูกแมปไปSCI_LINECUTแล้ว SCI_LINE_DELETEที่เป็นตัวอักษรคำสั่งประกายต่อไปด้านล่าง
Matt Ball

26
โปรดทราบว่าCtrl+Lจะตัดบรรทัด (คัดลอกลงในคลิปบอร์ดของคุณ) หากต้องการลบบรรทัดจริงๆจะเป็นการลบบรรทัดCtrl+Shift+Lที่เลือกโดยไม่เขียนทับคลิปบอร์ดของคุณ
Rosdi

1
@ RØŠÐÎ SCI_LINEDELETEคือสิ่งที่Ctrl+Shift+Lถูกแมป ฉันลองมัน แต่จะลบ (โดยไม่คัดลอกไปที่คลิปบอร์ด) บรรทัดแรกของบรรทัดที่เลือกคล้ายกับ OP ฉันพลาดอะไรไปรึเปล่า?
jinglesthula

3
เหตุใดจึงไม่อยู่ในเมนูEdit > Line Operations
aliopi

20

ฉันต้องแม็พCtrl+ Dกับทั้งคู่ SCI_LINEDELETEและSCI_LINECUTเพื่อให้มันทำงานเหมือน Eclipse หวังว่านี่จะเป็นประโยชน์

นอกจากนี้คุณยังจำเป็นที่จะต้องปิดการใช้งานหรือ rebind SCI_SELECTIONDUPLICATEเพื่อให้มีความขัดแย้งเกี่ยวกับการไม่มี+Ctrl ในการปิดใช้ทางลัดเน้นคลิกตั้ง DropDownList เพื่อคลิกครั้งแรกแล้วD
ModifyNoneApplyOkay


1
ทำไมทั้งคู่จึงต้องการ?
Jonathan Benn

1
เมื่อฉันจับคู่ทางลัดเดียวกันกับทั้งสองสิ่งที่เกิดขึ้นมันจะสลับจากการลบเฉพาะบรรทัดแรกของบรรทัดที่เลือกเป็นการลบเฉพาะบรรทัดที่เคอร์เซอร์เปิดอยู่ (ฉันใช้ Ctrl + Shift + D ดังนั้นฉันจึงไม่ต้องกังวลเกี่ยวกับการเลือกการรวมที่ซ้ำกัน)
jinglesthula

14

มาโครเป็นตัวเลือกที่ดีที่นี่ แม้ว่าแมโครที่ฉันใช้งานจะล่าช้าเล็กน้อย (คุณสามารถเห็นได้ว่าอาจเกิดความล่าช้าเป็นไตรมาสที่สองระหว่างการกด CTRL-D และการลบบรรทัดในการเลือกขนาดใหญ่) มันใช้งานได้ดีทั้งบนบรรทัดเดียวและการเลือกหลายบรรทัด กรณีที่ยุ่งยาก

ดังนั้นมาโครของฉันคือ:

CTRL + J - หากเลือกหลายบรรทัดจะถูกรวมเข้าด้วยกันในบรรทัดเดียว
HOME - ปุ่ม HOME ปกติ นำเคอร์เซอร์ไปที่จุดเริ่มต้นของบรรทัด (หรือเริ่มต้นของการรวมบรรทัด)
SHIFT + END - เลือกบรรทัดจนถึงจุดสิ้นสุดที่เริ่มต้นจากตำแหน่งเคอร์เซอร์
CTRL + SHIFT + L - ลบทั้งบรรทัด

ชุดการกระทำนี้ครอบคลุมสถานการณ์ที่เป็นไปได้ทั้งหมดของการลบบรรทัดที่ฉันพบในระหว่างการใช้งาน Notepad อย่างหนัก


ฉันรู้ว่าฉันไม่กี่ปีที่ผ่านมา แต่จะไม่ทำงานแมโครนี้เช่นเดียวกับเพียงแค่ลบแทน CTRL + SHIFT + L เป็นคำสั่งสุดท้าย? หากฉันเข้าใจคุณถูกต้องคุณได้ทำเครื่องหมายข้อความทั้งหมดที่คุณต้องการลบด้วยคำสั่งสามคำแรก
Bjarte Aune Olsen

9

มีทางลัดใน Notepad ++ เพื่อลบบรรทัด: Ctrl+ Shift+ L.. แต่สิ่งนี้จะลบเพียงบรรทัดเดียว

แม้ว่าจะมีการเลือกหลายบรรทัดมันจะลบเฉพาะบรรทัดที่เคอร์เซอร์วางอยู่และไม่ใช่เส้นที่ไฮไลต์

ดังนั้นวิธีที่ง่ายที่สุดในการลบชุดของบรรทัดที่เลือกคุณต้องบันทึกแมโครด้วยคีย์ลัดเหล่านี้:

Ctrl+J

ติดตามโดย

Ctrl+ Shift+L

นี่จะเป็นJOINบรรทัดแรกที่เลือกแล้วDELETEตามด้วยทั้งบรรทัด

สิ่งนี้ดีกว่าการใช้การรวมกันของCUTและDELETEวิธีการตามที่กล่าวไว้ข้างต้น(ซึ่งฉันได้ลอง)เพราะในบางกรณีมันจะลบบรรทัดที่ไม่ได้เลือกด้วย


4

ในฐานะทางเลือกที่ไม่ใช่มาโครสำหรับคำตอบของ @Jan Domozilov ฉันทำตามขั้นตอนเหล่านี้ (โดยใช้ Notepad ++ v6.5.1 (UNICODE)):

  1. ในการตั้งค่าShortcut Mapperเมนูให้เลือก
  2. ในเมนูหลักแท็บการตั้งค่าJoin Lines(สาย 26) Ctrl+Alt+Dเพื่อ
  3. คลิกที่แท็บคำสั่ง Scintilla
  4. ตั้งค่าSCI_LINEDELETE(สาย 90) Ctrl+Dเพื่อ
  5. ปิดหน้าต่าง.

สิ่งนี้จะช่วยให้คุณสามารถทำงานตามที่ต้องการได้ด้วยการดัดแปลงเล็กน้อย คุณเลือกข้อความของคุณเรียกใช้คำสั่งเข้าร่วมบรรทัดด้วยCtrl+Alt+Dปล่อยเฉพาะAltปุ่มแล้วกดDอีกครั้งเพื่อลบข้อความ


-1

คุณสามารถใช้ CTRL + DELETE เพื่อลบเนื้อหาทั้งหมดของบรรทัด จากนั้นคุณเพียงแค่ใช้ DELETE อีกครั้งเพื่อลบ line feed หากนั่นไม่เพียงพอสำหรับคุณคุณสามารถสร้างแมโครเพื่อดำเนินการทั้งสองอย่าง

ดูเหมือนว่าจะหยุดทำงานในเวอร์ชันล่าสุดฉันขอแนะนำให้คุณใช้วิธีการแบบมาโครสำหรับปัญหาทั้งหมด ไปที่มาโคร "เริ่มการบันทึก" จากนั้นกด "หน้าแรก", "Shift" + "END", "DELETE", "DELETE" จากนั้นไปที่มาโครและหยุดมาโครของคุณ หลังจากนั้นไปที่บันทึกแมโครที่บันทึกปัจจุบัน "และเลือกชื่อและทางลัด (เช่น CTRL + DEL) ซึ่งจะเปิดใช้งานทางลัดสำหรับการลบบรรทัดอีกครั้ง


Ctrl+Deleteไม่ลบบรรทัดใน Notepad ++ สำหรับฉัน (ฉันยังไม่ได้แมปคีย์ใด ๆ นอกจากCtrl+D)
Matt Ball

คุณใช้ Notepad ++ รุ่นใดอยู่ มันทำงานบน Notepad ++ 5.8.2 ภายใต้ Win7
private_meta

5.8.7 (รุ่นล่าสุด) บน Win7 x64 คุณหมายถึงCtrl+Backspaceอะไร (ไม่ทำงานสำหรับฉันด้วย)
Matt Ball

อ่าฉันเพิ่งทดสอบด้วย 5.8.7 และมันก็ใช้งานไม่ได้ให้ฉันดู
private_meta

ฉันอัพเดตคำตอบแล้ว
private_meta

-1

CTRL + SHIFT + DELDETE ทำงานได้ดีสำหรับฉันในการลบทั้งบรรทัดเดียว


2
สหกรณ์ต้องการที่จะลบทุกบรรทัดซึ่งเป็นส่วนหนึ่งของข้อความที่เลือกในปัจจุบัน ทางลัดของคุณลบเฉพาะบรรทัดแรกของส่วนที่เลือก
nixda
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.