ฉันจะค้นหาได้อย่างไรเมื่อ vim แสดงเนื้อหาโดยใช้เพจเจอร์“ more”


17

ฉันต้องการดูค่าของตัวแปรดังนั้นฉันจึงรันคำสั่ง

:let

Vim แสดงผลลัพธ์ของคำสั่งนี้โดยใช้--more--เพจเจอร์
ฉันจะค้นหาวลีเช่นนี้ได้htmlอย่างไร
ฉันได้ดูหน้าเพจสำหรับเพจเจอร์เพิ่มเติมที่ระบุว่า+/ใช้สำหรับการค้นหา แต่ดูเหมือนจะใช้งานไม่ได้และไม่ทำงาน/ตามเพจเจอร์ที่น้อยลง


1
AFAIK เป็นคำสั่งภายใน Vim - ดูเหมือน 'เพิ่มเติม' แต่โปรแกรมไม่ได้ถูกเรียกโดย Vim (หลักฐาน: มันทำงานได้ใน Windows เช่นกัน) คุณยังสามารถเขียนจุดเริ่มต้นของชื่อตัวแปรได้มากกว่าขอให้ Vim ดำเนินการให้เสร็จสิ้น (เช่นกับCtrl-d)
VanLaser

ขอบคุณเมื่อฉันพิมพ์ชื่อตัวแปร - หรือในความเป็นจริงสิ่งใดมาก - vim จะไม่ยอมรับมัน - มันเพียงแค่พร้อมท์-- More -- SPACE/d/j: screen/page/line down, b/u/k: up, q: quitใน commandline
the_velour_fog

1
เขียน:let แล้วอย่ากดปุ่มEnterแต่TabหรือCtrl-d- คุณจะมีรายการตัวแปรที่มีอยู่แสดงในรูปแบบ "เพิ่มเติม" - ตอนนี้กดEscเขียนตัวอักษรสองสามตัวกดTabหรือCtrl-dอีกครั้ง ... และต่อไปเรื่อย ๆ จนกว่าคุณจะพบตัวแปรที่คุณต้องการ ต้องการ. ที่จริงแล้วเพื่อดูค่าของตัวแปรบางทีคุณควรใช้echo แทน? (หรือset variable-name?สำหรับตัวเลือก)
VanLaser

1
เด็ดมากทั้งCtrl-dเคล็ดลับและเสียงก้องทำงานได้ดีขอบคุณ!
the_velour_fog

คำตอบ:


16

นี่ไม่ใช่moreเพจเจอร์นี่เป็นเพจเจอร์ภายในและเรียบง่ายของ Vim ซึ่งไม่มีความสามารถในการค้นหา

แต่คุณสามารถใช้:redirคำสั่ง:

:redir @a    redirect output of following commands to register a
:let         list every current option and its value
G<CR>        go straight to the end of the listing and make it disappear
:redir END   stop redirection
:tabnew      open a new buffer in a new window in a new tab page
"ap          put from register a

…จากนั้นใช้คำสั่ง Vim ปกติ


โอ้ยอดเยี่ยมมากนั่นเป็นคำสั่งที่ดีที่จะรู้! ขอบคุณ
the_velour_fog

7
ง่ายขึ้นเล็กน้อย::redir @b|sil let|redir end
Christian Brabandt

11

Vim 8 มีexecute()คำสั่งให้คุณรับเอาต์พุตของคำสั่ง หากต้องการดูบัฟเฟอร์ปัจจุบันให้ทำดังนี้

:put =execute('let')

สำหรับกลุ่ม 7 คุณสามารถใช้capture.vim มันเป็นปลั๊กอินที่ล้อมรอบคำสั่งจากคำตอบของ @ romainl และให้คุณใช้เป็น

:Capture let

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