关于配置快捷键实现固定字符删除及多行代码批量缩进调整的技术问询
关于配置快捷键实现固定字符删除及多行代码批量缩进调整的技术问询
嘿,太懂你这种反复按删除键调整缩进的痛苦了!我平时重构代码拆函数的时候也经常碰到这种场景,给你分享几个实用的解决办法:
一、多行代码批量调整缩进(最常用的场景)
不管你用什么主流编辑器/IDE(VS Code、Sublime、Notepad++、Vim这些都支持),都有现成的快捷操作:
- 先选中所有需要调整的代码行,然后按
Shift + Tab就能快速把选中的代码整体左移缩进(相当于批量删除前面的空格);反过来按Tab就是整体右移缩进。 - 有些编辑器还支持
Ctrl + [(左移)和Ctrl + ](右移)的组合键,效果和上面一样。而且大部分编辑器都能在设置里调整每次缩进移动的空格数,完全适配你用空格缩进的习惯。
比如说你要处理50行原来CASE块的代码,直接全选,按几次Shift + Tab就能快速把缩进调整到位,比手动一行行删快太多了!
二、配置快捷键删除固定数量字符
如果你需要实现“按一次快捷键就删除光标前/后固定数量的字符”,不同编辑器的设置方式略有不同,但都能实现:
- VS Code:打开快捷键设置(
Ctrl + K Ctrl + S),然后可以自定义宏来实现。比如你想让Ctrl + X删除光标前10个字符,就打开keybindings.json,添加这段配置:
保存后就能直接用了,完全不用先选中字符。{ "key": "ctrl+x", "command": "runCommands", "args": { "commands": [ {"command": "deleteLeft", "args": {"count": 10}} ] }, "when": "editorTextFocus" } - Sublime Text:可以通过写简单的插件脚本实现。打开
Tools -> Developer -> New Plugin,粘贴一段Python脚本(比如实现删除光标前10个字符的逻辑),保存为插件文件后,再在快捷键设置里绑定Ctrl + X到这个自定义命令。 - Vim:更简单,直接在普通模式下输入
10X就能删除光标前10个字符,10x删除光标后10个字符。要是想绑定快捷键,就在配置文件里加nnoremap <C-x> 10X,以后按Ctrl + X就直接执行这个操作。
三、额外小提示
如果你暂时不想折腾快捷键配置,还有个小技巧:选中一行开头需要删除的空格,按Ctrl + C复制,然后按住Ctrl键选中所有需要调整的行开头,再按Delete就能一次性删掉所有选中的空格,也比一行行删高效很多。
备注:内容来源于stack exchange,提问作者Gary




