I do hope for world peace...|

weirdoX

园龄:2年6个月粉丝:3关注:10

Sublime Text 4 如何配置成完美的OI编辑器,优雅的打比赛

Sublime Text 完整配置

编译文件

  1. 点击新建编译系统(Tools -> Build system -> New build system)

  2. 改为以下代码:
    Ubuntu :

    {
       "encoding": "utf-8",
       "working_dir": "$file_path",
       "shell_cmd": "g++ \"$file_name\" -std=c++14 -o \"$file_base_name\"",
       "file_regex": "^(..[^:]*):([0-9]+):?([0-9]+)?:? (.*)$",
       "selector": "source.c++",
       "variants": 
       [
           {    
               "name": "Run",
               "shell_cmd": "g++ '$file' -std=c++14 -o '$file_base_name' && gnome-terminal -x bash -c \"'${file_path}/${file_base_name}';read -p '\nPress any key to continue...'\""
           }
       ]
    }
    

    Windows :

{
    "shell_cmd": "g++ \"${file}\" -o \"${file_path}/${file_base_name}\" -Wall -std=c++14 -Wextra -g",
    "file_regex": "^(..[^:]*):([0-9]+):?([0-9]+)?:? (.*)$",
    "working_dir": "${file_path}",
    "selector": "source.c, source.c++",

    "variants":
    [
        {
            "name": "Run",
            "shell_cmd" : "start cmd /c \"\"./${file_base_name}\" & pause\""
        },
        {
            "name": "RunInCommand -std=c++14",
            "shell_cmd" : "g++ \"${file}\" -o \"${file_base_name}\" -Wall -std=c++14 -Wextra -g && start cmd /c \"\"./${file_base_name}\" & echo 陈毅小贱贱:哥哥成功运行了呢~~ & pause\""
        },
        {
            "name": "RunInCommand -std=c++17",
            "shell_cmd" : "g++ \"${file}\" -o \"${file_base_name}\" -Wall -std=c++17 -Wextra -g && start cmd /c \"\"./${file_base_name}\" & echo 陈毅小贱贱:哥哥成功运行了呢~~ & pause\""
        },
        {
            "name": "Debug",
            "shell_cmd" : "start cmd /c \"gdb \"./${file_base_name}\"\""
        }
    ]
}

windows中使用 windows terminal:

{
    "shell_cmd": "g++ \"${file}\" -o \"${file_path}/${file_base_name}\" -Wall -std=c++14 -Wextra -g && exit",
    "file_regex": "^(..[^:]*):([0-9]+):?([0-9]+)?:? (.*)$",
    "working_dir": "${file_path}",
    "selector": "source.c, source.c++",

    "variants":
    [
        {
            "name": "Run",
            "shell_cmd": "wt -w 0 nt -d . cmd /c \"${file_base_name} & pause & exit\""
        },
        {
            "name": "RunInCommand -std=c++14",
            "shell_cmd": "g++ \"${file}\" -o \"${file_base_name}\" -Wall -std=c++14 -Wextra -g && wt -w 0 nt -d . cmd /c \"${file_base_name} & echo 陈毅小贱贱:哥哥成功运行了呢~~ & pause & exit\""
        },
        {
            "name": "RunInCommand -std=c++17",
            "shell_cmd": "g++ \"${file}\" -o \"${file_base_name}\" -Wall -std=c++17 -Wextra -g && wt -w 0 nt -d . cmd /c \"${file_base_name} & echo 陈毅小贱贱:哥哥成功运行了呢~~ & pause & exit\""
        },
        {
            "name": "Debug",
            "shell_cmd": "wt -w 0 nt -d . cmd /c \"gdb ${file_base_name} & pause & exit\""
        }
    ]
}

保存为 "g++.sublime-build"

  1. 最后在编译系统中选择"g++"(Tools -> Build system -> g++)

注: windows 安装 g++

从以下链接安装 MinGW(内包含g++);

点击安装 MinGW-64 提取码ctgX

解压缩,将文件内 mingw64 目录移动到 C盘。

然后复制地址:C:\mingw64\bin

将这个地址复制到环境变量中:

设置:搜索环境变量:“编 辑系统环境变量”:

选中 Path,然后点击编辑

点击新建,输入之前复制的地址:C:\mingw64\bin。点击 确定

最后一路确定回去。

然后 Ctrl+R,输入 cmd

输入 g++ -v

如果出现以下结果则配置成功。

使用Vim模式(请先了解再配置,绝大多数人不需要)

  1. 在上方的首选项里点击 " 设置(preferences->settings) "

  2. 在右侧代码栏里加入这份代码:

    "ignored_packages": [],
    //"vintage_ctrl_keys": true,
    
  3. 保存,在首选项中打开 " 快捷键设置(preferences ->key bingdings) "

  4. 改为以下代码:

    [
     { "keys": ["k", "j"], "command": "exit_insert_mode",
     "context":
     [
         { "key": "setting.command_mode", "operand": false },
         { "key": "setting.is_widget", "operand": false }
     ]
     },
    ]
    

    保存,完工

大功告成!

Sublime Text 使用代码块

(Tools --> Developer --> New Snippet )

默认出现以下代码:

<snippet>
	<content><![CDATA[
Hello, ${1:this} is a ${2:snippet}.
]]></content>
	<!-- Optional: Set a tabTrigger to define how to trigger the snippet -->
	<!-- <tabTrigger>hello</tabTrigger> -->
	<!-- Optional: Set a scope to limit where the snippet will trigger -->
	<!-- <scope>source.python</scope> -->
</snippet>

然后备注一下意思:

<snippet>
	<content><![CDATA[
Hello, ${1:this} is a ${2:snippet}.//这一行替换成你需要写成模板的代码块
]]></content>
	<!-- Optional: Set a tabTrigger to define how to trigger the snippet -->
	<!-- <tabTrigger>hello</tabTrigger> --> //将两个 “<!-- -->” 删掉,这是注释符,然后将 hello 替换成你想给代码块取的名字。
	<!-- Optional: Set a scope to limit where the snippet will trigger -->
	<!-- <scope>source.python</scope> -->
</snippet>

其他的我也不知道什么意思。。

杂项:

侧边栏文件目录

Sublime 支持侧边栏预览文件目录,(View -> Side Bar --> Show Side Bar),然后右侧就会出现侧边栏,将目录文件划入即可。

一些实用的油猴插件

首先,你当然需要安装油猴,可以去 官网 安装,如果是 Chrome 浏览器,可以点击右侧的那个灰色打包按钮,下载一个 crx 文件。

然后在扩展程序里打开开发者模式,将 crx 文件导入即可。油猴插件可以从 greasyfork 内安装需要的脚本(注意开启搜索所有语言的结果,更加全)。

这里将我常用的文件打包,油猴 crx 文件也在内:

  • tampermonkey_stable.crx 这就是油猴插件本体

  • tampermonkey-backup.txt 这是一些插件的油猴备份文件,可以通过油猴面板的导入功能自动导入。里面包含以下插件

    • Atcoder Better: Atcoder 翻译美化脚本

    • CodeForces Better: CodeForces 翻译美化脚本

    • AtCoder predictor 预测分数变化脚本

      打包链接 提取码: iuMx

一些高级用法

这里不会讲的很详细,配不好基本上也不会用。。。

首先介绍一下, Sublime 的用户文件(插件,代码块等等),都在这个目录内。

通过 Sublime 窗口点击 (Preferences -> Browse Packages),自动打开文件目录。

自动获取 AtCoder/CodeForces/各OJ 题目样例

首先需要再浏览器上安装一个插件作为连接:competitive companion

这里是 打包链接

这里注意,Chrome 压缩包直接拖入即可,Edge 需要将后缀名更改为 crx 才能导入(直接改后缀)。

大概扩展程序选项,在 Custom ports 内输入 12345

然后就 OK 了。

然后我们需要在 Sublime Text 中安装两个插件。

Ctrl + shift + P

然后输入:Install Package Control,换行。

右下脚会有一个 = 在来回摆动,说明正在安装了,等待即可。

如果你没有安装成功:

可以按照官方教程
这里解读一下:
首先下载这个文件:Package Control.sublime-package
然后将它移动到 (Preferences > Browse Packages) 的上一层目录中的 Installed Packages/ 目录里。
然后重启 Sublime-text

Ctrl + Shift + P,输入 Package Control: Install Package

换行,等待。出现的窗口就可以进行安装插件了。

如果很慢并且有条件可以尝试魔法上网。

然后我们在这个窗口输入一个插件名:CppFastOlympicCoding。换行安装。

如果还是不能安装请手动安装:CppFastOlympicCoding,将目录放在 sublime 目录下即可。

然后如果是 windows 系统,需要在 (Preferences --> Package Setting --> FastOlympicCoding) 文件中

修改成以下代码:

{
	"close_sidebar": false, //注意如果你想要使用目录功能,一定加入这一行,防止推出目录。
	"tests_file_suffix": "__tests"
}

这样就行了,Ctrl + Alt + B 就可以编译运行了,可以支持保存样例、AC折叠收缩,(这个对于从 OJ 提取样例有用)。

预览图:

接下来,我们需要安装一个与浏览器中 Competitive Companion 样例文件作连接的 Sublime 本地插件:FastOlympicCodingHook打包下载链接

然后我们重启 Sublime,在文档中右键,第一行出现 Listen to Competitive companion,这个就是和网页浏览器连接的按钮。

打开一个 cpp 文件,然后右键,点击 Listen,然后浏览器打开要做的题的网页,点击右上角的这个插件,等待上方出现一条蓝条闪过,样例就保存到本地了。

然后如果觉得用鼠标右键+点击过于愚蠢,可以在 (preferences ->key bingdings) 文件中添加以下这一行:

{
	{ "keys": ["ctrl+shift+l"],"command": "fast_olympic_coding_hook"},
}

然后如果觉得用鼠标点击浏览器上的插件过于愚蠢,其实 Competitive 有快捷键,是 Ctrl+Shift+U (可以根据自己习惯更改,我改成了 Ctrl+B


最后恭喜你,获得了一个简洁、大方、免费,好用、自动化,人性的编辑器了!

祝你 rp++。

本文作者:weirdoX

本文链接:https://www.cnblogs.com/weirdoX/p/18332681

版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。

posted @   weirdoX  阅读(1136)  评论(1编辑  收藏  举报
相关博文:
阅读排行:
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· DeepSeek在M芯片Mac上本地化部署
点击右上角即可分享
微信分享提示
评论
收藏
关注
推荐
深色
回顶
收起