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

news/2024/11/18 1:32:39/文章来源:https://www.cnblogs.com/weirdoX/p/18332681

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++11 -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_path}/${file_base_name}\" & pause\""},{"name": "RunInCommand","shell_cmd" : "g++ \"${file}\" -o \"${file_path}/${file_base_name}\" -Wall -std=c++11 -Wextra -g && start cmd /c \"\"${file_path}/${file_base_name}\" & echo 程序运行结束 & pause\""},{"name": "Debug","shell_cmd" : "start cmd /c \"gdb \"${file_path}/${file_base_name}\"\""}]
    }
    

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

  3. 最后在编译系统中选择"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": [],
    
  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++。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/780105.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

打造个性化Typora写作体验的必备插件

该文档为 typora_plugin 的 README 文档,为了方便国内的同学阅读而转载到本博客。该文档为 typora_plugin 的 README 文档,为了方便国内的同学阅读而转载到本博客。 原文地址:https://github.com/obgnail/typora_plugin 插件地址:可以去 GitHub 上下载,也可以在我的公众号…

使用蓝奏云备份大于一百兆的压缩包——分卷,手机

开源软件地址:Flut Renamer 1.分卷 2.更名 3.上传成功。

读零信任网络:在不可信网络中构建安全系统13运行时安全

读零信任网络:在不可信网络中构建安全系统13运行时安全1. 建立分发系统的信任 1.1. 分发是选择交付给下游使用者的工件的过程,构建系统会产生许多工件,其中一部分需要交付给下游使用者 1.2. 工件发布1.2.1. 在不改变工件内容的情况下指定一个工件作为权威发布版本的操作被称…

暑假模拟15

暑假模拟15 \(T_A\) 串串 简单字符串题,考虑枚举回文中心,哈希维护,没什么思维量,但是不好调。 wang54321 有高级 manacher 做法,大家快去膜拜她。 #include<bits/stdc++.h> using namespace std; #define ll long long const int N=1e6+100; const ll mod=10000010…

Kubernetes-Argo CD

Kubernetes高级工具Argo CD https://argo-cd.readthedocs.io/en/stable/ Argo CD 是针对 Kubernetes 的声明式 GitOps 持续交付工具。 Argo CD 是一个为 Kubernetes 而生的,遵循声明式 GitOps 理念的持续部署(CD)工具。 Argo CD 可在 Git 存储库更改时自动同步和部署应用程序…

Kubernetes高级工具Argo CD

Kubernetes高级工具Argo CD https://argo-cd.readthedocs.io/en/stable/ Argo CD 是针对 Kubernetes 的声明式 GitOps 持续交付工具。 Argo CD 是一个为 Kubernetes 而生的,遵循声明式 GitOps 理念的持续部署(CD)工具。 Argo CD 可在 Git 存储库更改时自动同步和部署应用程序…

第二课DOS命令行窗口

what,why,how 从是什么,为什么,怎么做(具体实际操作)来学习把握。 场景1: (逢年过节时候) -七大姑八大姨问:超子,你现在在做什么工作啊? -我:干软件工程师。(心想说java,亲戚肯定听不懂) -七大姑八大姨又追问:那什么是软件啊?(搞得跟面试官一样) -我:就你手…

观影记录

想吃parfait,不想赤石 无职转生 ~到了异世界就拿出真本事~(Part1) - 2021.01 请务必给我一个这种手办!虽然这是件非常恐怖的事。 洛琪希是44岁的少女。想要成为影之实力者! - 2022.10 不愧是暗影大人,《蒙面泳装团》首席 I need more 抛瓦!~ I am atomic!~ 想要成为影…

全网最适合入门的面向对象编程教程:34 Python的内置数据类型-Python常用复合数据类型:元组和命名元组

元组是不可变的序列类型,可以包含不同类型的元素。命名元组是元组的子类,它允许你为元组中的位置指定名称,从而使代码更加清晰,本文主要介绍了两种元组的使用方法和应用场景。全网最适合入门的面向对象编程教程:34 Python的内置数据类型-Python常用复合数据类型:元组和命…

Luogu P5089 元素周期表 / Codeforces 1012B Chemical table 题解 [ 并查集 ] [ 二分图 ] [ 图论建模 ] [ 棋盘覆盖问题 ]

双倍经验:Luogu P5089 元素周期表 ,CF1012B Chemical table:模拟赛搬的好题,有点厉害。赛时10min码的假贪心拿了五十多分,赢。 并查集思路 1 对于此类棋盘整行整列覆盖问题,有一个通用思路:把每一行和每一列看作一个点,那么原本棋盘上的格子就可以看作是连接这些点的边…

常见的Linux分支

市面上可以接触到的Linux发行版本都是基于Linux内核和GUN协议开发出来的,当然还有一切企业内部自己开发定制的OS不在讨论范围,本随笔用于记录市面上常见的分支家族,如果对某个分支特别感兴趣可以自行深入了解

自适应PID控制器的simulink建模与仿真

1.课题概述对PID控制器参数kp,ki,kd进行参数自适应调整,实现PID控制器的最优控制,输出PID控制器,参数kp,ki,kd的收敛过程。2.系统仿真结果 kp,ki,kd的收敛过程如下:控制器输出如下:参考输入和控制器反馈输出的误差如下:3.核心程序与模型 版本:MATLAB2022a4.系统原理…