กำลังค้นหาคำในกลุ่ม?


145

/wordฉันจะค้นหาคำในกลุ่มด้วย ฉันจะค้นหาเท่านั้นwordยกเว้นการค้นหาword1และได้word2อย่างไร


2
ซ้ำซ้อนที่เป็นไปได้ของการค้นหาการจับคู่ที่ตรงกันในกลุ่ม
LSchueler

คำตอบ:


207

แบบนี้:

/\<word\>

\<หมายถึงการเริ่มต้นของคำและ\>หมายถึงการสิ้นสุดของคำ

การเพิ่มความคิดเห็นของ @ Roe:
VIM ให้ทางลัดสำหรับสิ่งนี้ หากคุณมีคำบนหน้าจออยู่แล้วและคุณต้องการค้นหาอินสแตนซ์อื่น ๆ ของมันคุณสามารถวางเคอร์เซอร์บนคำแล้วกด'*'เพื่อค้นหาไปข้างหน้าในไฟล์หรือ'#'ค้นหาย้อนหลัง


3
วางเคอร์เซอร์ของคุณมากกว่าคำและกด * (ไปข้างหน้า) หรือ # (ย้อนหลัง) เป็นทางลัด
falstro

1
ทำไมสิ่งนี้จึงเป็นประโยชน์เมื่อเทียบกับ: / คำ
jimh

3
@semja: สมมติว่าคุณมีตัวแปร 'data' และตัวบ่งชี้ที่ถูกต้อง 'data_valid' หากฉันต้องการค้นหาเฉพาะ 'data' แต่ไม่ใช่ 'data_valid' ดังนั้น '/ data' จะไม่ทำงาน ฉันต้องบอกเป็นกลุ่มว่าจะหยุดการจับคู่รูปแบบ
Nathan Fellman

สิ่งนี้ล้มเหลวในตัวอย่างต่อไปนี้: 1word1ดูstackoverflow.com/a/22148017/2609994สำหรับวิธีแก้ไข
LSchueler

มีการvimกำหนดค่าเพื่อให้ค้นหาคำที่แน่นอนโดยไม่ต้องใส่สตริงการค้นหาด้วย\<และ\<อักขระ?
trueadjustr

77
  1. ชื่อไฟล์เป็นกลุ่ม
  2. กด /
  3. พิมพ์คำที่คุณต้องการค้นหา
  4. กดปุ่มตกลง

2
ใครช่วยอธิบายว่าทำไมสิ่งนี้ถึงได้รับการโหวต ทำงานให้ฉัน
Kiee

13
เพราะ OP "word"ขอให้ค้นหาเฉพาะสำหรับ วิธีการแก้ปัญหาที่โพสต์ที่นี่โดยทั่วไปจะค้นหา%word%ไม่ว่าจะเป็นthiswordisawesomeหรือหรือword56 26word
Jguy

9
นอกจากนี้เนื่องจาก OP ระบุไว้อย่างชัดเจนว่าพวกเขารู้เกี่ยวกับ/คำสั่ง ดังนั้นคำตอบนี้ไม่เป็นประโยชน์เลย
cmaster - คืนสถานะโมนิกา

27

หากคุณกำลังทำงานใน Ubuntu ให้ทำตามขั้นตอน:

  1. กด/และพิมพ์คำเพื่อค้นหา
  2. ในการค้นหาไปข้างหน้ากดปุ่ม 'SHIFT' ด้วย *ปุ่ม
  3. ในการค้นหาย้อนหลังกดปุ่ม 'SHIFT' ด้วย#ปุ่ม

1
ฉันจะเน้นคำที่ค้นหาได้อย่างไร
jorge saraiva

3
@jorgesaraiva: ก่อนอื่นคุณอาจจะได้รับคำตอบเร็วขึ้นโดยถามคำถามใหม่ (แทนที่จะรอให้ใครซักคนมาคอมเม้นท์นี้ 3 เดือนหลังจากที่คุณถาม) :set hlsประการที่สองคุณสามารถทำได้ใน Vim เพื่อเน้นผลการค้นหาของคุณ หากต้องการปิดการไฮไลต์ทำ:set nohls
นาธานเฟลล์แมน

1
สิ่งนี้ใช้ได้ผลก็ต่อเมื่อผลลัพธ์แรกจากการทำ/wordคือwordแทนที่word.+
pushkin

สิ่งนี้ใช้ไม่ได้กับฉันบนอินสแตนซ์ AWS ubuntu 18.04 ใช้ windows git-bash เพื่อ ssh ไปยังเซิร์ฟเวอร์ ubuntu ถ้ามีความเกี่ยวข้อง แปลก.
CodingMatters

21

สำหรับการค้นหาขั้นพื้นฐาน:

  • / pattern - ค้นหารูปแบบล่วงหน้า
  • ? pattern - ค้นหาย้อนหลัง
  • n - ค้นหาซ้ำไปข้างหน้า
  • N - ทำซ้ำย้อนหลัง

ตัวแปรบางตัวที่คุณอาจต้องการตั้งค่า:

  • : set ignorecase - ตัวพิมพ์เล็กและตัวพิมพ์เล็ก
  • : ตั้งค่า smartcase - ใช้ตัวพิมพ์เล็กและใหญ่หากใช้ตัวพิมพ์ใหญ่
  • : set incsearch - แสดงรายการที่ตรงกันเป็นการค้นหา

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