การพันกันเป็นแถวในนาโน


65

เมื่อแก้ไขไฟล์ authorised_keys ใน Nano ฉันต้องการล้อมเส้นยาวเพื่อให้สามารถเห็นจุดสิ้นสุดของบรรทัด (เช่นบอกว่ามีคีย์อยู่ที่ไหน) เป็นหลักฉันต้องการให้มันดูเหมือนผลลัพธ์ของcat authorised_keys

ดังนั้นฉันกดปุ่มEsc + Lซึ่งเป็นเมตาคีย์สำหรับเปิดใช้งานการพันบรรทัดแบบยาวบนแพลตฟอร์มของฉันและฉันเห็นข้อความเพื่อบอกว่าการเปิดใช้งานการตัดบรรทัดแบบยาวได้รับการเปิดใช้งานแล้ว แต่บรรทัดไม่ตัดตามที่คาดไว้

ฉันกำลังใช้ Terminal กับ OSX 10.8.5

คำตอบ:


88

หากต้องการดูรูปแบบการตัดคำที่คุณอธิบายให้ใช้นาโนของ "ห่ออ่อน": +Esc + คำสั่งคุณ (และทุกคน) พยายามที่จะ "ตัดยาก."$

EscL

หมายเหตุเกี่ยวกับการกดแป้นพิมพ์สัญกรณ์ - ถ้าคุณยังใหม่กับลินุกซ์, สัญกรณ์Esc+ $หมายถึงกดและปล่อยแล้วกดEsc $ลำดับการกดคีย์เต็มคือEsc, Shift+4.

(ไม่ได้หมายความว่ากดปุ่ม Escape ค้างไว้ขณะกด$)

ที่มา: https://www.nano-editor.org/dist/v2.9/nano.html (ค้นหา --softwrap)


หมายเหตุเกี่ยวกับข้อผิดพลาด softwrap และการจัดรูปแบบ - ถ้าคุณยังใหม่กับ nano ให้ระวัง softwrap เล็กน้อย หากคุณกำลังแก้ไขไฟล์กำหนดค่าหรืออย่างอื่นที่มีความอ่อนไหวต่อการขึ้นบรรทัดใหม่หรือเยื้องการจัดรูปแบบข้อผิดพลาดสามารถทำได้ จนกว่าคุณจะคุ้นเคยกับพฤติกรรมของ softwrap ฉันแนะนำให้ทำการตรวจสอบอย่างรวดเร็วด้วย softwrap off (ทำลำดับคีย์อีกครั้ง) ก่อนบันทึก

โปรดทราบถึงความดีที่ผู้อื่นให้ไว้ในคำตอบของพวกเขาด้านล่าง - เนื่องจากระบบปฏิบัติการที่แตกต่างกันและรุ่นต่าง ๆ ของนาโนทำสิ่งที่แตกต่างกันเล็กน้อย:


3
นี่เป็นสัตว์เลี้ยงที่ฉี่ที่สุดของฉันในนาโน ขอบคุณสำหรับการเรียงลำดับ
user208145

1
ฉันจะแนะนำให้เปิดใช้งานหมายเลขบรรทัดAlt + Shift + 3หรือset linenumbersใน~/.nanorcไฟล์การตั้งค่า
Daniel Sokolowski

1
โปรดทราบว่ารุ่นนาโนที่เก่ากว่าจะไม่มีคุณสมบัติซอฟต์แรปนี้ ในเวอร์ชั่น 2.0.9 จะไม่รวมอยู่ แต่เป็นเวอร์ชั่น 2.5.3 หากคุณอยู่ในรุ่นที่ไม่มีคุณสมบัตินี้มันจะให้ข้อความเตือนของ "คำสั่งที่ไม่รู้จัก" ที่กึ่งกลางด้านล่างของพื้นที่แก้ไขข้อความ
frederickjh

15

ฉันกำลังอ่านคำตอบที่นี่และจำเป็นต้องตั้งตรงนี้!

นาโนสนับสนุนทั้งสองแตกต่างกันในรูปแบบของสายการตัดและสามารถเป็นสิ่งจำเป็นที่จะทราบความแตกต่าง!

ก่อนอื่นคีย์ Meta ด้านล่างมักจะเป็นปุ่ม Alt แต่ไม่จำเป็นเสมอไป

  • การตัดบรรทัดซอฟท์จะเปิดใช้งานด้วย-Meta $ตัดบรรทัดโดยไม่ใส่อักขระตัวแบ่งบรรทัดลงในไฟล์ นั่นคือผลที่ได้คือภาพที่มองเห็นได้อย่างหมดจด
  • การตัดบรรทัดฮาร์ดถูกเปิดใช้งานด้วย-Meta Lตัดบรรทัดด้วยการแทรกตัวแบ่งบรรทัดลงในไฟล์ ไฟล์มีการเปลี่ยนแปลงทางร่างกาย

ดังนั้นหากคุณเปิดใช้งานในไฟล์ที่ wraps มีความหมาย (ไฟล์กำหนดค่าภาษาโปรแกรมสคริปต์) โดยทั่วไปคุณไม่ต้องการให้ hard line wraps หรือจะเปลี่ยนความหมายของโค้ด

นอกจากนี้คุณจะได้พบทางลัดเหล่านี้ด้วย^ G (เช่นCtrl- G) ในนาโน


5
Meta $= Alt+ Shift+4
JamesTheAwesomeDude

1
ห่อซอฟท์เปิดใช้งานใน nanorc ด้วยset softwrapในขณะที่การตัดที่ยากคือการปิดใช้งานใน nanorc set nowrapกับ
mwfearnley

14

เพิ่งค้นหาการตัดเส้นนาโนและสิ่งนี้มาพร้อมกับผลลัพธ์ดังนั้นฉันจะโพสต์สิ่งที่ฉันค้นพบสำหรับ GNU nano 2.2.6 บน Raspberry Pi, Raspbian GNU / Linux 7: Esc+ Lให้ข้อความเดียวกัน; แต่เพื่อให้การตัดบรรทัดมีผลฉันต้องแก้ไขบรรทัด ทันทีที่ฉันพิมพ์อักขระอื่นบนบรรทัดยาวการตัดคำจะเริ่มขึ้น


6

เปิด nanorc โดยทั่วไปที่ ~ / .nanorc หรือ / etc / nanorc แสดงความคิดเห็นในบรรทัด

set nowrap

และไม่แสดงความคิดเห็นในบรรทัด

set softwrap

1
บน pfSense (และอาจเป็น FreeBSD โดยทั่วไป) ไฟล์ที่ต้องการคือ / usr / local / etc / nanorc หากไม่เป็นเช่นนั้นฉันเดาว่าfind / -type d -name etcจะพบสถานที่อื่นที่เป็นไปได้
mwfearnley

5

การตั้งชื่อแทนสั้น ๆ สำหรับโปรแกรมแก้ไขนาโนของคุณก็ใช้งานได้ดีเช่นกัน ปกติฉันจะใช้:

 alias  e='nano -\$cwS'
 alias se='sudo nano -\$cwS'

(ตั้งค่าเหล่านี้ใน~/.bashrc(หรือ.bash_aliasesในบางระบบ) หรือการเริ่มต้นเชลล์ที่คุณชื่นชอบ)

ธง / ตัวเลือกที่ใช้:

\$= เปิดใช้งานการตัดเส้นอย่างนุ่มนวล ( หนีออกมาโดยใช้แบ็กสแลช)
c = แสดงตำแหน่งเคอร์เซอร์คงที่ (ที่ด้านล่าง)
w = ปิดการใช้งาน 'การห่ออย่างหนัก'
S = เลื่อนอย่างราบรื่น

และ (ตามที่กล่าวไว้แล้ว) ครั้งเดียวในการแก้ไขการใช้งานEsc, $เพื่อสลับนุ่มห่อ ON / OFF


3

คุณสามารถตั้งค่าเริ่มต้น~/.nanorcเป็น แต่โปรดจำไว้ว่าการตั้งค่าการกำหนดค่าสำหรับ nano 1, nano 2 และ nano 3 นั้นแตกต่างกัน

ในนาโน1คุณมีการset nowrapตั้งค่าที่ปิดการใช้งานการห่อทั้งหมด

เกี่ยวกับนาโน2 , set softwrapถูกเพิ่มเข้ามาซึ่งจะช่วยให้ softwrapping และปิดการใช้ hardwrapping set nowrapมีการเปลี่ยนแปลงเพื่อที่จะปิดการใช้งานการล้างข้อมูลเท่านั้น

เกี่ยวกับนาโน3 , set softwrapจะถูกละเว้นและนาโนยังคง hardwrap set nowrapนอกจากคุณ

ดังนั้นหากคุณต้องการการตัดข้อความสำหรับบรรทัดยาวที่ไม่ทำลายไฟล์การกำหนดค่าของคุณ (การล้างข้อมูลแบบนุ่มนวลเท่านั้น) สิ่งนี้ใช้ได้กับเวอร์ชัน2และ3 : เพิ่ม 2 บรรทัดต่อไปนี้เพื่อ~/.nanorc

set nowrap
set softwrap

นี่คือคำตอบที่รอบคอบและฉันกำลังอ้างอิงจากคำตอบของฉันด้านบน
coreyt

2

ผู้ใช้ Mac จะได้รับคำแนะนำรุ่นของนาโนที่มาพร้อมกับ High Sierra (v2.0.6) หรือสูงกว่านั้นไม่รองรับการตัดเส้นแบบอ่อนตามที่อธิบายไว้ที่นี่ คุณจะได้รับข้อผิดพลาดคำสั่งที่ไม่รู้จัก v2.2 เป็นรุ่นแรกสุดที่มีการกล่าวถึงการพันแบบอ่อนในหน้าคน ดังนั้นอย่าใช้เวลาหนึ่งชั่วโมงในการลองวิธีแก้ปัญหาทั้งหมดนี้เหมือนที่ฉันทำ

Esc + L ทำงานตามที่คาดไว้

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