ฉันจะเปลี่ยนคำหลักบางคำในกลุ่มเป็นตัวพิมพ์ใหญ่ทั้งหมดได้อย่างไร


1

ฉันจะเปลี่ยนคำหลักบางคำในกลุ่มเป็นตัวพิมพ์ใหญ่ทั้งหมดได้อย่างไร ฉันต้องการทราบว่าฉันกำลังเขียนโปรแกรมใน Fortran และรูปแบบที่ต้องการคือมีฟังก์ชั่นที่แท้จริงในตัวพิมพ์ใหญ่ ตัวอย่างเช่นคำหลักหากจะเปลี่ยนเป็น IF จะเปลี่ยนเป็นทำและโทรไปที่ CALL ฯลฯ ... และการใช้นิ้วก้อยของฉันสำหรับปุ่ม Shift ตลอดเวลาทำให้ฉันได้รับบาดเจ็บจากความเครียดซ้ำ ๆ !

หากมีวิธีที่จะใช้ประโยชน์จากคุณลักษณะการเน้น snytax ในกลุ่มที่จะดี แต่ฉันไม่คิดใช้ครึ่งชั่วโมงหรือดังนั้นพิมพ์คำหลักทั้งหมดที่ฉันต้องการจะทำหมวกถ้าเป็นวิธีเดียว

คำตอบ:


0

คุณสามารถใช้ได้

%s/\v<(if|do|call)>/\U&\E/gc

หรือใช้ฟังก์ชั่น

%s/\v<(if|do|call)>/\=toupper(submatch(0))/gc

เปลี่ยน/gcไป/gถ้าคุณไม่ต้องการที่จะยืนยันก่อนที่จะเปลี่ยนการแข่งขันแต่ละครั้ง


อ่าขอบคุณสิ่งนี้มีประโยชน์ มีอยู่หรือไม่ที่ฉันสามารถเรียกใช้การทำงานนี้ได้ตลอดเวลาดังนั้นเมื่อฉันพิมพ์คำหลักมันจะทำให้มันเป็นตัวพิมพ์ใหญ่ทั้งหมดหรือไม่
Matt Ellis

@MichaelPortobello - ไม่ว่ามันเป็นไปไม่ได้ แต่คุณอาจใช้เส้นทางที่ผิดไป ฉันไม่รู้จัก fortran แต่ฉันสามารถจินตนาการได้ว่าคุณมีคำหลักเหล่านั้นในความคิดเห็นหรือที่อื่น ๆ ที่คุณไม่ต้องการให้มีตัวพิมพ์ใหญ่ทั้งหมด โซลูชันนี้ใช้ได้ดีสำหรับสิ่งเดียว แต่เปราะเกินกว่าที่จะเรียกใช้บนระบบอัตโนมัติ ทางออกที่ดีกว่าคือการรวมโครงสร้างการเน้นไวยากรณ์ที่มีอยู่แล้ว นั่นเกินระดับความรู้ของฉัน คุณอาจจะโชคดีกว่าที่ถามคำถามเกี่ยวกับ SO
Lieven Keersmaekers

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