作者justim (透明石油)
看板Editor
标题[vim ] 关於 text object 的问题
时间Wed Jun 1 23:38:48 2016
对於 ci 指令取代文字的部分,觉得有点疑问,想请教网友的意见。
假设我有底下的文字
This is a "string"
在 VIM 下,假设游标在行首(即字母 T 处),当我按下 ci" 时,
" " 中的字串会被删掉,并且游标会停在 "" 中。
但若是底下的文字,且游标也是在行首
int arr[3] = {0, 1, 2};
当按下 ci[ 时,却不会有任何的反应。
不过若是我先 f[,这时再 ci[,则是会把 [] 中的3删掉,并且游标停在 [] 中。
我要问的是,为什麽 ci[ 不会像 ci" 一样,由行首直接移到 [] 中,并把 []
中的文字都删除呢?
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 114.39.172.39
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/Editor/M.1464795530.A.BDA.html
2F:→ ckc1ark: 不过ci[可以是跨行的 所以就没有这种福利(?) 06/02 02:17
3F:→ ckc1ark: btw 刚好看到居然有[cdv]2i"这种怪招 还真是处处有惊奇 06/02 02:19
4F:推 yea107: 看不太懂楼上这招,可以稍微解释一下吗?感谢 06/02 12:03
5F:推 ckc1ark: "def" ghi 使用va"会选到["def" ]用v2i"会选["def"]而已 06/02 16:26
6F:→ ckc1ark: 然後vi"是选[def]而已这应该不用解释 06/02 16:27
7F:推 yea107: 了解,感谢~~ 06/02 16:48
8F:推 goldie: 谢谢ckc1ark指出v2i这招,学习了,感谢! 06/05 17:53