Sublime自动补齐括号后如何快速跳出

本文介绍如何在Sublime编辑器中通过简单配置实现自动补全后的快速确认,提高编程效率。具体步骤包括:打开SublimeText,进入偏好设置的键盘绑定选项,添加特定的JSON配置来让Enter键在补全时直接确认并移动光标。

在使用Sublime编辑器时,有自动补齐功能,补齐后要跳出常用的做法是去移动光标,这样操作比较麻烦,效率也慢,如下提供一种方式,稍做配置,可以实现补齐输入后,直接按Enter回车键快速跳出。

打开Sublime Text;
菜单栏 –>Preferences –> Key Bindings;
打开后,key-map-User中的中括号里边,输入如下文本,保存。

{"keys": ["enter"], "command": "move", "args": {"by": "characters", "forward": true}, "context":
    [
        { "key": "following_text", "operator": "regex_contains", "operand": "^[)\\]\\>\\'\\\"\\}\\;\\,]", "match_all": true },
        { "key": "preceding_text", "operator": "not_regex_match", "operand": "^.*[\\[\\{]$", "match_all": true  },
        { "key": "auto_complete_visible", "operator": "equal", "operand": false }
    ]
}
在C++开发中实现自动补齐括号通常可以借助以下几种方式: ### 集成开发环境(IDE)自带功能 众多流行的IDE,像Visual Studio、CLion、Code::Blocks等,都具备自动补齐括号的功能。一般而言,在输入左括号 `(`、左中括号 `[` 或者左大括号 `{` 之后,IDE会自动添加对应的右括号。以Visual Studio为例,当输入 `(` 时,它会立即添加 `)`,并且光标会位于两个括号之间,方便继续输入内容。 ### 文本编辑器插件 部分文本编辑器,例如Sublime Text、VS Code等,能够通过安装插件来实现自动补齐括号的功能。以VS Code为例,其内置了自动括号补全功能,同时也可以安装相关插件来进一步增强该功能。在VS Code中,默认情况下输入左括号就会自动补全右括号。若要安装额外插件,可以在扩展商店搜索“Auto Close Tag”等类似插件并进行安装。 ### 自己编写代码实现 若需要在特定程序里实现自动补齐括号的功能,可以借助栈数据结构来达成。以下是一个简单的示例代码: ```cpp #include <iostream> #include <stack> #include <string> std::string autoCompleteParentheses(const std::string& input) { std::stack<char> parenthesesStack; std::string result = input; for (char c : input) { if (c == '(' || c == '[' || c == '{') { parenthesesStack.push(c); } else if (c == ')' || c == ']' || c == '}') { if (!parenthesesStack.empty()) { char top = parenthesesStack.top(); if ((top == '(' && c == ')') || (top == '[' && c == ']') || (top == '{' && c == '}')) { parenthesesStack.pop(); } } } } while (!parenthesesStack.empty()) { char top = parenthesesStack.top(); if (top == '(') { result += ')'; } else if (top == '[') { result += ']'; } else if (top == '{') { result += '}'; } parenthesesStack.pop(); } return result; } int main() { std::string input = "{[("; std::string output = autoCompleteParentheses(input); std::cout << "Original input: " << input << std::endl; std::cout << "Auto-completed: " << output << std::endl; return 0; } ``` 在这个示例中,`autoCompleteParentheses` 函数接收一个字符串作为输入,利用栈来记录未匹配的左括号。在遍历输入字符串时,遇到左括号就将其压入栈中,遇到右括号则检查栈顶元素是否匹配,若匹配则将栈顶元素弹出。遍历结束后,若栈中还有未匹配的左括号,就添加对应的右括号到结果字符串末尾。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值