假設我輸入了「abcdefg」,並且光標在最後。我想刪除回到c,這樣我只剩下「abc」了。如何刪除,包括當前字符?
是否有像d
這樣的命令包含當前字符?我知道我可以做dTcx
,但x
感覺像是一個解決辦法,我想有一個更好的解決方案。
假設我輸入了「abcdefg」,並且光標在最後。我想刪除回到c,這樣我只剩下「abc」了。如何刪除,包括當前字符?
是否有像d
這樣的命令包含當前字符?我知道我可以做dTcx
,但x
感覺像是一個解決辦法,我想有一個更好的解決方案。
不是。向後運動總是從當前字符的左側開始,對於c
,y
和d
這是合乎邏輯但也令人不安的。
唯一的「乾淨」的解決方案,我能想到的任何暗示移動到焦炭c
第一後再做向前刪除:
Tcde
或使用可視化模式:
vTcd
v3hd
但,考慮到你的樣品,並假設你正在進入正常模式只是爲了糾正,整個事情聽起來對我來說非常浪費。
什麼停留在插入模式和簡單地做←←←←?
使用d?c
這將啓動d
模式,搜索回'c',然後刪除到您的光標位置。
編輯:不,不包括當前位置...
必須是'd?d' – 2013-04-04 06:46:21
是的,好點,保持'c'。 – Cometsong 2013-04-04 06:51:41
我可能會誤解你的要求,但並3hd$
做呢?
是的,它的確如此。或'Fdd $'。但是當我還沒有結束時,我想工作,這也感覺就像一個解決方法。基本上,我問是否有包含當前角色的動作/刪除。 – Andreas 2013-04-04 06:51:09
試試這個:
TcD
這將離開abc
您例如......嗯,如果abcdefg
是該行的最後一個字。
如果不是在該行的最後一個字,你可以這樣做:
ldTc
或打高爾夫球,做它3按鍵行程內:
3Xx or l4X
見this answer到類似的問題:有一個設置可以超出行尾
來自文檔:
虛擬編輯意味着光標可以放置在沒有實際字符的位置 。這可能是一個標籤的一半或超出該行的末尾 。用於在可視模式下選擇矩形和編輯表格。 「onemore」不一樣,它只允許在行的最後一個字符後面移動光標 。這使得一些命令更一致。以前,如果該行爲空,則光標始終在行 的末尾。但它遠不是Vi兼容的。它也可能會破壞一些插件或Vim腳本。例如,因爲| l |可以在最後一個字符後移動光標 。小心使用! 使用
$
命令將移至行中的最後一個字符,而不是經過它的 。這實際上可能會將光標移動到左側!g$
命令將移動到屏幕行的末尾。 將「all」與「onemore」結合起來沒有任何意義,但是您不會爲此發出警告。
總之,你可以嘗試:set virtualedit=onemore
,看看你的環境是否穩定與否。
我用最愚蠢的方式做到這一點:D – 2013-04-04 06:43:19
@MostafaShahverdy'xxxx'?或'ddOabc'? – Andreas 2013-04-04 06:43:54
Humm:D並且有時使用'c'中的Del! – 2013-04-04 06:44:47