![33e61fd1d2209c12a420aae3e3cacbd5.png](https://img-blog.csdnimg.cn/img_convert/33e61fd1d2209c12a420aae3e3cacbd5.png)
无论你是什么原因需要使用
- 神圣的Vim/Emacs
- VScode/Sublime
- Texstudio
- 其他
为什么我说texstudio是最好的tex编辑器?因为它简单,当你去用vscode,你要面临一对CSDN和博客圆互抄还说着行内黑话的人跟你说着复杂的配置,你真有心情去弄嘛?
当你看了某1700页小哥,你真的会去学VIM吗?还是别吧,如果你只是想编辑一下LaTeX,那么texsutdio绝对够你用了,至于我为什么这么说,理由如下.
可以自定义配色
好用不好用是可以解决的是,漂不漂亮是一辈的事,texstudio支持你自定义配色方案,可以上网搜到,直接复制粘贴用上sublime同款.
可以自定义快捷键(宏)
这是最重要的一部分,当我说起快捷键,你可能想到的是按Ctrl+B输入粗体,然而快捷键不仅是这样,texstudio也可以做到和vim一样丰富的补全,下面上实例.
![a109bb7b8fc8470adac78cd32effe28a.png](https://img-blog.csdnimg.cn/img_convert/a109bb7b8fc8470adac78cd32effe28a.png)
在顶部工具栏,宏(macros)-自定义中可以找到此面板
- 名称:它的名字
- 描述:怕自己忘了随便写一点
- 缩写:按下反斜杠的内容,比如缩写 lim ,在编辑时输入lim就会找到自定义的代码片段
- 触发器:这是一个正则表达式,可以去网上搜,也可以通过下面的实例领悟
- 快捷键:实体按键,比如上述的Ctrl+B
- 类型:下面说
- LaTeX代码:通过快捷方式希望出现的代码片段
我设置了这些自定义宏,因为我没有用快捷键,我下面说的都是触发器中的内容
触发器:`l
代码片段:lambda
输出:
触发器:`a `b `g `e `d ``d
代码片段:alpha beta gamma varepsilon delta Delta
这样打字的时候按`a就可以输出
上述例子类似的还有
触发器:cz(存在的首字母)
代码片段exists
触发器:ryi
代码片段:forall
触发器:wuq
代码片段:infty
触发器:intt
代码片段:int_{%<从...%>}^{%<到...%>} %<f(x)%> mathrm{d}x%< %>
解释一下,texstudio中用%<%>来代指光标的位置,你可以在%<这里%>输入提示词,当按下intt时,屏幕上就会出现
int_{text{从...}}^{text{到...}} f(x) mathrm{d}x
按ctrl+right键在%<%>出跳动,比如输入 intt a b,就会输出
这里f(x)也是预留的,当跳转到f(x)时不输入直接按ctrl+right,就会保留预置的内容.
这里的ctrl+right也可以在设置-快捷键-键盘映射中改为Tab,然后把缩进改成另一个,我把缩进改成了ctrl+
用%|也可以代指光标,只是这个不能跳转
上述例子同样的还有
触发器:=-=
代码片段:sum_{%<i=1%>}^{%<n%>}
触发器:lim
代码片段:lim_{%<i to infty%>}
触发器:ii(inline的意思)
代码片段$ %| $
触发器:oo(outline)
代码片段:
[
%|
]
触发器:cu
代码片段:textbf{%|}
剩下的留待读者自己挖掘,自己觉得什么顺手就用什么
下面介绍最最最牛逼的部分,脚本.我在百度上几乎搜不到什么东西,翻墙去谷歌倒是收获了很多实例,懂了一部分,更多的语法涉及到Javascript,我不准备学了,毕竟为了用vim我还特地买了个树梅派涌起了linux.
用脚本,需要在类型中选择脚本.第一行出现%SCRIPT
再之后输入
触发器:([0-9]+)r
代码片段:
%SCRIPT
var up=triggerMatches[1]
editor.write("^{"+up+"}");
解释一下,触发器中用到了正则表达式,r是回车的意思(return)半个小时就学得差不多了,b站有,你可以换成更复杂的
([imn]?[-+]?[0-9]+)r
下面的triggerMatches是和触发器匹配时执行脚本,在输入内容的左边加上^{ 在右边加上}
这样我输入a0按回车,就会出来a^{0},输入ai回车就是a^{i}
你可能会问:那下标怎么办呢?
可以在触发器中输入
([imn]?[-+]?[0-9]+)
咋一看是把r去掉了,实际上是打了一个空格,看不到罢了,这样输入a0再按一下空格,就有a_{0}
这样做是因为回车在键盘上面,空格在键盘的下面,这些都是偷懒的思想.
说道空格,我要提一句,在替换infty这种的时候,最好在代码片段的infty后面也加上一个空格,否则当infty出来后在输入英文字母会和infty融合在一起,如果你不按空格的话.也就是我wuq后出来infty,我在输入a>0,就会变成inftya>0,这样无疑会报错!
上述例子的类似:
触发器:[一-龥]+
这是代指所有中文
代码片段:
%SCRIPT
var hanzi=triggerMatches[1]
editor.write("text{"+hanzi+"}");
把反斜杠转义,能够输出text{汉字},这样在数学环境中就可以不用跳出去,直接在里面打汉字了.
其他的
触发器:()r
代码片段:left( %| right)
触发器:{}r
代码片段:leftlbrace %| rightbrace
触发器:|r
代码片段:left| %| right| 绝对值
有问题欢迎交流,可以知糊私信,或者qq1164299245