Vim普通模式下如何删除当前行上方的指定行?
针对Vim删除上方多行的极简操作方案
嘿,同为追求极致操作效率的Vim玩家,必须给你安排上最对味的解决方案!
首先得说,你之前用的7k+7dd折衷法、可视模式Shift+V+7k+x都是可行的,但既然你是完美主义者,那**d7k绝对是你要找的最短最优解**!
操作逻辑拆解:
Vim的核心操作逻辑是「操作符 + 移动命令」:
d是删除操作符7k是向上移动7行的移动命令
组合起来d7k,就能精准删除当前光标所在行上方的7行(完全不影响当前行),全程只需要按3个键,比你之前的操作少了好几步,完美贴合极简需求!
为啥你之前的尝试没成功?
你试的d-7d和-7dd不符合Vim的语法逻辑:
-是单行向上移动的命令,但不能和数字这么组合进删除操作里dd是删除当前行的独立命令,和前面的-7组合后逻辑混乱,自然达不到预期效果
举一反三的拓展操作:
掌握这个逻辑后还能灵活拓展:
- 删除上方3行:
d3k - 删除下方5行:
d5j(和5dd/d5d效果一致,看个人习惯选)
内容的提问来源于stack exchange,提问作者pingsoli
相关产品推荐
相关产品推荐

