___________ _________ ___ ______________________________ ___
/ _____/ / / / _ / / / ______/ / ___ / | / /
/ /____/ / / / /_/ / / / / /_____/ / / / / / / |/ / /
/____ / / / / _____/ / / / ______/ / / / / / / /| / /
_____/ / /__/ / /___/ /____/ /_____/ / / / /__/ / / | / /
/_______/_______/__/ / /_______/________/__/__/__/________/__/ /|__/ /
_______ ________/ _______________________________/ __/
Remedying the pain of command line editing since 2014
SUPLEMON เป็นตัวแก้ไขข้อความคอนโซลที่ทันสมัยทรงพลังและใช้งานง่ายพร้อมการสนับสนุนเคอร์เซอร์แบบหลายตัว SUPLEMON จำลองฟังก์ชั่นสไตล์ข้อความประเสริฐในเทอร์มินัลได้อย่างง่ายดายในการใช้นาโน http://github.com/richrd/suplemon
คุณสามารถโคลน repo และลอง suplemon หรือติดตั้งระบบที่กว้าง ในการเรียกใช้จากแหล่งที่มาคุณต้องติดตั้งแพ็คเกจ Python wcwidth
pip3 install wcwidth
git clone https://github.com/richrd/suplemon.git
cd suplemon
python3 suplemon.py
ติดตั้งเวอร์ชันล่าสุดจาก PIP:
sudo pip3 install suplemon
ในการติดตั้ง SUPLEMON จาก repo เรียกใช้สคริปต์การตั้งค่า:
sudo python3 setup.py install
suplemon # New file in the current directory
suplemon [filename]... # Open one or more files
suplemon [filename:row:col]... # Open one or more files at a specific row or column (optional)
สถานะสาขาพัฒนา:
ไม่จำเป็นต้องมีการพึ่งพานอกห้องสมุดมาตรฐาน Python
สำหรับการสนับสนุนไวยากรณ์ที่เน้นมากกว่า 300 ภาษา
สำหรับการแสดงผ้าสำลีสำหรับไฟล์ Python
สำหรับการรองรับคลิปบอร์ดระบบบนหน้าต่าง X (Linux)
สำหรับการรองรับคลิปบอร์ดระบบบน Mac OS
ดู docs/ondmental-endencies.md สำหรับคำแนะนำในการติดตั้ง
SUPLEMON เป็นตัวแก้ไขข้อความบรรทัดคำสั่งที่ใช้งานง่าย รองรับเคอร์เซอร์หลายตัวนอกกรอบ มันง่ายเหมือนนาโนและมีพลังของข้อความประเสริฐมากมาย นอกจากนี้ยังรองรับส่วนขยายเพื่ออนุญาตให้มีการปรับแต่งทุกประเภท เพื่อให้ได้ความช่วยเหลือเพิ่มเติมกด Ctrl + H ในตัวแก้ไข SUPLEMON ได้รับใบอนุญาตภายใต้ใบอนุญาต MIT
ไฟล์กำหนดค่า SUPLEMON ถูกเก็บไว้ที่ ~/.config/suplemon/suplemon-config.json
วิธีที่ดีที่สุดในการแก้ไขคือการเรียกใช้คำสั่ง config (เรียกใช้คำสั่งผ่าน Ctrl+E ) ด้วยวิธีนี้ suplemon จะโหลดการกำหนดค่าใหม่โดยอัตโนมัติเมื่อคุณบันทึกไฟล์ หากต้องการดูการกำหนดค่าเริ่มต้นและดูว่าตัวเลือกใดบ้างที่พร้อมใช้งาน config defaults ผ่าน Ctrl+E
ด้านล่างนี้คือการแมปคีย์เริ่มต้นที่ใช้ใน SUPLEMON พวกเขาสามารถแก้ไขได้โดยเรียกใช้คำสั่ง keymap หากต้องการดูไฟล์ Keymap เริ่มต้น keymap default
ctrl + q
การออก
Ctrl + W
ปิดไฟล์หรือแท็บ
Ctrl + C
คัดลอกบรรทัดไปยังบัฟเฟอร์
ctrl + x
ตัดเส้นเพื่อบัฟเฟอร์
ctrl + v
แทรกบัฟเฟอร์
Ctrl + K
เส้นซ้ำ
ctrl + g
ไปที่หมายเลขบรรทัดหรือไฟล์ (พิมพ์จุดเริ่มต้นของชื่อไฟล์เพื่อเปลี่ยนไป) นอกจากนี้คุณยังสามารถใช้ 'Filena: 42' เพื่อไปที่บรรทัด 42 ใน filename.py ฯลฯ
ctrl + f
ค้นหาสตริงหรือนิพจน์ทั่วไป (กำหนดค่าได้)
Ctrl + D
ค้นหาเหตุการณ์ครั้งต่อไปหรือค้นหาคำว่าเคอร์เซอร์เปิดอยู่ เพิ่มเคอร์เซอร์ใหม่ในแต่ละเหตุการณ์ใหม่
ctrl + t
ตัดช่องว่าง
ปุ่ม Alt + Arrow
เพิ่มเคอร์เซอร์ใหม่ในทิศทางลูกศร
ctrl + ซ้าย / ขวา
ข้ามไปก่อนหรือคำหรือบรรทัดถัดไป
ESC
เปลี่ยนกลับเป็นเคอร์เซอร์ / ยกเลิกพรอมอินพุตเดี่ยว
Alt + Page Up
ย้ายเส้นขึ้น
Alt + Page Down
ย้ายเส้นลง
ctrl + s
บันทึกไฟล์ปัจจุบัน
F1
บันทึกไฟล์ด้วยชื่อใหม่
F2
โหลดไฟล์ปัจจุบันใหม่
Ctrl + O
เปิดไฟล์
Ctrl + W
ปิดไฟล์
ctrl + page up
เปลี่ยนเป็นไฟล์ถัดไป
Ctrl + Page Down
เปลี่ยนเป็นไฟล์ก่อนหน้า
ctrl + e
เรียกใช้คำสั่ง
ctrl + z และ f5
เลิกทำ
ctrl + y และ f6
ทำซ้ำ
F7
สลับช่องว่างที่มองเห็นได้
F8
โหมดสลับเมาส์
F9
สลับหมายเลขบรรทัด
F11
สลับหน้าจอเต็มรูปแบบ
คลิกซ้าย
ตั้งเคอร์เซอร์ที่ตำแหน่งเมาส์ เปลี่ยนเป็นเคอร์เซอร์เดียว
คลิกขวา
เพิ่มเคอร์เซอร์ที่ตำแหน่งเมาส์
เลื่อนล้อขึ้น / ลง
เลื่อนขึ้นและลง
SUPLEMON มีส่วนเสริมที่หลากหลายที่ใช้คุณสมบัติพิเศษ คำสั่งสามารถเรียกใช้กับ Ctrl + E และพรอมต์มีการเติมข้อความอัตโนมัติเพื่อให้ทำงานได้เร็วขึ้น คำสั่งที่มีอยู่และคำอธิบายของพวกเขาคือ:
การกรองอัตโนมัติ
โมดูลการเติมข้อความอัตโนมัติอย่างง่าย
สิ่งนี้จะเพิ่มการสนับสนุนการเติมข้อความอัตโนมัติสำหรับคีย์ TAB มันใช้รายการคำที่สแกนจากไฟล์ที่เปิดทั้งหมดเพื่อความสำเร็จ โดยค่าเริ่มต้นจะแนะนำการจับคู่ที่สั้นที่สุดที่เป็นไปได้ หากไม่มีการจับคู่การกระทำของแท็บจะทำงานตามปกติ
autodocstring
โมดูลง่าย ๆ สำหรับการเพิ่มตัวยึดตำแหน่งเอกสาร
โมดูลนี้มีวัตถุประสงค์เพื่อสร้างเอกสารสำหรับฟังก์ชั่น Python มันเพิ่มตัวยึดตำแหน่งสำหรับคำอธิบายอาร์กิวเมนต์และข้อมูลส่งคืน อาร์กิวเมนต์ของฟังก์ชั่นจะถูกแยกวิเคราะห์จากคำจำกัดความของฟังก์ชั่นและคำสั่งการส่งคืนจะถูกสแกนจากร่างกายฟังก์ชั่น
BULK_DELETE
การลบจำนวนบรรทัดและอักขระ ถามทิศทางใดในการลบโดยค่าเริ่มต้น
เพิ่ม 'ขึ้น' เพื่อลบเส้นเหนือเคอร์เซอร์สูงสุด เพิ่ม 'ลง' เพื่อลบเส้นใต้เคอร์เซอร์ต่ำสุด เพิ่ม 'ซ้าย' เพื่อลบอักขระทางด้านซ้ายของเคอร์เซอร์ทั้งหมด เพิ่ม 'ถูกต้อง' เพื่อลบอักขระทางด้านขวาของเคอร์เซอร์ทั้งหมด
การแสดงความคิดเห็น
สลับความคิดเห็นของสายตามไวยากรณ์ไฟล์ปัจจุบัน
การกำหนดค่า
ทางลัดสำหรับการเปิดไฟล์ config
ห้องใต้ดิน
เข้ารหัสหรือถอดรหัสบัฟเฟอร์ปัจจุบัน ให้คุณจัดเตรียมข้อความรหัสผ่านและเกลือเสริมสำหรับการเข้ารหัส ใช้ AES สำหรับการเข้ารหัสและ SCRYPT สำหรับการสร้างคีย์
แตกต่าง
ดูความแตกต่างของไฟล์ปัจจุบันเมื่อเทียบกับเวอร์ชันดิสก์
การประเมิน
ประเมินการแสดงออกของ Python และแสดงผลลัพธ์ในแถบสถานะ
หากไม่มีการแสดงออกของบรรทัดปัจจุบันได้รับการประเมินและแทนที่ด้วยผลการประเมิน
แผนผัง
ทางลัดเพื่อเปิดไฟล์กำหนดค่า Keymap
คนเชือก
linter สำหรับ suplemon
ต่ำกว่า
แปลงบรรทัดปัจจุบันเป็นตัวพิมพ์เล็ก
lstrip
ตัดช่องว่างจากจุดเริ่มต้นของสายปัจจุบัน
แปะ
โหมดสลับสลับ (มีประโยชน์เมื่อวาง SSH หากเปิดใช้งานการเยื้องอัตโนมัติ)
โหลดใหม่
โหลดโมดูล Add-on ทั้งหมดใหม่
แทนที่ all
แทนที่เหตุการณ์ทั้งหมดในไฟล์ทั้งหมดของข้อความที่กำหนดด้วยการเปลี่ยนที่กำหนด
ย้อนกลับ
ย้อนกลับข้อความบนบรรทัดปัจจุบัน
rstrip
ตัดช่องว่างจากจุดสิ้นสุดของบรรทัด
บันทึก
บันทึกไฟล์ปัจจุบัน
save_all
บันทึกไฟล์ที่เปิดอยู่ทั้งหมดในปัจจุบัน ขอการยืนยัน
sort_lines
เรียงลำดับบรรทัดปัจจุบัน
เรียงลำดับตามตัวอักษรตามค่าเริ่มต้น เพิ่ม 'ความยาว' เพื่อเรียงลำดับตามความยาว เพิ่ม 'ย้อนกลับ' เพื่อย้อนกลับการเรียงลำดับ
เปลื้องผ้า
ตัดช่องว่างจากจุดเริ่มต้นและจุดสิ้นสุดของบรรทัด
Tabstospaces
แปลงอักขระแท็บเป็นช่องว่างในไฟล์ทั้งหมด
toggle_whitespace
สลับกันแสดงภาพช่องว่าง
ด้านบน
แปลงบรรทัดปัจจุบันเป็นตัวพิมพ์ใหญ่
หากคุณประสบปัญหาโปรดส่งปัญหาใหม่ หากคุณมีคำถามต้องการความช่วยเหลือหรือเพียงแค่ต้องการแชทตรงไปที่ช่อง IRC #Suplemon @ Freenode ฉันยินดีที่จะแชทกับคุณเจอกันที่นั่น!
หากคุณมีความสนใจในการมีส่วนร่วมกับ suplemon การพัฒนาการพัฒนาสามารถติดตั้งได้ผ่าน:
# For OS cleanliness, we recommend using `virtualenv` to prevent global contamination
pip install -r requirements-dev.txt
หลังจากติดตั้งแล้วการทดสอบสามารถเรียกใช้ผ่าน:
./test.sh
PRS ยินดีต้อนรับและชื่นชมมาก เมื่อทำ PRS ตรวจสอบให้แน่ใจว่าได้ตั้งสาขาเป้าหมายเป็น dev ฉันจะผลักดันให้เชี่ยวชาญเฉพาะเมื่อปล่อยเวอร์ชันใหม่
สำหรับหลาย ๆ บรรทัดคำสั่งเป็นสภาพแวดล้อมที่แตกต่างกันสำหรับการแก้ไขข้อความ ผู้เขียนโค้ดส่วนใหญ่คุ้นเคยกับตัวแก้ไขข้อความ GUI และสำหรับ VI และ Emacs จำนวนมากมีช่วงการเรียนรู้ที่สูงชันเกินไป สำหรับพวกเขา (เช่นสำหรับฉัน) นาโนเป็นอาวุธที่เลือก แต่นาโนรู้สึกว่าเป็นบ้าและมีข้อ จำกัด นั่นเป็นเหตุผลที่ฉันเขียนบรรณาธิการของตัวเองด้วยการสนับสนุน Cursor Multi ในตัวเพื่อแก้ไขสถานการณ์ อีกเหตุผลหนึ่งคือการพัฒนา suplemon เป็นเรื่องสนุกที่จะทำ