当前位置: 首页 > news >正文

Sublime Text 基础教程(个人总结)

Sublime Text 是一款广受欢迎的代码编辑器,以其简洁的界面和强大的功能而著称。它支持多种编程语言,具有高效的代码编辑和管理功能。本教程将详细介绍如何使用 Sublime Text,从安装到高级使用技巧,帮助你充分利用这款工具。

目录

  1. 安装和配置
  2. 基本操作
  3. 代码编辑
  4. 插件管理
  5. 自定义语法和 Snippets
  6. 使用 Git
  7. 代码编译和运行
  8. 高级技巧
  9. 常用快捷键
  10. 常见问题和解决方案

1. 安装和配置

1.1 下载和安装

  1. 下载 Sublime Text

    • 前往 Sublime Text 官方网站。
    • 根据你的操作系统(Windows、macOS 或 Linux)选择合适的版本下载。
  2. 安装 Sublime Text

    • Windows:运行下载的安装程序,按照提示完成安装。
    • macOS:将下载的 Sublime Text.app 拖到 Applications 文件夹。
    • Linux:根据系统的包管理器安装,如使用 sudo apt-get install sublime-text(Ubuntu)或 sudo dnf install sublime-text(Fedora)。

1.2 配置 Sublime Text

  1. 打开 Sublime Text
  2. 配置 Sublime Text
    • 选择 Preferences -> Settings 打开配置文件。你会看到两个窗口:左边是默认配置,右边是用户配置。
    • 在右侧的用户配置文件中添加或修改设置。

示例配置:

{"font_size": 12,"ignored_packages": ["Vintage"],"theme": "Adaptive.sublime-theme","color_scheme": "Packages/Color Scheme - Default/Monokai.sublime-color-scheme","auto_complete": true,"word_wrap": true,"tab_size": 4,"translate_tabs_to_spaces": true
}

2. 基本操作

2.1 界面介绍

  • 菜单栏:包含文件、编辑、查找、查看、工具、项目、首选项等菜单。
  • 侧边栏:显示打开的文件和项目目录。可以通过 View -> Side Bar -> Show Side Bar 显示或隐藏。
  • 编辑区:主工作区,用于编写和查看代码。
  • 状态栏:显示当前文件的编码、行列位置等信息。

2.2 打开和保存文件

  • 打开文件

    • 使用菜单 File -> Open File...,或者使用快捷键 Ctrl + O
    • 还可以拖放文件到编辑器窗口中打开。
  • 保存文件

    • 使用菜单 File -> Save,或者使用快捷键 Ctrl + S
  • 另存为

    • 使用菜单 File -> Save As...,或者使用快捷键 Ctrl + Shift + S

2.3 多标签操作

  • 新建标签:使用菜单 File -> New File 或快捷键 Ctrl + N
  • 切换标签:使用快捷键 Ctrl + Tab,或点击标签栏进行切换。
  • 关闭标签:点击标签上的关闭按钮,或使用快捷键 Ctrl + W

3. 代码编辑

3.1 代码高亮

Sublime Text 支持多种编程语言的代码高亮,可以自动识别文件类型并应用相应的高亮规则。

示例:当你打开一个 Python 文件时,Sublime Text 会自动应用 Python 语法高亮。你也可以通过右下角的语言选择器手动切换文件类型。

3.2 自动补全

Sublime Text 提供智能代码补全功能,可以根据上下文自动补全代码。输入部分关键字后,按 Tab 键可以选择建议的补全项。

示例:输入 pri,然后按 Tab,Sublime Text 会自动补全为 print

3.3 代码折叠

代码折叠功能允许你折叠不需要查看的代码块,以保持代码的简洁。点击行号左侧的三角图标可以折叠或展开代码块。

示例:在一个长函数内,可以折叠其中的部分代码,使编辑时更加简洁。

3.4 多光标编辑

按住 Ctrl 键并点击鼠标左键可以添加多个光标,同时编辑多个位置的代码。使用 Ctrl + Shift + L 可以选择多行后进行多行编辑。

示例:需要在多行代码的末尾添加相同的内容时,可以使用多光标编辑,同时在所有行末尾输入内容。

3.5 搜索和替换

  • 快速搜索:按 Ctrl + F 打开搜索框,输入关键字进行搜索。
  • 替换:按 Ctrl + H 打开替换框,输入搜索和替换的关键字。
  • 文件内搜索:按 Ctrl + Shift + F 打开全局搜索框,可以在整个项目中搜索关键字。

示例:要在整个项目中将 foo 替换为 bar,可以使用全局搜索和替换功能。

4. 插件管理

4.1 安装 Package Control

  1. 打开 Sublime Text,按 `Ctrl + `` 打开控制台。
  2. 输入以下代码并按回车安装 Package Control:
    import urllib.request,os,hashlib; h = 'a0e3e7fd12b20a8b70121a5aa4c4e42f' + '8cf1e9e1'; pf = 'Package Control.sublime-package'; ipp = sublime.installed_packages_path(); urllib.request.install_opener( urllib.request.build_opener( urllib.request.ProxyHandler())); by = urllib.request.urlopen( 'https://packagecontrol.io/' + pf.replace(' ', '%20')).read(); dh = hashlib.sha256(by).hexdigest(); print('Error validating download (got %s instead of %s), please try manual install' % (dh, h) if dh != h else open(os.path.join(ipp, pf), 'wb' ).write(by))
    

4.2 使用 Package Control 安装插件

  1. Ctrl + Shift + P 打开命令面板。
  2. 输入 Package Control: Install Package 并回车。
  3. 输入你要安装的插件名称并选择安装。

4.3 常用插件推荐

  • Emmet:提高 HTML 和 CSS 编写效率的插件。

    • 安装:使用 Package Control 安装 Emmet
    • 使用:在 HTML 或 CSS 文件中,输入简写代码后按 Tab 键自动展开。例如,输入 div>ul>li*5 后按 Tab,会生成一个包含 5 个 li 元素的 div 结构。
  • SublimeLinter:代码语法检查插件。

    • 安装:使用 Package Control 安装 SublimeLinter 和相应语言的 linter 插件(如 SublimeLinter-pylint)。
    • 使用:在编写代码时,SublimeLinter 会自动检查代码语法,并在错误处显示提示。
  • GitGutter:在编辑器中显示 Git 修改状态。

    • 安装:使用 Package Control 安装 GitGutter
    • 使用:在编辑文件时,GitGutter 会在行号旁边显示修改状态,如新增、修改或删除的行。
  • BracketHighlighter:高亮匹配的括号和标签。

    • 安装:使用 Package Control 安装 BracketHighlighter
    • 使用:在编辑代码时,BracketHighlighter 会自动高亮匹配的括号、括弧和标签,方便代码阅读和调试。

5. 自定义语法和 Snippets

5.1 自定义语法

自定义语法高亮可以帮助你更好地阅读和编写代码。你可以通过编写 .sublime-syntax 文件来自定义语法。

示例:创建一个简单的自定义语法高亮文件。

  1. Packages/User 目录下创建一个名为 example.sublime-syntax 的文件。

  2. 在文件中输入以下内容:

    %YAML 1.2
    ---
    name: Example Syntax
    file_extensions:- example
    scope: source.examplecontexts:main:- match: \b(if|else|for|while|return)\bscope: keyword.control.example- match: \b(true|false|null)\bscope: constant.language.example- match: '"'scope: punctuation.definition.string.begin.examplepush: stringstring:- meta_scope: string.quoted.double.example- match: '"'scope: punctuation.definition.string.end.examplepop: true- match: '\\.'scope: constant.character.escape.example
    
  3. 保存文件,重新启动 Sublime Text。

5.2 自定义 Snippets

Snippets 是预定义的代码模板,可以通过快捷键快速插入。你可以自定义 Snippets 来提高编码效率。

示例 Snippet

  1. 选择 Tools -> Developer -> New Snippet...

  2. 输入以下内容并保存为 html_template.sublime-snippet

    <snippet><content><![CDATA[
    <!DOCTYPE html>
    <html lang="en">
    <head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>${1:Document}</title>
    </head>
    <body>${0}
    </body>
    </html>
    ]]></content><tabTrigger>html5</tabTrigger><scope>text.html</scope>
    </snippet>
    
  3. 保存文件,重新启动 Sublime Text。

  4. 在 HTML 文件中输入 html5 并按 Tab 键,可以快速插入 HTML5 模板。

6. 使用 Git

6.1 安装 Git 插件

  1. 使用 Package Control 安装 Git 插件。
  2. 使用 Package Control 安装 GitGutter 插件。

6.2 基本 Git 操作

  • 初始化 Git 仓库

    • 打开命令面板,输入 Git: Init 并回车。
  • 提交更改

    • 打开命令面板,输入 Git: Add All 并回车,添加所有更改到暂存区。
    • 输入 Git: Commit 并回车,输入提交信息后提交更改。
  • 推送到远程仓库

    • 打开命令面板,输入 Git: Push 并回车,将本地提交推送到远程仓库。

6.3 查看 Git 状态

  • 查看文件修改状态

    • 在编辑文件时,GitGutter 会在行号旁边显示修改状态,如新增、修改或删除的行。
  • 查看提交历史

    • 打开命令面板,输入 Git: Log 并回车,可以查看提交历史。

7. 代码编译和运行

7.1 配置构建系统

Sublime Text 支持通过自定义构建系统来编译和运行代码。你可以为不同的编程语言配置不同的构建系统。

示例:配置一个简单的 Python 构建系统。

  1. 选择 Tools -> Build System -> New Build System...

  2. 输入以下内容并保存为 Python.sublime-build

    {"cmd": ["python3", "-u", "$file"],"file_regex": "^[ ]*File \"(...*?)\", line ([0-9]*)","selector": "source.python","shell": true
    }
    
  3. 保存文件,选择 Tools -> Build System -> Python

7.2 编译和运行代码

  1. 打开要编译和运行的代码文件。
  2. Ctrl + B 编译和运行代码。
  3. 结果会显示在 Sublime Text 的输出窗口中。

示例:编译和运行一个简单的 Python 程序。

print("Hello, World!")

Ctrl + B,输出窗口中会显示 Hello, World!

8. 高级技巧

8.1 快捷键自定义

  1. 选择 Preferences -> Key Bindings 进入快捷键配置文件。
  2. 在用户配置文件中添加自定义快捷键。

示例配置

[{"keys": ["ctrl+alt+n"],"command": "new_file"},{"keys": ["ctrl+alt+o"],"command": "prompt_open_file"}
]

8.2 自定义 Snippets

Snippets 是代码片段,可以通过快捷键快速插入。你可以自定义 Snippets 来提高编码效率。

示例 Snippet

  1. 选择 Tools -> Developer -> New Snippet...

  2. 输入以下内容并保存为 html_template.sublime-snippet

    <snippet><content><![CDATA[
    <!DOCTYPE html>
    <html lang="en">
    <head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>${1:Document}</title>
    </head>
    <body>${0}
    </body>
    </html>
    ]]></content><tabTrigger>html5</tabTrigger><scope>text.html</scope>
    </snippet>
    
  3. 保存文件,重新启动 Sublime Text。

  4. 在 HTML 文件中输入 html5 并按 Tab 键,可以快速插入 HTML5 模板。

8.3 项目管理

Sublime Text 支持项目管理,可以方便地管理和切换多个项目。

  • 新建项目:选择 Project -> Add Folder to Project... 添加项目文件夹,然后选择 Project -> Save Project As... 保存项目。
  • 切换项目:选择 Project -> Quick Switch Project 或使用快捷键 Ctrl + Alt + P

9. 常用快捷键

  • 文件操作

    • 新建文件:Ctrl + N
    • 打开文件:Ctrl + O
    • 保存文件:Ctrl + S
    • 另存为:Ctrl + Shift + S
    • 关闭文件:Ctrl + W
    • 切换标签:Ctrl + Tab
  • 编辑操作

    • 撤销:Ctrl + Z
    • 重做:Ctrl + Y
    • 剪切:Ctrl + X
    • 复制:Ctrl + C
    • 粘贴:Ctrl + V
    • 全选:Ctrl + A
  • 查找和替换

    • 查找:Ctrl + F
    • 替换:Ctrl + H
    • 文件内查找:Ctrl + Shift + F
  • 视图操作

    • 显示/隐藏侧边栏:Ctrl + K, Ctrl + B
    • 切换全屏:F11
    • 切换无干扰模式:Shift + F11
  • 多光标编辑

    • 添加多个光标:Ctrl + 鼠标左键
    • 选择多个行:Ctrl + Shift + L
    • 多光标选择下一个:Ctrl + D

10. 常见问题和解决方案

问题1:Sublime Text 启动慢

解决方案

  • 清理未使用的插件。
  • 检查配置文件中是否有影响性能的设置。

问题2:插件无法安装

解决方案

  • 检查网络连接是否正常。
  • 手动安装插件,将插件文件下载后放入 Installed Packages 目录。

问题3:代码高亮不正确

解决方案

  • 确认文件类型是否正确识别,可以在右下角切换文件类型。
  • 安装对应语言的插件,提升高亮支持。

通过本教程,你已经了解了如何从零基础开始使用 Sublime Text,从安装、基本操作、代码编辑到插件管理和高级技巧。希望本教程对你有所帮助!

相关文章:

Sublime Text 基础教程(个人总结)

Sublime Text 是一款广受欢迎的代码编辑器&#xff0c;以其简洁的界面和强大的功能而著称。它支持多种编程语言&#xff0c;具有高效的代码编辑和管理功能。本教程将详细介绍如何使用 Sublime Text&#xff0c;从安装到高级使用技巧&#xff0c;帮助你充分利用这款工具。 目录…...

线程安全 - 笔记

1 程序a调用c.so,程序b也调用c.so c.so加载两次吗? 在这种情况下,通常 c.so 不会被加载两次。 当一个程序调用一个共享对象文件(.so)时,操作系统的动态链接器将该共享对象映射到进程的虚拟内存空间中。后续由不同程序或者同一个程序调用相同的共享对象,都不会导致共享…...

分支机构多,如何确保文件跨域传输安全可控?

随着企业全球化发展&#xff0c;分支机构的分布越来越广泛&#xff0c;跨域文件传输需求也随之增加。然而&#xff0c;跨域文件传输面临的数据安全和传输效率问题&#xff0c;使得构建一个安全、可控的文件交换系统成为迫切需求。FileLink跨网文件交换系统通过综合的技术手段和…...

长安链使用Golang编写智能合约教程(二)

长安链2.3.0的go合约虚拟机和2.3.0以下的不兼容&#xff0c;编译的方式也有差异&#xff0c;所以在ide上做了区分。 教程三会写一些&#xff0c;其他比较常用SDK方法的解释和使用方法 教程一&#xff1a;&#xff08;长安链2.1.的版本的智能合约&#xff09; 教程三&#xff…...

jpom linux发布前端 ruoyi

前置条件 辅助安装 安装jdk curl -fsSL https://jpom.top/docs/install.sh | bash -s Server jdkonly-moduledefault 一键安装maven 后端必备 curl -fsSL https://jpom.top/docs/install.sh | bash -s Server mvnonly-moduledefault 一键安装node 前端必备 curl -fsSL http…...

K8S认证|CKA题库+答案| 15. 备份还原Etcd

目录 15、 备份还原Etcd CKA v1.29.0模拟系统 下载试用 题目&#xff1a; 开始操作: 1&#xff09;、切换集群 2&#xff09;、登录master并提权 3&#xff09;、备份Etcd现有数据 4&#xff09;、验证备份数据快照 5&#xff09;、查看节点和Pod状态 6&#xff0…...

软件架构设计属性之一:功能性属性浅析

文章目录 引言一、定义二、关键要素1. 需求满足2. 操作性3. 数据处理4. 业务流程支持5. 合规性 三、 设计原则1. 用户中心设计2. 模块化3. 抽象化4. 可扩展性5. 可维护性6. 设计原则的实施策略7. 设计原则的评估 四、实现策略1. 需求分析2. 功能分解3. 接口设计4. 技术选型5. 迭…...

学习Java的日子 Day48 函数,DOM

Day48 1.流程控制语句 if else for for-in(遍历数组时&#xff0c;跟Java是否一样) While do while break 语句用于跳出循环 continue 用于跳过循环中的一个迭代 2.函数 2.1 JavaScript 函数语法 函数就是包裹在花括号中的代码块&#xff0c;前面使用了关键词 function funct…...

Scikit-Learn朴素贝叶斯

Scikit-Learn朴素贝叶斯 1、朴素贝叶斯1.1、贝叶斯分类1.2、贝叶斯定理1.3、贝叶斯定理的推导1.4、朴素贝叶斯及原理1.5、朴素贝叶斯的优缺点2、Scikit-Learn朴素贝叶斯2.1、Sklearn中的贝叶斯分类器2.2、Scikit-Learn朴素贝叶斯API2.3、Scikit-Learn朴素贝叶斯实践(新闻分类与…...

网页设计步骤总结

第一步&#xff1a;css重置 https://blog.csdn.net/BradenHan/article/details/132122504 第二步&#xff1a;媒体查询不同尺寸加载不同的css文件https://blog.csdn.net/Yi_Lesama/article/details/131184469 <!-- link元素中的CSS媒体查询 --> <link rel"styl…...

第十三期Big Demo Day亮点项目:CCarbon重塑碳交易生态,助力全球绿色发展

第十三期Big Demo Day活动即将于2024年5月28日在香港数码港的CyberArena隆重举行。我们荣幸地宣布&#xff0c;利用区块链技术优化全球碳交易CCarbon项目将亮相&#xff0c;参与精彩的项目路演。本次活动由ZeeprLabs、BiKing Exchange、Gather冠名赞助&#xff0c;Central Rese…...

python基础知识总结(第一节)

一、python简介&#xff1a; Python是一种解释型&#xff0c;面向对象的高级语言。 Pyhton的语法和动态类型&#xff0c;以及解释性语言的本质&#xff0c;使它一跃成为多数平台上写脚本和快速开发应用的编程语言。 python语言百度百科介绍 二、Python基础语法&#xff1a;…...

DOS学习-目录与文件应用操作经典案例-comp

新书上架~&#x1f447;全国包邮奥~ python实用小工具开发教程http://pythontoolsteach.com/3 欢迎关注我&#x1f446;&#xff0c;收藏下次不迷路┗|&#xff40;O′|┛ 嗷~~ 目录 一.前言 二.使用 三.案例 案例 1: 基本比较 案例 2: 十进制显示差异 案例 3: 字符形式显…...

原神抽卡点名程序教程(直接下载用)

今天我要给大家分享一个在抖音上特别火的视频——原神抽卡点名程序教程。 废话不多说&#xff0c;直接上链接 &#xff1a;--点击下载原神抽卡程序 步骤1&#xff1a; 步骤2&am…...

gpt-4o继续迭代考场安排程序 一键生成考场清单

接上两篇gpt-4o考场安排-CSDN博客&#xff0c;考场分层次安排&#xff0c;最终exe版-CSDN博客 当然你也可以只看这一篇。 今天又添加了以下功能&#xff0c;程序见后。 1、自动分页&#xff0c;每个考场打印一页 2、添加了打印试场单页眉 3、添加了页脚 第X页&#xff0c;…...

php 设置时区

date_default_timezone_set() 设置所有日期/时间函数使用的默认时区 除了在脚本中使用此函数设置默认时区&#xff0c;还可以使用 INI 设置 date.timezone 设置默认时区。 参数 timezoneId 时区标识符&#xff0c;像 UTC、Africa/Lagos、Asia/Hong_Kong 或 Europe/Lisbon。…...

ArcGIS不同图斑设置不同的透明度

对于设置一个图层的整体的透明度&#xff0c;我们在 ArcGIS制作带蒙版的遥感影像地图http://mp.weixin.qq.com/s?__bizMzIzNjM2NTYxMg&mid2247509080&idx1&sn38dccf0a52bb3bb3758f57114ee38b72&chksme8da161bdfad9f0d363da90959a8524dcf2b60d0e8d999f8ebeef0…...

前端 CSS 经典:图片边框

前言&#xff1a;有这么一个业务&#xff0c;需要边框随着图片宽度的变化而变化&#xff0c;比如一些聊天的气泡框等。 实现原理&#xff1a;使用 border-image 属性 效果图&#xff1a; 实现代码&#xff1a; <!DOCTYPE html> <html lang"en"><he…...

异常有什么,异常类有什么

在Java中&#xff0c;异常&#xff08;Exception&#xff09;是一种在程序运行过程中出现的不正常情况。异常机制提供了一种从错误中恢复的途径。异常分为两大类&#xff1a;检查异常&#xff08;Checked Exception&#xff09;和运行时异常&#xff08;Runtime Exception&…...

如何解压忘记了密码的加密zip压缩包?这两个方法收藏好!

加密是一种保护信息不被未经授权访问的重要手段。ZIP压缩包作为一种常见的文件压缩格式&#xff0c;zip文件加密是很多人都回去做的一件事情&#xff0c;那么zip加密文件如何解密&#xff1f;有几种方法可以解密呢&#xff1f;今天介绍几种方法给大家。 一、尝试常用密码 我们…...

java中,怎样用最简单方法实现写word文档

在跨平台环境中实现写word时&#xff0c;如果用现成的库&#xff0c;就会涉及跨平台兼容性问题&#xff0c;比如在安卓与java中实现写word的功能。还有一个问题就是&#xff0c;完全用程序生成word文档&#xff0c;工作量较大。所以采用了模板替换的方法。 docx文档本质就是一…...

大语言模型的工程技巧(三)——分布式计算

相关说明 这篇文章的大部分内容参考自我的新书《解构大语言模型&#xff1a;从线性回归到通用人工智能》&#xff0c;欢迎有兴趣的读者多多支持。 本文将讨论如何利用多台机器进行神经网络的分布式训练。利用多台机器来加速大语言模型的训练&#xff0c;是其获得成功的重要原…...

AI开发初体验:昇腾加持,OrangePi AIpro 开发板

文章目录 一、前言二、板子介绍2.1 拆箱2.2 板子规格2.2.1 常规项目2.2.2 扩展项目2.2.3 操作系统 2.3 点板画面 三、AI程序初体验3.1 新奇的地方3.2 运行第一个AI程序3.2.1 硬件连接3.2.2 串口连接3.2.3 开启外部IP端口3.2.4 查询板子IP地址3.2.5 了解 juypter lab 启动脚本&a…...

微服务架构下Docker容器技术与Kubernetes(K8S)

Kubernetes、微服务和Docker容器技术的结合提供了一个强大、灵活且高效的平台&#xff0c;能够应对现代应用程序的复杂性和动态性。Kubernetes的自动化管理、服务发现、负载均衡和配置管理&#xff0c;与Docker的标准化打包和运行环境相结合&#xff0c;最大化地发挥了微服务架…...

风萧萧兮易水寒,壮士一去兮不复还 的 rm 命令

风萧萧兮易水寒&#xff0c;壮士一去兮不复还 的 rm 命令 风萧萧兮易水寒&#xff0c;壮士一去兮不复还 的 rm语法几个示例/bin/rm Argument list too long – Linux”配合find与xargs完成删除海量文件使用find的delete选项 快速删除大文件 风萧萧兮易水寒&#xff0c;壮士一去…...

How Diffusion Models Work

introduction intuition goal 让神经网络学到图像是什么样的&#xff0c;一种方式是对数据添加不同级别的噪音&#xff0c;让神经网络能够区分细节/总体轮廓 训练一个神经网络去产生精灵 sampling nn 图像恢复 论文 https://zhuanlan.zhihu.com/p/686235079...

antd table列选中效果实现

前言 开发中有一个需要呈现不同时间点各个气象要素的值需求&#xff0c;我觉得一个table可以实现这类数据的展示&#xff0c;只是因为时间点时关注的重点&#xff0c;所以需要列选中效果&#xff0c;清晰的展示时间点下的要素数据。我选择的是antd的table组件&#xff0c;这个…...

Golang实现文件复制

方法&#xff1a;三种 package zdpgo_fileimport ("errors""io""os" )// CopyFile 使用io.Copy进行文件的复制&#xff0c;同时也会复制文件的所有权限 // param src 复制文件 // param des 目标文件 // return error 错误信息 func CopyFile(s…...

探秘SpringBoot默认线程池:了解其运行原理与工作方式(@Async和ThreadPoolTaskExecutor)

文章目录 文章导图Spring封装的几种线程池SpringBoot默认线程池TaskExecutionAutoConfiguration&#xff08;SpringBoot 2.1后&#xff09;主要作用优势使用场景如果没有它 2.1版本以后如何查看参数方式一&#xff1a;通过Async注解--采用ThreadPoolTaskExecutordetermineAsync…...

kubernetes(Jenkins、kubernetes核心、K8s实战-KubeSphere、)

文章目录 1. Jenkins1.1. 概述1.1.1. 简单部署1.1.2. 自动化部署1.1.3. DevOps概述1.1.4. CI/CD概述 1.2. jenkins介绍及安装1.2.1. 安装1.2.2. 解锁jenkins1.2.3. 安装推荐插件1.2.4. 创建管理员用户1.2.5. 升级jenkins版本1.2.6. 安装额外插件blue ocean1.2.7. jenkins界面说…...