ฉันจะสร้างไฟล์แท็กของตัวเองด้วย Vim สำหรับข้อความที่ไม่ใช่รหัสที่เชื่อมต่อได้อย่างไร?


6

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

ตัวอย่างเช่นมีไฟล์ทั้งหมดเกี่ยวกับ "foo" และนึกคิดเมื่อใดก็ตามที่ฉันแก้ไขไฟล์ "bar" และ "baz" และคำว่า "foo" ปรากฏขึ้นฉันต้องการกด ^] และ ข้ามไปที่ไฟล์ foo จากนั้นกด ^ T แล้วข้ามกลับไปทุกที่ที่ฉันอยู่

มีวิธีใดบ้างที่ฉันจะสร้างไฟล์แท็กของตัวเองโดยที่คำว่า "foo" ชี้ไปที่ไฟล์ "foo" และอื่น ๆ ทุกแหล่งที่ฉันได้ตรวจสอบเพียงอธิบายถึงวิธีการใช้ ctags เพื่อสร้างแท็กสำหรับทุกภาษาการเขียนโปรแกรมภายใต้ดวงอาทิตย์ แต่ฉันแค่อยากจะสามารถสร้างไฟล์แท็กง่าย ๆ ของฉันเอง

คำตอบ:


3

ถ้าฉันเข้าใจถูกต้อง (และนั่นคือทุน IF) สิ่งที่คุณกำลังมองหาคือฟังก์ชั่นความช่วยเหลือเบื้องต้น คุณกำหนดแท็ก ( some_word ) จำนวนมาก jumppoints (| jumppoint |) และนั่นคือมัน

โดยไม่ต้องลงรายละเอียดฉันขอแนะนำให้คุณดูผ่าน

:help tags

ไฟล์ช่วยเหลือ มันจะอธิบายมาก ฉันไม่ได้ทำสิ่งนี้มาระยะหนึ่งแล้ว คุณต้องกำหนดแท็ก (**) แล้วนำไปใช้กับระบบแท็กของ vim ผ่าน : helptags คำสั่ง หลังจากนั้นอย่าย้ายพวกเขาและเมื่อใช้ jumppoints มันจะนำคุณไปสู่พวกเขาผ่านทางที่กล่าวถึง Ctrl-] และ T แล้ว

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


นอกจากนี้ยังมีผู้ชายคนหนึ่ง (บล็อก) ที่เขาทำสิ่งที่คุณต้องการจะทำตอนนี้ แต่ฉันไม่สามารถหาได้ เมื่อฉันทำฉันจะโพสต์ลิงค์
Rook

5
:help tags-file-format

จะให้คำแนะนำเกี่ยวกับวิธีเขียนไฟล์แท็กแก่คุณ แต่โดยทั่วไปคุณต้องการบรรทัดเช่น:

tagname TAB tagfile TAB location

ที่ตั้ง คำสั่ง Ex ใด ๆ อาจเป็นหมายเลขบรรทัด แต่โดยทั่วไปจะเป็นรูปแบบการค้นหา /\<foo\>/ หรือ /^Where is foo?$/ เพื่อไม่ให้สร้างแท็กใหม่ทุกครั้งที่คุณแก้ไขไฟล์


2

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

วิธีที่เร็วที่สุดในการเริ่มต้นและทำงาน:

ให้บอกว่าคุณกำลังทำงานในโฟลเดอร์ว่าง

หากคุณสร้างไฟล์เช่น test.txt นี้:

|topic1|
*topic1*

จากนั้นเรียกใช้:

:helptags ./

กลุ่มจะสร้างไฟล์ (แท็ก) ใน dir ปัจจุบัน (./) ที่จะให้คุณกระโดด (ctrl +]) จาก | topic1 | ถึง * topic1 *

หากคุณเปิดไฟล์แท็กคุณจะเห็นความเรียบง่ายของมัน:

topic1   test.txt    /*topic1*

รูปแบบ:

[key word][TAB][file][TAB][command]

คุณสามารถเพิ่มแท็กอื่น ๆ ในไฟล์นี้และพวกเขาจะทำงานได้ทันที

แน่นอนส่วนที่ดีที่สุดของแท็กคือความสามารถในการข้ามไปยังคำจำกัดความในไฟล์อื่น ๆ ซึ่งสามารถทำได้โดยการเปลี่ยนอาร์กิวเมนต์ [ไฟล์] ในไฟล์แท็ก อีกครั้งคุณจะต้องมี | แท็ก | ในไฟล์พาเรนต์และ * tag * ในไฟล์ย่อยเพื่อให้ทำงานได้

การเขียนไฟล์แท็กตั้งแต่เริ่มต้นดูเหมือนว่าจะทำงานโดยไม่มีปัญหาหากชื่อ "แท็ก" และคุณเรียกใช้: helptags ./

บันทึก:

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

/

เพื่อเริ่มการค้นหา

ctrl+]

เพื่อข้ามไปยังไฟล์ / คำจำกัดความ

ctrl+o

เพื่อกระโดดกลับ

คำสั่งการนำทางพื้นฐานเหล่านี้จะปรากฏขึ้นทันทีที่คุณเปิด: ช่วยด้วย


0

รูปแบบแท็กง่าย ๆ ที่ใช้งานได้กับ vi / vim เวอร์ชันใดก็ได้ และสามารถสร้าง / แก้ไขได้ง่าย ๆ ด้วยมือ (ยังคงเป็นกลุ่ม) คือชื่อของแท็กพา ธ ของไฟล์และหมายเลขบรรทัดคั่นด้วยแท็บ

ฉันใช้สคริปต์บรรทัดคำสั่ง php เพื่อสแกนรหัสของฉันและสร้างแท็กด้วยรูปแบบนี้โดยพิมพ์บรรทัด:    "$ tagname \ t $ filepath \ t $ LineNo \ n"; ไปยังไฟล์แท็ก

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