代码与语法高亮
English: English · Markdown语法 · 数学公式与图表
技术笔记好不好读,常常取决于代码是否清楚。Inimark 支持 行内代码、围栏代码块,以及由 CodeMirror 语言包驱动的 语法高亮(配色来自 主题与外观)。
在 Inimark 里打开本页,即可直接看到高亮效果。若语言标签不被识别,仍会显示等宽代码块,只是没有着色。发布站点也会在构建时用同一套语言包生成高亮(无需浏览器再跑一遍高亮脚本)。
行内代码
用反引号包住短片段:
C++ 里常用 std::vector,Rust 里常见 Path。渲染效果:C++ 里常用 std::vector,Rust 里常见 Path。
行内代码快捷键:Ctrl/⌘ + Shift + `(见 查找替换与快捷键)。
适合:API 名、文件名、命令行参数、不宜做成整块的短标记。
围栏代码块
怎么插入
快捷键:
Alt + Ctrl/⌘ + C插入代码块。或在 源码模式 里手写围栏:
python
print("hello")
在起始围栏写上 语言标签(
python、cpp、rust…),用来选择高亮。
光标进入代码块时,右下角会出现语言输入框;其左侧有两个按钮:
自动缩进:按当前语言规则重排整块缩进(缩进宽度在 设置 → 编辑器 → 代码缩进宽度,默认 2 空格)
复制:把代码块内容写入剪贴板
从浏览器粘贴容易带上乱七八糟的格式时,用 纯文本粘贴(
Ctrl/⌘ + Shift + V),缩进更稳。
常用语言标签
| 语言 | 常见标签 |
|---|---|
| C++ | cpp、c++ |
| C | c |
| Python | python、py |
| Java | java |
| Rust | rust |
| R | r |
| Swift | swift |
| TypeScript / JavaScript | ts、typescript、js、javascript |
| Go | go |
| SQL | sql |
| JSON | json |
| Shell | bash、shell、sh |
具体别名以内置 CodeMirror 语言数据为准。标签未知时仍可读,只是没有颜色。
特殊围栏:mermaid 会渲染成图表,而不是高亮源码 → 数学公式与图表。
按语言展示
下面每段都是可复制的短示例。
C++
<iostream>
<vector>
int main() {
std::vector<int> xs{1, 2, 3};
for (int x : xs) {
std::cout << x << '\n';
}
return 0;
}Python
from dataclasses import dataclass
dataclass
class Point:
x: float
y: float
def length(p: Point) -> float:
return (p.x ** 2 + p.y ** 2) ** 0.5
print(length(Point(3, 4)))Java
import java.util.List;
public final class Greeter {
public static String join(List<String> parts) {
return String.join(" · ", parts);
}
public static void main(String[] args) {
System.out.println(join(List.of("Inimark", "Java")));
}
}Rust
fn factorial(n: u64) -> u64 {
(1..=n).product()
}
fn main() {
let n = 6;
println!("{n}! = {}", factorial(n));
}R
mean_sd <- function(x) {
c(mean = mean(x), sd = sd(x))
}
xs <- c(1.2, 3.4, 5.6, 7.8)
print(mean_sd(xs))Swift
struct User {
let id: Int
var name: String
}
func greet(_ user: User) -> String {
"Hello, \(user.name) (#\(user.id))"
}
let alice = User(id: 1, name: "Alice")
print(greet(alice))TypeScript
type Note = { path: string; title: string };
export function displayTitle(note: Note): string {
return note.title.trim() || note.path;
}Go
package main
import "fmt"
func sum(xs []int) int {
total := 0
for _, x := range xs {
total += x
}
return total
}
func main() {
fmt.Println(sum([]int{1, 2, 3}))
}SQL
SELECT title, updated_at
FROM notes
WHERE library_id = $1
ORDER BY updated_at DESC
LIMIT 20;JSON
{
"siteName": "Inimark Docs",
"defaultTheme": "light",
"out": "dist"
}Shell
pnpm docs:build
pnpm test:editor编辑习惯
| 目标 | 做法 |
|---|---|
| 快速插入 | Alt + Ctrl/⌘ + C |
| 改语言标签 | 在所见即所得里点语言框,或到源码模式改 |
| 自动缩进 | 点语言框左侧的「自动缩进」按钮(宽度见设置) |
| 复制代码 | 点语言框左侧的「复制」按钮 |
| 大段整理 | [[编辑模式#源码模式 |
| 粘贴保持干净 | 纯文本粘贴 |
| 换配色 | 主题与外观 的代码主题(含 Cursor / Rider 明暗) |
相关
语法总览:Markdown语法
图表示例:数学公式与图表
技术笔记场景:日常场景 › 技术笔记(代码、图表、API)
上一篇:Markdown语法 · 下一篇:数学公式与图表