VIM中dG命令仅删除一行而非文件末尾,故障原因咨询
关于VIM中
dG仅删除一行的故障排查 嘿,这个问题我碰到过好多次啦,dG本该删除光标到文件末尾的所有内容,结果只删一行,大概率是这几个原因:
手滑按成了
dd:这是最常见的情况!很多时候打字快或者没注意,把dG按成了dd——dd的功能就是删除当前行,刚好和你描述的现象一致。建议操作时慢一点,确保按住d后再按下大写的G(小写g是跳行首,dg是删到行首,也不是一行,所以主要是误触成dd)。当前处于Visual模式:如果之前不小心触发了Visual模式(比如按了
v或V),这时候dG的逻辑就变了——在Visual模式下,d是删除选中的内容,要是你只选中了当前行,那执行dG自然就只删这一行。先按Esc切回Normal模式再试试。快捷键被重映射了:有些自定义配置或者插件会修改
dG的功能,比如把它改成了删除当前行。你可以在VIM里输入:verbose map dG,看看有没有被重定义的记录。如果有,要么找到对应的配置/插件修改回去,要么用<C-u>dG(先按Ctrl+u跳过映射再执行命令)。光标已经在最后一行:这个有点哭笑不得,但确实可能!如果光标所在的行就是文件的最后一行,那
dG本来就只能删除这一行啊。先按G跳到文件末尾确认下是不是这种情况。
内容的提问来源于stack exchange,提问作者buzzzen
相关产品推荐
相关产品推荐

