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

คำสั่งที่เลื่อนเคอร์เซอร์ คำสั่งการเคลื่อนไหวถูกใช้หลังจากคำสั่งตัวดำเนินการเพื่อเลื่อนไปเหนือข้อความที่จะดำเนินการ

3
ทำไมเป็นกลุ่มใช้ hjkl สำหรับปุ่มเคอร์เซอร์?
เหตุใดจึงต้องใช้ปุ่มต่าง ๆhjklในบรรทัดเดียวกันแทนที่จะเป็นปุ่มในรูปสามเหลี่ยมเช่นwasdใช้เล่นวิดีโอเกม ทำไมไม่ได้เป็นสิ่งที่เทียบเท่ากับมือข้างขวาเหมือนijklหรือpl;'?

4
ฉันจะถือว่าคำพูดของ LaTeX เป็นวัตถุข้อความได้อย่างไร
เครื่องหมายอัญประกาศใน LaTeX นั้นแตกต่างจากข้อความปกติโดยมีการจัดรูปแบบ``like this''(หรือ`like this'สำหรับเครื่องหมายคำพูดเดี่ยว) ทำให้ยากที่จะสำรวจพวกมันเป็นกลุ่ม ฉันมักจะใช้สิ่งที่ชอบT`ct'(ย้อนหลังจนกระทั่ง`เปลี่ยนไป') อย่างไรก็ตามนี่เป็น clunky และผิดธรรมชาติ ฉันชอบที่จะสามารถที่จะใช้สิ่งที่ตามสายของciq( "การเปลี่ยนแปลงในคำพูด") เช่นเดียวกับที่ฉันสามารถทำได้ciw, ca), ci", ca'ฯลฯ มีวิธีใดบ้างที่จะบอก Vim ให้``LaTeX'' `quotes'ถือเป็นวัตถุข้อความ? (ในฐานะที่เป็นข้อดีมีวิธีใดบ้างที่จะทริกเกอร์สิ่งนี้ขณะแก้ไข.texไฟล์?)

4
มีวัตถุข้อความสำหรับบัฟเฟอร์ทั้งหมดหรือไม่
ฉันมักจะพบว่าตัวเองพิมพ์คำสั่งเช่นgg"+yGหรือggdGต้องการวิธีที่มีประสิทธิภาพมากขึ้นโดยไม่ต้องเลื่อนเคอร์เซอร์สองครั้ง มีคำสั่งใดบ้างที่ฉันสามารถใช้เช่นy[movement]เพื่อคัดลอกบัฟเฟอร์ทั้งหมดโดยไม่ย้ายเคอร์เซอร์?

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

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

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

4
วิธีที่ง่ายที่สุดในการลบคำว่า "คอมโพสิต"?
ขออภัยหาก "คอมโพสิต" ไม่ใช่คำศัพท์ด้านเทคนิค ฉันหมายถึงต่อไปนี้: Hi, I-am-a-composite-word and we are not ฉันต้องการลบเฉพาะคำประสม ในโหมดคำสั่งถ้าฉันเลื่อนเคอร์เซอร์ไปที่Iจากนั้นทำซ้ำdwสองสามครั้งหรือพิมพ์dwอีกครั้งดีกว่าตามด้วยการ.กดไม่กี่ครั้งจะเป็นการหลอกลวง อย่างไรก็ตามด้วยเหตุผลต่าง ๆ ฉันพบว่าตัวเองทำสิ่งนี้ค่อนข้างบ่อยในระหว่างวันดังนั้นฉันจึงสงสัยว่ามีวิธีที่เรียบง่ายกว่านี้หรือไม่ ป.ล. ฉันไม่คิดว่าคำสั่งd9wจะเป็นวิธีที่ง่ายกว่า การนับลำดับของคำและขีดคั่นที่ยาวนานนั้นไม่ใช่ความคิดของฉัน "เรียบง่าย"

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

3
วิธีการข้ามไปที่กลางบัฟเฟอร์
โดยการกดggและGคุณสามารถข้ามไปที่ปลายทั้งสองของบัฟเฟอร์ 42G ข้ามไปที่บรรทัดที่ 42 มีgทางลัดลัดใด ๆ หรือไม่ที่จะข้ามไปที่กลางบัฟเฟอร์ สิ่งที่ชอบประมาณround(number of lines/2)G?

1
ทำไม“ โอเปอเรเตอร์” +“ โมชั่น” จึงทำงานไม่สอดคล้องกัน?
นี่คือสิ่งที่ทำให้ฉันรำคาญใจมานาน แต่ฉันไม่เคยถาม สมมติว่าข้อความในบัฟเฟอร์ของคุณมีลักษณะดังนี้: Hello World ถ้าฉันวางเคอร์เซอร์ไว้ที่ใดที่หนึ่งในบรรทัด 2 และทำykเคอร์เซอร์ของฉันจะสิ้นสุดที่บรรทัดที่ 1 นี่ดูเหมือนจะบอกเป็นนัยถึงโอเปอเรเตอร์และการเคลื่อนไหวก็เลื่อนเคอร์เซอร์ด้วย อย่างไรก็ตามถ้าฉันเริ่มต้นในบรรทัดที่ 1 และทำyjเคอร์เซอร์ของฉันจะยังคงอยู่ในจุดเดียวกัน ความไม่ลงรอยกันแบบเดียวกันเกิดขึ้นกับกุญแจจำนวนมาก Moves Doesn't move gg G h l { } ( ) T t F f ? / แล้วพฤติกรรมนี้เป็นอย่างไร สิ่งนี้คาดหวังและบันทึกไว้เป็นอย่างดีหรือไม่? มีชื่อนี้ไหม สามารถแทนที่ได้หรือไม่ โดยทั่วไปแล้วดูเหมือนว่า "การเคลื่อนไหวไปข้างหลังการส่งต่อไม่ได้" แต่มีวิธีที่ฉันสามารถบอกได้อย่างชัดเจนว่าตัวดำเนินการ + การเคลื่อนไหวจะย้ายเคอร์เซอร์หรือไม่?

2
ขยาย f และ t เคลื่อนไหวไปยังบรรทัดถัดไป
มีวิธีที่t{char}และf{char}จะทำงานต่อไปในบรรทัดถัดไปหาก{char}ไม่ปรากฏในบรรทัดที่กำหนดหรือไม่ ฉันต้องการที่จะหลีกเลี่ยงการใช้/{char}<CR>ในการบันทึกการกดแป้นพิมพ์ 1 และได้มีการเน้นค้นหาโดยเฉพาะอย่างยิ่งเมื่อฉันต้องนี้ร่วมกับคำกริยา (เช่นdfa, ct.)

1
ทำไมคำสั่งขีดล่าง _ จึงมีประโยชน์
ฉันสับสนเล็กน้อยว่าทำไมคำสั่งขีดล่าง_ซึ่งกระโดดไปที่จุดเริ่มต้นของบรรทัด (COUNT - 1) th ด้านล่างเคอร์เซอร์ได้รับรหัสของตัวเอง เมื่อผมจะใช้มากกว่านี้+หรือ^?

2
ทำไม 'cw' และ `ce` ทำสิ่งเดียวกัน?
สิ่งนี้ทำให้ฉันเกี่ยวกับคำสั่งwและWการเคลื่อนไหวเสมอ - พวกเขาดูเหมือนจะทำงานแตกต่างกันเมื่อใช้กับcคำสั่ง hange มากกว่าที่พวกเขาทำเมื่อใช้คนเดียวหรือกับdคำสั่ง elete ตัวอย่างเช่นด้วยเคอร์เซอร์ที่ "q" ของข้อความนี้: The quick brown fox jumps over the lazy dog. พิมพ์dwผลลัพธ์ใน The brown fox jumps over the lazy dog. และพิมพ์deผลลัพธ์ใน The brown fox jumps over the lazy dog. (สังเกตช่องว่างสองช่องระหว่าง "The" และ "brown") yank คำสั่งยังถือว่าwและeแตกต่างที่สามารถแสดงให้เห็นโดยการเปรียบเทียบyeP: The quickquick brown fox jumps over the lazy …

1
วิธีการรักษาขีดล่างเหมือนที่ว่าง?
เป็นไปได้หรือไม่ที่กลุ่มจะจัดการกับขีดล่างเช่นช่องว่างหรือไฮเปอร์ดังนั้นเมื่อฉันใช้ลำดับdwมันจะไม่ลบทั้งประโยคsome_long_text_with_underscoresเมื่อเคอร์เซอร์อยู่ที่จุดเริ่มต้น?

3
เคอร์เซอร์หลายตำแหน่งที่ต้องการ
ฉันใช้ปลั๊กอินvim-multiple-cursors ฉันต้องการวางเคอร์เซอร์ตรงที่ฉันต้องการ ตัวอย่างเช่น ( [x]คือตำแหน่งเคอร์เซอร์): Lorem ipsum dolor sit amet[1], consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna[2] aliqua. ในข้อความประเสริฐฉันมักจะวางเคอร์เซอร์แรกจากนั้นไปที่ตำแหน่งถัดไปด้วยปุ่มลูกศรและวางที่สอง มีอะไรที่คล้ายกันใน VIM? ด้วยปลั๊กอินนี้หรืออื่น ๆ แก้ไข การติดตามความคิดเห็นความสนใจของฉันในการทำเช่นนั้นปรากฏขึ้นเมื่อพยายามเขียน \section[My first section in this book]{My first section in this book} ใน.texไฟล์ ปฏิกิริยาแรกของฉันคือการเขียน\section[]{}แล้วใส่สองเคอร์เซอร์เพื่อที่จะเขียนในสิ่งเดียวกันภายในและ[]{} ตัวอย่างอื่น ๆ คือการเพิ่ม_someStuffหลังจากชื่อตัวแปรต่าง ๆ ตัวอย่างเช่นเปิดสิ่งนี้: variable1 …

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