คำถามติดแท็ก cursor-movement

การย้ายเคอร์เซอร์ไปที่อื่นในบัฟเฟอร์

2
ฉันจะไปยังหัวข้อต่างๆในเอกสารประกอบของ Vim ได้อย่างไร
ในระบบความช่วยเหลือในตัวของ Vim ฉันจะ ... ค้นหาหัวข้อที่ฉันต้องการความช่วยเหลือ ติดตามไฮเปอร์ลิงก์? เลือกดูวัสดุที่เกี่ยวข้องใช่ไหม

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

3
จะข้ามไปมาระหว่างแท็ก HTML / XML ที่ตรงกันได้อย่างไร
วิธีการข้ามไปมาระหว่างแท็กจับคู่ (เช่น<div>, <span>ฯลฯ ) เมื่อแก้ไขเอกสาร HTML / XHTML / XML ในทำนองเดียวกันตามที่%จะใช้ในการข้ามไปมาระหว่างวงเล็บจับคู่?

8
เหตุใดการใช้ปุ่มลูกศรในโหมดปกติจึงถือว่าไม่เหมาะสม
ฉันได้อ่านมันในหลาย ๆ บทความ ( เช่น ) ว่ามันเป็นวิธีปฏิบัติที่ไม่ดีที่จะใช้ปุ่มลูกศรในโหมดปกติ มีใครอธิบายได้ไหมว่าเพราะเหตุใดจึงถือเป็นการกระทำที่ผิด

6
ฉันสามารถลบทั้งบรรทัดยกเว้นตัวแบ่งบรรทัดได้หรือไม่
การดำเนินการที่ค่อนข้างธรรมดาสำหรับฉันในกลุ่มเนื่องจากฉันบังคับและครอบงำและชอบที่จะทำให้ไฟล์ของฉันปลอดจากช่องว่างคือการลบเนื้อหาของทั้งบรรทัด แต่ไม่ใช่ตัวบรรทัดเอง (เช่นไม่ใช่ตัวแบ่งบรรทัด) มีวิธีที่เป็นกลุ่มในการทำเช่นนี้? บางทีการd<movement command>ดำเนินการ? เพื่อให้ห่างไกลที่ดีที่สุดที่ฉันได้เป็น 0d$(ในบรรทัดในคำถาม) มีวิธีที่เร็วกว่านี้ไหม

3
เหตุใด ci "สามารถอยู่นอกพื้นที่ที่ยกมาและ ci (ใช้ได้เฉพาะในวงเล็บเท่านั้น?
เมื่อใช้ci"เคอร์เซอร์ไม่จำเป็นต้องอยู่ในพื้นที่ที่ยกมาเป็นสองเท่า |String somestring = "some text"; สมมติว่าท่อเป็นตำแหน่งเคอร์เซอร์ci"จะทำให้มันข้ามไปยังพื้นที่ที่ยกมา ในทางกลับกันเมื่อใช้ci(เคอร์เซอร์จะต้องอยู่ในวงเล็บเพื่อให้สามารถใช้งานได้และจะไม่ย้ายเคอร์เซอร์ข้างใน อะไรคือสาเหตุของพฤติกรรมที่แตกต่าง? ฉันคิดว่ามีวิธีการแมปปุ่มเพื่อให้พฤติกรรมนี้มีอยู่ มีข้อบกพร่องในการทำเช่นนี้หรือไม่?

8
ฉันจะย้ายในแนวตั้งจนกว่าจะถึงตัวละครที่ไม่ใช่ช่องว่างได้อย่างไร
ในไฟล์ที่ยาวมากซึ่งมีรหัส (ถูกต้อง -) การเยื้องอาจเป็นประโยชน์ในการเลื่อนไปยังบรรทัดข้อความด้านบนหรือด้านล่างเคอร์เซอร์โดยตรงเพื่อลดการเยื้อง (วิธีหนึ่งในการทำเช่นนี้อาจทำได้ผ่านการเยื้องของวิธีการเยื้องโดยการพับระดับการเยื้องในปัจจุบันซึ่งยุบบรรทัดเพื่อลดระดับการเยื้องเป็นเพียงหนึ่งjหรือkอยู่ห่างจากเคอร์เซอร์อย่างไรก็ตามฉันพบอินสแตนซ์ที่การเยื้องพับไม่ได้ สามารถทำงานในการเยื้องฉันสนใจ) นี่คือตัวอย่างโดยที่เคอร์เซอร์ทำเครื่องหมายขีดล่าง_(ที่คอลัมน์อักขระที่สองระหว่างคำจำกัดความของclass Bazzและclass Qux) แต่ลองจินตนาการว่าจำนวนย่อหน้าหรือบรรทัดภายในmodules ไม่เป็นที่รู้จักหรือตัวแปร: module Foo # lots of code... end module Bar class Baz # ... end class Bazz # lots of code... end _ class Qux # ... end class Quux # lots of code... end end ... วิธีสามารถฉันได้อย่างรวดเร็วไปที่oการmodule Barดังกล่าวข้างต้นเคอร์เซอร์หรือnของendด้านล่างเคอร์เซอร์ที่บรรทัดสุดท้ายมาก? โปรดทราบว่าคอลัมน์แนวตั้งมีช่องว่าง …

1
ฉันจะเลื่อนเคอร์เซอร์ไปที่ด้านบนหรือด้านล่างของหน้าจอได้อย่างไร?
ฉันรู้ว่าggและGสามารถเลื่อนเคอร์เซอร์ไปที่ด้านบนและด้านล่างของไฟล์ แต่มีวิธีที่จะข้ามไปที่ด้านบนหรือด้านล่างของหน้าต่างที่มองเห็นได้หรือไม่?

3
วิธีการปิดการใช้งานปุ่มลูกศรในกลุ่ม?
ฉันต้องการสอนตัวเองโดยใช้ hjkl มากกว่าใช้ปุ่มลูกศรเพื่ออยู่ในแถวบ้าน และใช่ฉันทราบดีว่าไม่ควรใช้ hjkl เป็นปุ่มนำทางหลัก ถึงกระนั้นนิสัยของฉันก็ค่อนข้างแรงและฉันก็ไม่รู้ด้วยซ้ำว่ามันทำให้มือนั้นขยับไปยังปุ่มลูกศรและฉันก็อยากจะแก้มัน หากต้องการทำลายนิสัยดังกล่าว: ฉันจะปิดใช้งานแป้นลูกศรเพื่อให้ฉันถูกบังคับให้ใช้ hjkl หรือวิธีการนำทางอื่น ๆ ได้อย่างไร ในฐานะโบนัสมันจะมีประโยชน์ถ้ามีข้อความที่แสดงDont't use this!ว่ายังไม่ได้รับคำสั่ง หากพวกเขาไม่ทำงานมันจะทำให้ฉันสับสนมากพอที่จะคิดใหม่นิสัยของฉัน

5
ลบจนกว่าจะสิ้นสุดด้านขวาของบล็อกด้านในปัจจุบัน
สมมติว่าฉันมีรหัสเช่นนี้ ( |แสดงถึงตำแหน่งเคอร์เซอร์ ): func1(x|, func2(), y); ฉันต้องการที่จะได้รับ: func1(x|); มีวิธีลบรหัสจากตำแหน่งของเคอร์เซอร์ไปยังตำแหน่งที่อยู่ก่อนส่วนท้ายขวาของบล็อกด้านในปัจจุบันหรือไม่ ฉันรู้ว่าฉันสามารถไปด้วยdt).แต่ฉันสงสัยว่ามีวิธีผสมกับสิ่งที่di)ไม่

2
ฉันจะใช้หมายเลขบรรทัดเพื่อคัดลอกบรรทัดไปยังตำแหน่งที่เคอร์เซอร์อยู่ได้อย่างไร
หลายครั้งที่ฉันอยู่ในสถานการณ์แบบนี้: 1. <Line 1> 2. <Line 2> 3. <Line 3> 4. <Cursor is here> 5. <I want to copy line 1 here> ทางออกที่ง่ายคือmm:1<CR>yy`mp- ทำเครื่องหมายที่บรรทัดที่ 4 ไปที่บรรทัดที่ 1 คัดลอกกลับไปที่เครื่องหมายและวาง มีวิธีแก้ปัญหาของเหลวสั้นลงหรือมากขึ้นสำหรับเรื่องนี้? ฉันทำสิ่งนี้บ่อยพอที่ฉันจะทำแผนที่สำหรับมัน

1
จะทำให้การเคลื่อนไหวเคารพ camelCase หรือ snake_case ได้อย่างไร?
เป็นเรื่องปกติที่จะใช้ทั้ง camelCase หรือ snake_case เพื่อแยกหลายคำซึ่งเป็นตัวระบุ มันจะดีถ้า "คำว่า" การเคลื่อนไหว ( b, w, e) จะตรวจสอบผู้ขอบเขตภายในระบุ พฤติกรรมนี้จะประสบความสำเร็จได้อย่างไร? (ปลั๊กอิน / vimrc / ... ?)

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

4
ฉันจะจัดการกับบรรทัดที่ยาวมากในข้อความ (500+ ตัวอักษร) ได้อย่างไร
สำหรับบางรูปแบบข้อความการแบ่งบรรทัดจะสำคัญ ตัวอย่างเช่นฉันมักใช้ Vim ในการเขียนเอกสาร MediaWiki ซึ่งคุณไม่สามารถวาง linebreak ที่ไหนก็ได้ (ไม่เหมือนกับ Markdown) ดังนั้นฉันจึงถูกบังคับให้เขียนบทที่มีตัวละครมากมาย สิ่งนี้สามารถนำไปสู่ความยาว (200+ ตัวอักษร) หรือแม้กระทั่งความยาวมาก (1,000+ ตัวอักษร) ฉันพบว่ามันน่าอึดอัดใจมากที่จะใช้ในกลุ่ม ตัวอย่างหนึ่งคือถ้าฉันต้องการแก้ไขบางอย่างที่อยู่กลางบรรทัดอักขระ 1,000 ตัวฉันต้องเลื่อนเคอร์เซอร์ของฉัน 500 ครั้ง สิ่งนี้สามารถทำให้เร็วขึ้นด้วยwหรือ/แต่ก็ยังคงอึดอัดใจ มีวิธีที่ดีกว่าในการจัดการกับสิ่งนี้หรือไม่? ปุ่มเคลื่อนไหวที่ดีขึ้น? บางส่วนของ "การตัดคำแบบปลอม" (ข้อความมีลักษณะเหมือนtw=80แต่ไม่มี\nในไฟล์) หรืออย่างอื่น

1
ฉันจะข้ามไปยัง "ย่อหน้า" ถัดไปได้อย่างไร
ตอนนี้ฉันกำลังทำงานกับบล็อกข้อความบางส่วนที่มีความยาวมากกว่า 1,000 บรรทัด มีวิธีง่ายๆในการย้ายไปยังจุดเริ่มต้นของย่อหน้าถัดไปหรือไม่? วิธีแก้ปัญหาของฉันตอนนี้กำลังค้นหาอักขระบรรทัดใหม่ที่ต่อเนื่องกันสองตัว: /\n\n วิธีแก้ปัญหาอื่นก็คือ vip Esc j vip วี isually เลือกฉัน n P aragraph (ซึ่งจะนำคุณไปยังจุดสิ้นสุดของย่อหน้า) Esc หลบหนีจากการเลือกภาพ j ย้ายลง

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