哈利波特中的所有咒语,要中英对照的,还要有说明这个咒语是干啥用的!
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了哈利波特中的所有咒语,要中英对照的,还要有说明这个咒语是干啥用的!相关的知识,希望对你有一定的参考价值。
参考技术A 魂魄出窍Imperio——这个是夺魂咒,实用的黑魔法。钻心剜骨Crucio
阿瓦达索命Avada Kedavra——这是个好东西啊,一道绿光闪过人就挂了,应该不会很痛,不知道自杀能不能用这个……
尸骨再现Morsmordre ——黑魔标记,不说了,上好的室内外家居装饰品!
对我说话吧斯莱特林——霍格沃茨四巨头中最伟大的一个
Speak to me Slutherin Greatest of the Hogwarts Four
——这个应该是召唤蛇怪的,TOM在密室里用了这个
父亲的骨 无意中捐出 可使你的儿子再生
Bone of the father unknowingly given you will renew your son
仆人的肉 自愿捐出 可使你的主人重生
Flesh of the servan willingly given you will revive your master
仇敌的血 被迫献出 可使你的敌人复活
Blood of the enemy forcibly taken you will resurrect your foe
——死人都能复活了,我无语,不过貌似是没死干净的才能用这个复活。
统统石化Petrificus Totalus
门牙赛大棒Densaugeo——让门牙疯长的咒语,德拉科在赫敏身上用过。
火烤热辣辣Furnunculus —— 德拉科用上边那个咒的时候,哈利对德拉科用了这个,不过打到了克拉布身上。(顺便一提,我很赞那一段教授的表现)
一忘皆空Obliviate——洛哈特那个傻瓜,我不得不说,他是自做自受。
塔朗泰拉舞Tarantollegra
乌龙出洞Serpensortia——这个好象可以召唤蛇
咧嘴呼啦啦Rictusempra——那个傻瓜洛哈特教的……
软腿咒Jelly-Legs Jinx
腿立僵停死Locomotoe Mortis
瓦迪瓦西Waddiwasi
粉身碎骨Reducto
昏昏倒地Stupefy
力松劲泻Relashio
四分五裂Diffindo
障碍重重Impedimento
呼神护卫Expecto Patronum——守护神咒,对付摄魂怪的。哈利的守护神是一只银色的牡鹿,赫敏的是水獭,秋的是天鹅,唐克斯的……嗯,那是一个毛茸茸的四条腿的动物,应该是一只狼,她喜欢莱姆斯嘛。
咒立停Fubute Ubcabtaten——每次看到这个咒我总会想起泻立停=v=
快快复苏Enervate
快快禁锢Colloportus
盔甲护身Protego
阿拉霍洞开Alohomora——我觉得可以用这个去办麻瓜开锁公司=v=
幻身咒Disillusionment——疯眼汉在哈利身上用了这个咒,这个会让人具有类似变色龙一样的功能,相当于隐身。
闪回前咒Prior Incantato
羽加迪姆勒维奥萨Wingardium Leviosa——浮空咒,还记得魔法石里女厕所的那只巨怪么。
急急现形Apareciym
无声无息Quietus——你可以用它来让某个聒噪的家伙闭嘴。
XX飞来Accio——比如说,魔杖飞来,就应该说Wand Accio,注意名称是在咒语前面。
滑稽滑稽Ridikuius——用来对付博格特,这个咒本身就是滑稽的意思,发音……的确很滑稽。
速速变大Enforgio
速速缩小Reducio
摄神取念Legilimens——相信各位不会忘了西弗勒斯的大脑封闭术课吧。
荧光闪烁Lumos——实用等级五颗星!
声音洪亮Sonorus——其实就是个扩音喇叭……
悄声细语Puierus
恢复如初Reparo——好咒语,比如摔了盘子杯子什么的。
箱子移动Iocomotor trunk——这个也很实用啊,不用自己动手搬行李了。不过我觉得这个和飞来咒一样,都是说XX移动就可以了。
给我指路Poine me
收拾Pack——唐克斯用来叠袜子的咒语。
清理一新Scourgify——詹姆戏弄西弗勒斯的时候用过这个,泡泡是粉红色的,汗一个。
火焰熊熊Incendio
防水防湿Imperuious
飞来飞去Mobiliarbus——莫丽用这个让肥舌太妃糖从双胞胎的口袋里飞出来。
幻影移形Disapparation——只是个名称,不是咒语。
驱逐麻瓜咒Muggle-Repelling Charm——这个也不是咒语,一起拿过来了。
左右分离Dissendium——瞎眼巫师雕像后的密道用这个咒打开。
兰花盛开Orchideous——让魔杖开出兰花的咒语,不知道用这个来干什么,难道只是为了检验魔杖……?
飞鸟群群Avis——变出一群鸽子。
四分五裂 Diffindo——我不知道这个和粉身碎骨有什么区别呃。
倒挂金钟 Levicorpus——这个要用无声的才有效 。
金钟落地 Liberacorpus——同上边,无声。
闭耳塞听 Muffliato
愈合如初 Epliskey
万弹齐发 Oppugno——赫敏用这个咒让她变出的一群黄色小鸟去攻击罗恩。
神锋无影 Sectumsepra——西弗勒斯的发明,恶了点……不过我其实挺喜欢德拉科中这个咒的那一段,特别是西弗勒斯那个唱歌一样治疗咒语。
清水如泉 Aguamenti——个人认为是最不可思议的咒语,原因以后说明。
统统石化 Petrificus totalus
除你武器 Expelliarmus
粉身碎骨 Reducto
昏昏倒地 Stupefy
障碍重重 Impedimenta
速速禁锢 Incarcerous
幻影移形 Apparate 让自己在瞬间移动到别的地方
阿拉霍洞开 Alobomora 打开某东西
蝙蝠精魔咒 Bat-Bogey Hexes 倒地
塔朗泰拉舞 Colloportus 使对手疯狂地跳起踢踏舞
眼急咒 Conjunctivtus Curse 损害视力
消隐无踪 Deletrius 使东西消失
门牙赛大棒 Densaugeo 使门牙失去控制地疯长
四分五裂 Diffindo 使东西撕裂或分开
左右分离 Dissendium 使东西打开
快快苏醒 Enervate 使东西变得有生气
消隐无踪 Evanesco 使某物体立刻不见踪影
呼神护卫 Expecto Patronum 变出一个守护神
除你武器 Expelliarmus 使对手解除武装
赤胆忠心魔咒 Fidelius Charm 将一桩秘密告诉另一个可信赖的人
咒立停 Finite Incantatem 结束其他咒语
障碍重重 Impedimenta 阻止某人或某物
火焰熊熊 Incendio 用飞路粉从壁炉到壁炉的旅行时使用
摄魂取念 Legilimens 进入别人大脑
荧光闪烁 Lumos 使魔杖发出亮光
一忘皆空 Obliviate 使人忘却
统统石化 Petrificus Totalus 使人无法动弹
盔甲护身 Protegos 可使自己不受侵害
快快禁锢 Protego 立刻锁上门且静音
永久粘贴咒 Permanent Sticking 把某东西永远粘在某个地方
闪回前咒 prior Incantate 再现魔杖施的前一个魔咒
咧嘴呼啦啦 Rictusempra 挠人痒痒
滑稽滑稽 Riddikulus 使某种东西变得荒唐可笑
粉身碎骨 Reducto 使对手粉身碎骨
修复如初 Reparo 把东西修好
无声无息 Sliencio 使自己做事没有声音
昏昏倒地 Stupefy 使对手立刻昏倒
清理一新 Scourgify 把某个地方清理干净
羽加迪姆 勒维奥萨 Wingardium Leviosa 使东西飞起来
钻心咒 Crucio 能给人带来极度痛苦
夺魂咒 Imperio 使受害者完全受巫师控制
阿瓦达索命咒 Avada Kedavra 置一个人于死地
IntelliJ IDEA 快捷键说明大全(中英对照带图示详解)
IntelliJ IDEA 快捷键说明大全(中英对照、带图示详解)
因为觉得网络上的 idea 快捷键不够详尽,所以特别编写了此篇文章,方便大家使用 idea O(∩_∩)O~
其中的英文说明来自于 idea 的官网资料,中文说明主要来自于自己的领会和理解,英文说明只是作为参考。重要的快捷键会附带图示,进行详细的说明。
每一部分会先列出所有的快捷键说明表,如果有不清楚的地方,再看后续的图示详解。
1 编辑【Editing】
快捷键 | 英文说明 | 中文说明 |
---|---|---|
Ctrl + Space | Basic code completion (the name of any class, method or variable) | 补全代码,由于经常与操作系统的输入法的切换冲突,所以实际很少用。一般直接在 idea 中开启输入自动补全机制。 |
Ctrl + Shift + Space | Smart code completion (filters the list of methods and variables by expected type | 在列出的可选项中只显示出你所输入的关键字最相关的信息。(常用) |
Ctrl + Shift + Enter | Complete statement | 代码补全后,自动在代码末尾添加分号结束符 |
Ctrl + P | Parameter info (within method call arguments) | 在某个方法中,调用该按键后,会展示出这个方法的调用参数列表信息。 |
Ctrl + Q | Quick documentation lookup | 展示某个类或者方法的 API 说明文档 |
Ctrl + mouse | over code Brief Info | 跳进到某个类或者方法源代码中进行查看。(常用) |
Alt + Insert | Generate code… (Getters, Setters, Constructors, hashCode/equals, toString) | 自动生成某个类的 Getters, Setters, Constructors, hashCode/equals, toString 等代码。(常用) |
Ctrl + O | Override methods | 展示该类中所有覆盖或者实现的方法列表,注意这里是字母小写的 O! |
Ctrl + Alt + T | Surround with… (if..else,try..catch, for, synchronized, etc.) | 自动生成具有环绕性质的代码,比如:if..else,try..catch, for, synchronized 等等,使用前要先选择好需要环绕的代码块。(常用) |
Ctrl + / | Comment/uncomment with line comment | 对单行代码,添加或删除注释。分为两种情况:如果只是光标停留在某行,那么连续使用该快捷键,会不断注释掉下一行的代码;如果选定了某行代码(选定了某行代码一部分也算这种情况),那么连续使用该快捷键,会在添加或删除该行注释之间来回切换。(常用) |
Ctrl + Shift + / | Comment/uncomment with block comment | 对代码块,添加或删除注释。它与 Ctrl + / 的区别是,它只会在代码块的开头与结尾添加注释符号!(常用) |
Ctrl + W | Select successively increasing code blocks | 选中当前光标所在的代码块,多次触发,代码块会逐级变大。(常用) |
Ctrl + Shift + W | Decrease current selection to previous state | 是 Ctrl + W 的反向操作,多次触发,代码块会逐级变小,最小变为光标。 |
Alt + Q | Context info | 展示包含当前光标所在代码的父节点信息,比如在 java 方法中调用,就会展示方法签名信息。 |
Alt + Enter | Show intention actions and quick-fixes | 展示当前当前光标所在代码,可以变化的扩展操作 |
Ctrl + Alt + L | Reformat code | 格式化代码 (常用) |
Ctrl + Alt + O | Optimize imports | 去除没有实际用到的包,这在 java 类中特别有用。(常用) |
Ctrl + Alt + I | Auto-indent line(s) | 按照缩进的设定,自动缩进所选择的代码段。 |
Tab / Shift + Tab | Indent/unindent selected lines | 缩进或者不缩进一次所选择的代码段。(常用) |
Ctrl + X 或 Shift Delete | Cut current line or selected block to clipboard | 剪切当前代码。 (常用) |
Ctrl + C 或 Ctrl + Insert | Copy current line or selected block to clipboard | 拷贝当前代码。 (常用) |
Ctrl + V 或 Shift + Insert | Paste from clipboard | 粘贴之前剪切或拷贝的代码。(常用) |
Ctrl + Shift + V | Paste from recent buffers… | 从之前的剪切或拷贝的代码历史记录中,选择现在需要粘贴的内容。(常用) |
Ctrl + D | Duplicate current line or selected block | 复制当前选中的代码。(常用) |
Ctrl + Y | Delete line at caret | 删除当前光标所在的代码行。(常用) |
Ctrl + Shift + J | Smart line join | 把下一行的代码接续到当前的代码行。 |
Ctrl + Enter | Smart line split | 当前代码行与下一行代码之间插入一个空行,原来所在的光标不变。(常用) |
Shift + Enter | Start new line | 当前代码行与下一行代码之间插入一个空行,原来光标现在处于新加的空行上。(常用) |
Ctrl + Shift + U | Toggle case for word at caret or selected block | 所选择的内容进行大小写转换。。(常用) |
Ctrl + Shift + ]/[ |
Select till code block end/start | 从当前光标所在位置开始,一直选择到当前光标所在代码段起始或者结束位置。 |
Ctrl + Delete | Delete to word end | 删除从当前光标所在位置开始,直到这个单词的结尾的内容。 |
Ctrl + NumPad(+/-) | Expand/collapse code block | 展开或收缩代码段。 (常用) |
Ctrl + Shift + NumPad(+) | Expand all | 展开所有代码段。 |
Ctrl + Shift + NumPad(-) | Collapse all | 收缩所有代码段。 |
Ctrl + F4 | Close active editor tab | 关闭当前标签页。 |
Shift + F6 | 修改名字。(常用) |
1.1 Ctrl + Shift + Space 示例(智能补全)
使用前,用于补全的列表,默认是以输入的关键字作为前缀的:
使用后,用于补全的列表,会把与输入的关键字最相关的信息排到最前面,比如这里的 Resource 的实现类会直接过滤出来,很方便吧 O(∩_∩)O~:
1.2 Ctrl + P 示例(方法参数列表)
1.3 Ctrl + Q 示例(API 说明文档)
不大好用,字体太小了,还不如直接 [ctrl + 点击] 看源代码来的方便!
1.4 Alt + Insert 示例(自动生成与类相关的代码)
如果绑定了 Spring 框架,还能自动生成与 Spring 相关的依赖参数哦:
1.5 Ctrl + O 示例(该类中所有覆盖或者实现的方法列表)
1.6 Ctrl + Alt + T 示例(生成具有环绕性质的代码)
再强调一遍,使用前要先选择好需要环绕的代码块!没有选择代码块,还做环绕干嘛呢 O(∩_∩)O~
在右边的 Surround with 列表,就是目前支持的自动代码环绕功能,可以直接通过列表最左边的快捷键选择,是不是很方便呀 O(∩_∩)O~
它还支持自定义的代码模板(Live templates)呢,很强大吧。
1.7 Ctrl + Shift + V 示例(剪切或拷贝的代码历史记录中,选择粘贴的内容)
这是一个很酷的功能 O(∩_∩)O~,它会把之前剪切或拷贝的代码历史记录(最近 5 条)展示出来,让你来选择哦。可惜的是,列表选项如果是中文会乱码,还好内容可以正常显示:
2 查找或替换【Search/Replace】
快捷键 | 英文说明 | 中文说明 |
---|---|---|
Ctrl + F | Find | 在当前标签页中进行查找,还支持正则表达式哦。(常用) |
F3 | Find next | 如果找到了多个查找结果,每调用一次就会跳到下一个结果,很方便哦。 |
Shift + F3 | Find previous | 是 F3 的反向操作,即每调用一次就会跳到上一个结果。 |
Ctrl + R | Replace | 在当前标签页中进行替换操作。(常用) |
Ctrl + Shift + F | Find in path | 通过路径查找。(常用) |
Ctrl + Shift + R | Replace in path | 通过路径替换。(常用) |
2.1 Ctrl + F (查找)
触发后,会打开一个查找面板:
具体含义如下:
图示 | 说明 |
---|---|
向上箭头 | 就是 快捷键【Shift + F3】,每调用一次就会跳到上一个结果。 |
向下箭头 | 就是 快捷键【F3】,每调用一次就会跳到下一个结果。 |
加号符号 | 把当前的高亮项加入到选中的列表中。 |
减号符号 | 把当前的高亮项从选中的列表中移除。 |
勾选符号 | 把所有的查找结果同时选中,这很适合批量操作。 |
文本内的向上箭头 | 打开查询结果列表面板。 |
两个框加一个向下箭头 | 更多选项。 |
Match Case | 是否大小写敏感。 |
Regex | 正则表达式。 |
Words | 匹配单词。 |
x matches | x 表示的是找到的记录数。 |
勾选符号选中效果:
点击文本内的向上箭头,打开后的查询结果列表面板:
两个框加一个向下箭头,会变成一个大文本输入框,而且还多出一个查看搜索历史的按钮:
2.2 Ctrl + Shift + F (通过路径查找)
3 查看使用情况【Usage Search】
主要是查看当前光标所在内容使用情况。
快捷键 | 英文说明 | 中文说明 |
---|---|---|
Alt + F7 | Find usages | 在当前项目中的使用情况,会打开一个使用情况面板。 |
Ctrl + F7 | Find usages in file | 在当前文件中的使用情况,找的内容会低亮显示。 |
Ctrl + Shift + F7 | 在当前文件中的使用情况,找的内容会高亮显示。 | |
Ctrl + Alt + F7 | Show usages | 打开使用情况列表。 (常用) |
3.1 Ctrl + Alt + F7(打开使用情况列表)
4 编译与运行【Compile and Run】
快捷键 | 英文说明 | 中文说明 |
---|---|---|
Ctrl + F9 | Make project (compile modifed and dependent) | 编译项目(如果之前有编译过,那么只会编译那些修改的类或者依赖的包)。 |
Ctrl + Shift + F9 | Compile selected file, package or module | 编译所中的范围(如果在某个类中,那么只会编译当前类)。 |
Alt + Shift + F10 | Select configuration and run | 会打开一个已经配置的运行列表,让你选择一个后,再运行。 |
Alt + Shift + F9 | Select configuration and debug | 会打开一个已经配置的运行列表,让你选择一个后,再以调试模式运行。 |
Shift + F10 | Run | 立即运行当前配置的运行实例,这个在单元测试中特别好用。 (常用) |
Shift + F9 | Debug | 立即以编译模式运行当前配置的运行实例。 |
Ctrl + Shift + F10 | Run context configuration from editor | 按照编辑器绑定的文件类型,运行相关的程序。比如一个 html 页面,调用后,会直接打开一个浏览器。 |
4.1 Alt + Shift + F10(打开运行列表,选择一个运行)
5 调试【Debugging】
快捷键 | 英文说明 | 中文说明 |
---|---|---|
F8 | Step over | 跳到当前代码下一行。 (常用) |
F7 | Step into | 跳入到调用的方法内部代码。 (常用) |
Shift + F7 | Smart step into | 会打开一个面板,让你选择具体要跳入的类方法,这个在复杂的嵌套代码中特别有用。 |
Shift + F8 | Step out | 跳出当前的类,到上一级。 (常用) |
Alt + F9 | Run to cursor | 让代码运行到当前光标所在处,非常棒的功能。 (常用) |
Alt + F8 | Evaluate expression | 打开一个表达式面板,然后进行进一步的计算。 |
F9 | Resume program | 结束当前断点的本轮调试(因为有可能代码会被调用多次,所以调用后只会结束当前的这一次);如果有下一个断点会跳到下一个断点中。(常用) |
Ctrl + F8 | Toggle breakpoint | 在当前光标处,添加或者删除断点。 |
Ctrl + Shift + F8 | View breakpoints | 打开当前断点的面板,可以进行条件过滤哦。 |
5.1 Shift + F7(选择具体要跳入的类方法)
5.2 Alt + F8 (计算表达式)
注意:要在当前断点之前的代码中,选择某一个变量运行才有效,因为只有代码运行过了,才会有值的呀 O(∩_∩)O~
5.3 Ctrl + Shift + F8 (当前断点的面板)
6 导航【Navigation】
快捷键 | 英文说明 | 中文说明 |
---|---|---|
Ctrl + N | Go to class | 打开类查询框。(常用) |
Ctrl + Shift + N | Go to file | 打开文件查询框。(常用) |
Ctrl + Alt + Shift + N | Go to symbol | 打开文本查询框。 |
Alt + 右箭头/左箭头 | Go to next/previous editor tab | 跳到下一个/上一个编辑器标签。 |
F12 | Go back to previous tool window | 如果当前在编辑窗口,触发后,会跳到之前操作过的工具栏上。 |
ESC | Go to editor (from tool window) | 从工具栏上,再跳回原来的编辑窗口,一般与 F12 配合使用。 |
Shift + ESC | Hide active or last active window | 隐藏最后一个处于活跃状态的工具窗口。 |
Ctrl + Shift + F4 | Close active run/messages/find/… tab | 同时关闭处于活动状态的某些工具栏窗口。 |
Ctrl + G | Go to line | 跳转至某一行代码。。(常用) |
Ctrl + E | Recent files popup | 打开曾经操作过的文件历史列表。 |
Ctrl + Alt + 右箭头/左箭头 | Navigate back/forward | 在曾经浏览过的代码行中来回跳 |
Ctrl + Shift + Backspace | Navigate to last edit location | 跳转到最近的编辑位置(如果曾经编辑过代码)。 |
Alt + F1 | Select current file or symbol in any view | 打开一个类型列表,选择后会导航到当前文件或者内容的具体与类型相关的面板中。 |
Ctrl + B 或 Ctrl + 鼠标左键 | Go to declaration | 如果是类,那么会跳转到当前光标所在的类定义或者接口;如果是变量,会打开一个变量被引用的列表。(常用) |
Ctrl + Alt + B | Go to implementation(s) | 跳转到实现类,而不是接口。(常用) |
Ctrl + Shift + I | Open quick definition lookup | 打开一个面板,里面包含类代码。 |
Ctrl + Shift + B | Go to type declaration | 打开变量的类型所对应的类代码,只对变量有用。 |
Ctrl + U | Go to super-method/super-class | 打开方法的超类方法或者类的超类,只对有超类的方法或者类有效。 |
Alt + 上/下箭头 | Go to previous/next method | 在某个类中,跳到上一个/下一个方法的签名上。 |
Ctrl + ]/[ |
Move to code block end/start | 移动光标到类定义的终止右大括号或者起始左大括号。 |
Ctrl + F12 | File structure popup | 打开类的结构列表。(常用) |
Ctrl + H | Type hierarchy | 打开类的继承关系列表。(常用) |
Ctrl + Shift + H | Method hierarchy | 打开某个类方法的继承关系列表。 |
Ctrl + Alt + H | Call hierarchy | 打开所有类的方法列表,这些方法都调用了当前光标所处的某个类方法。(常用) |
F2/Shift + F2 | Next/previous highlighted error | 在编译错误的代码行中来回跳。 |
F4 | Edit source | 打开当前光标所在处的方法或类源码。 |
Alt + Home | Show navigation bar | 激活包路径的导航栏。 |
F11 | Toggle bookmark | 把光标所处的代码行添加为书签或者从书签中删除。(常用) |
Ctrl + F11 | Toggle bookmark with mnemonic | 把光标所处的代码行添加为带快捷键的书签或者从快捷键书签中删除。 |
Ctrl + [0-9] | Go to numbered bookmark | 跳转到之前定义的快捷键书签。 |
Shift + F11 | Show bookmarks | 打开书签列表。(常用) |
6.1 Ctrl + N (打开类查询框)
键入类名的关键字,会自动出现相关的类哦,右侧还有一个勾选项,能够把引用的 jar 包中的类也加进来,很强大 O(∩_∩)O~
6.2 Ctrl + Alt + 右箭头/左箭头(在曾经浏览过的代码行中来回跳)
如果操作系统装的是 NVIDIA 显卡驱动程序,那么触发这个热键,会把旋转显示内容,而不是触发 idea 的功能,因为 idea 热键被 NVIDIA 显卡驱动给劫持咯。
解决方法是禁用 NVIDIA 显卡驱动所有快捷键,:
1、控制面板-》显示-》屏幕分辨率:
2、点击【高级设置】-》核芯显卡控制面板:
3、图形属性-》选项与支持-》禁用所有快捷键(这些快捷键几乎没有什么用处!)
6.3 Alt + F1(打开一个类型列表)
6.4 F11(添加为书签或者从书签中删除)
书签不是默认视图,所以我们要把它添加到当前视图中:View -> Tool Windows -> Favorites,打开 Favorites 面板:
Favorites 面板中的 Bookmarks 就是我们添加的书签哦:
或者直接使用 Shift + F11,打开书签列表也可以的哦 O(∩_∩)O~。
6.5 Ctrl + F11 (添加或删除带快捷键的书签)
会打开一个设置快捷键的面板,比如这里点击了 1,那么它的快捷键就是 Ctrl + 1。
注意不要选择面板提供的 26 个大写字母,因为这会与 idea 的其他快捷键冲突,不知道 idea 为什么要把它们放在这里?好奇怪 O(∩_∩)O~
以上是关于哈利波特中的所有咒语,要中英对照的,还要有说明这个咒语是干啥用的!的主要内容,如果未能解决你的问题,请参考以下文章