Vim中如何移至行尾并反向删除最后一个单词?
解决Vim中行尾反向删除最后一个单词的问题
我完全懂你遇到的这个麻烦——用db删到行尾时总是留个尾巴,还要手动按b再de确实容易手滑出错。这里有几个实用的方法帮你一键搞定:
1. 直接用命令组合(无需配置)
如果不想改配置,直接用这个组合键:
g_db
g_:会把光标跳到当前行最后一个非空白字符(比$更贴心,就算行尾有空格也能精准定位到最后一个单词的末尾)db:从当前光标位置向前删除整个单词,这样就不会再遗留最后一个字符了
要是行尾肯定没空格,用$db也能达到效果,但g_的适配性更强。
2. 自定义快捷键映射(一劳永逸)
如果经常需要这个操作,不如把组合键映射成一个快捷键,省得每次敲一串。打开你的Vim配置文件(~/.vimrc或者init.vim),添加这一行:
nnoremap <leader>dw g_db
保存退出后重启Vim,以后只要按<leader>dw(默认leader键是反斜杠\,所以就是\dw),不管光标在当前行的哪个位置,都能直接删除最后一个单词。
你可以把<leader>dw换成自己顺手的组合,比如<C-w>之类的,只要不跟现有快捷键冲突就行。
补充说明
为啥原来的db会留尾巴?因为当光标在单词的倒数第二个字符时,db只会删除从光标到单词开头的部分,自然就剩下最后一个字符。而先跳到单词末尾(行尾)再用db,就能把整个单词都删掉啦~
内容的提问来源于stack exchange,提问作者dekuShrub
相关产品推荐
相关产品推荐

