multiple-cursors
ฉันต้องการที่จะเพิ่มความพิเศษบางอย่างที่ผมบางครั้งใช้กับ
ฉันพบว่าสิ่งต่อไปนี้มีประโยชน์:
IY-go-to-ถ่าน
บางครั้งคุณพบว่าตัวเองต้องการย้ายไปยังตัวถัดไป#
หรือตัวถัดไป,
หรือตัวคั่นบางตัว สิ่งนี้มีประโยชน์อย่างยิ่งเมื่อคุณต้องการเลื่อนจำนวนคำที่แตกต่างกันสำหรับแต่ละเคอร์เซอร์ มันมีฟังก์ชั่นiy-go-to-char
และiy-go-to-char-backward
ซึ่งคุณสามารถผูกและใช้งานได้ดี
ขยายภูมิภาค
สิ่งนี้มีประโยชน์มากสำหรับเหตุผลที่คล้ายกันiy
เมื่อคุณมีเส้นที่แตกต่างกันเล็กน้อยในแต่ละเคอร์เซอร์และคุณอาจต้องการเลือกสตริงที่ยกมาใต้จุดหรือคล้ายกัน
สิ่งที่กำหนดเอง
สิ่งเหล่านี้เป็นสิ่งที่เพิ่งเกิดขึ้นในการตั้งค่าของฉัน แต่ฉันพบว่ามีประโยชน์ อาจไม่ได้เขียนโดยฉัน
ให้ใส่
ฉันได้รับอันนี้จาก Magnars เพื่อตอบสนองต่อคำขอวางสตริงที่แตกต่างกันภายใต้เคอร์เซอร์ รหัสนั้นง่าย แต่ผูกพันกับบางสิ่งและการใช้เคอร์เซอร์หลาย ๆ ตัวเป็นวิธีที่สะดวกในการแทรกสิ่งต่าง ๆ เล็กน้อยในแต่ละสถานที่
(defun prompt-for-insert ()
(interactive)
(insert (read-string "Insert: ")))
หมายเลขเพิ่มที่จุด
นี่อาจมาจาก SO หรือ emacswiki ไม่แน่ใจว่าอันไหน มันค่อนข้างมีประโยชน์ในตัวมันเองและเมื่อใช้ร่วมกับmc/insert-numbers
(defun my-increment-number-decimal (&optional arg)
"Increment the number forward from point by 'arg'."
(interactive "p*")
(save-excursion
(save-match-data
(let (inc-by field-width answer)
(setq inc-by (if arg arg 1))
(skip-chars-backward "0123456789")
(when (re-search-forward "[0-9]+" nil t)
(setq field-width (- (match-end 0) (match-beginning 0)))
(setq answer (+ (string-to-number (match-string 0) 10) inc-by))
(when (< answer 0)
(setq answer (+ (expt 10 field-width) answer)))
(replace-match (format (concat "%0" (int-to-string field-width) "d")
answer)))))))
eval-and-replace
นี่คือสุดยอดพลังและเปิดใช้งานบิต 'n' บิตที่มีประโยชน์จริงๆ มันประเมินสิ่งที่ sexp อยู่หลังเคอร์เซอร์และแทรกผลลัพธ์ของการประเมิน
รวมเข้ากับmultiple-cursors-numbers
เช่นใส่พลังของสองหรือชุดที่0 1 2 0 1 2 0 1 2
ข้ามแต่ละบรรทัดหรือบางสิ่งบางอย่าง (ฉันทำทั้งสองอย่างนี้เป็นประโยชน์) หรือใช้กับs.el
เพื่อเขียน java config ที่น่าเบื่อกับสิ่งที่เป็นค่าเริ่มต้น คุณเขียนกันออกCONFIG_VALUE_VARIABLE
แล้วเปลี่ยนที่เป็นโดยการเรียกใช้CONFIG_VALUE_VARIABLE = "configValueVariable"
s-camel-case
(defun eval-and-replace ()
(interactive)
(let ((value (eval (preceding-sexp))))
(kill-sexp -1)
(insert (format "%s" value))))
multiple-cursors
ได้อย่างรวดเร็วเพียงแค่อ่านไฟล์ READMEmc/mark-next-like-this
คำแนะนำของฉันคือการเพียงแค่เรียนรู้ ลองใช้และทำความคุ้นเคยกับสิ่งที่ทำ จากนั้นกลับไปที่ README ทุกครั้งที่คุณมีคำถามที่เริ่มต้นด้วย "ฉันสงสัยว่าเคอร์เซอร์หลายตัวสามารถทำได้ ... " ทั้งหมดที่กล่าวมาฉันคิดว่าเป็นการแนะนำขั้นพื้นฐานมากกว่า Emacs Rocks! วิดีโอจะเป็นประโยชน์สำหรับผู้เริ่มต้น