หากคุณไม่รังเกียจที่จะกดชุดค่าผสมที่แตกต่างไปcw
จากนั้นฉันเชื่อว่าคุณสามารถได้รับสิ่งที่คุณต้องการได้อย่างง่ายดายโดยการกำหนดทางลัด สิ่งที่คุณสามารถทำได้คือการวางต่อไปนี้
nmap <leader>a "1yiw:let @/=@1^Mciw
ใน.vimrc
ไฟล์ ของคุณ ทราบว่า ^M
เป็นการจับตัวของผลตอบแทนที่สำคัญและไม่ตัวละครและ^
M
คุณจะได้รับโดยการกดCtrl+ ในโหมดแทรกตามมาด้วยV Enterขณะนี้ด้วยการกำหนดนี้การกด<leader>a
จะทำเช่นเดียวกันcw
แต่ตอนนี้คำ (ก่อนการเปลี่ยนแปลง) จะอยู่ใน "การลงทะเบียนการค้นหาล่าสุด" ของคุณ (นั่นคือการ/
ลงทะเบียน) ดังนั้นการกดnหลังจากที่คุณทำการเปลี่ยนแปลงและส่งกลับ สู่โหมดปกติคุณจะได้รับสิ่งต่อไปนี้ ในทำนองเดียวกันการกดNจะนำคุณไปสู่เหตุการณ์ก่อนหน้า
ทางลัด แน่นอนคุณสามารถเลือกทางลัดที่แตกต่างกว่า<leader>a
แต่ฉันเพิ่งพบว่านี่เป็นทางลัดที่เข้าถึงได้ง่ายมาก โดยส่วนตัวแล้วฉันได้ตั้งค่าไว้<leader>
เพื่อ,
ให้ฉันต้องกด,แล้วตามด้วยaแต่นี่เป็นเพราะฉันไม่ได้ใช้แป้นพิมพ์แบบอเมริกันดังนั้นฉัน\จึงซ่อนตัวอยู่บ้าง (ฉันเชื่อว่า\เป็นค่าเริ่มต้น<leader>
)
คำอธิบาย ความคิดนั้นง่ายมาก งัดคำภายใต้เคอร์เซอร์ไปที่ลงทะเบียนค้นหาแล้วทำ/
cw
ดังนั้นจึงnmap <leader>a "/yciw
เป็นสิ่งที่ผมกำลังเล็งหา แต่โชคร้ายที่ฉันไม่คิดว่าคุณสามารถงัดเพื่อลงทะเบียนค้นหาเพื่อการแก้ปัญหาคือการงัดคำภายใต้เคอร์เซอร์ไปที่1
ลงทะเบียนตั้งแล้วลงทะเบียนเท่ากับว่าแล้วทำ/
cw
ดังนั้น"1yiw
ส่วนที่ yanks คำภายในภายใต้เคอร์เซอร์เพื่อลงทะเบียน1
คือ หากคุณไม่ทราบคำศัพท์ภายในคุณสามารถตรวจสอบ:help iw
ได้ หลังจากนั้น:let @/=@1
ตามด้วยการจับภาพของEnterทำให้เนื้อหาของการลงทะเบียนเข้าสู่1
/
ณ จุดนี้nและNทำงานเป็นคำถัดไปและก่อนหน้าของคำที่อยู่ใต้เคอร์เซอร์จากนั้น a ciw
จะทำเพื่อให้คำที่อยู่ภายใต้เคอร์เซอร์ถูกลบและ Vim จะถูกใส่ในโหมดแทรก
คำต่อคำที่ ฉันเพิ่งรู้ว่าฉันคิดว่าคุณต้องการคำทั้งหมดภายใต้เคอร์เซอร์ไม่ใช่จากจุดของเคอร์เซอร์และบน นี่คือเหตุผลที่ฉันใช้iw
แทนw
ทุกที่ หากไม่เป็นเช่นนั้นคุณควรใช้
nmap <leader>a "1yw:let @/=@1^Mcw
แทน. หากเคอร์เซอร์อยู่บนตัวอักษรตัวแรกของคำนั้นจะไม่มีความแตกต่าง
ข้อจำกัดความรับผิดชอบ การแก้ปัญหานี้อาจจะทำงานได้ไม่ดีถ้าคุณพยายามที่จะใช้ในสิ่งที่มีสิ่งที่แตกต่างจากตัวอักษรเช่นโดยมีขาตั้งเคอร์เซอร์บน\
หรือโดยการแทนที่iw
โดยiW
, ib
, is
หรือip
หรือบางสิ่งบางอย่าง ( แต่ผมไม่ทราบว่าทำไมคุณจะ ต้องการคุณลักษณะนี้ด้วยประโยคทั้งหมด)
*
ค้นหา โดยเฉพาะอย่างยิ่งทำให้*
สามารถเลือกคำปัจจุบันโดยไม่ต้องเลื่อนเคอร์เซอร์ของคุณ เมื่อติดตั้งแล้วคุณสามารถทำ*ciw
เพื่อวางคำเก่าลงในการค้นหาและเปลี่ยนคำ แล้วคุณสามารถใช้และn
.