事业单位网站建设算固定资产吗,如何建设自己的企业网站,自适应网站有哪些,做网站 淘宝GMT(Generic Mappint Tools)是地学界应用非常广泛的一款绘图兼数据处理的开源软件。其开发团队也是非常活跃#xff0c;此软件还在不断的发展和更新中#xff0c;变得越来越强大。目前已经有164个模块#xff0c;而每一个模块又有很多命令参数。因为gmt是命令行软件#xf…GMT(Generic Mappint Tools)是地学界应用非常广泛的一款绘图兼数据处理的开源软件。其开发团队也是非常活跃此软件还在不断的发展和更新中变得越来越强大。目前已经有164个模块而每一个模块又有很多命令参数。因为gmt是命令行软件没有GUI界面所以用户必须记住或知道怎么从官方文档中查询这些参数并知道如何使用它。说起来容易做起来难如此大量的命令及参数就连作者这样的深度用户都无法记住也需要常常去访问文档查找命令和参数。这是gmt用户面临的一大难题也是初学者望而生畏的原因。 本文将介绍作者自己开发的一款VScode(Visual Studio Code) 插件不仅可以提升gmt脚本文件的颜值而且还具有强大的代码自动补全功能和智能提示功能再也不用担心-J后面跟啥参数这样的问题了GMT的工作方式GMT其实是由一系列的命令行程序组成的每一个模块(比如 pscoast)就是一个单独的程序。而要完成一张图的绘制直接在终端一个一个敲命令肯定不现实效率太低。一般可取的处理方式就是将一系列命令写在一个脚本文件中windows系统中就是大家熟悉的批处理文件通常以 .bat 为后缀名而Mac系统和Linux系统中是bash脚本文件通常以 .sh 为后缀名。 这样用脚本文件的方式处理对代码的二次利用有很大的益处。比如下面这样一段GMT的命令,gmt begin ex22gmt set FONT_ANNOT_PRIMARY 10p FONT_TITLE 18p FORMAT_GEO_MAP ddd:mm:ssFfilegmt which usgs_quakes_22.txt -Gngmt info $file -h1 -Fi -o2firstgmt info -h1 -f0T -i0 $file -C --TIME_UNITd -I1 -o0 --FORMAT_CLOCK_OUT-lastgmt info -h1 -f0T -i0 $file -C --TIME_UNITd -I1 -o1 --FORMAT_CLOCK_OUT-meGMT guru GMTboxgmt makecpt -Cred,green,blue -T0,100,300,10000 -Ngmt coast -Rg -JK180/9i -B45g30 -BtWorld-wide earthquake activity -Gburlywood -Slightblue -A1000 -Y2.75igmt plot -C -Sci -Wfaint -hi1 -i2,1,3,4s0.015 $filegmt legend -DJBCo0/0.4iw7i/1.7i -Fpglightyellow neis.legend
gmt end show
可以绘制一张如下图所示的全球的地震分布的图还是非常美观的。这个例子来源于GMT的官方例子:example-22 .这个例子是最新版的gmt的语法使用了所谓的modern模式比之前的版本在使用上精简了很多功能也更强大了。GMT脚本编辑器 : VScode既然我们要用脚本文件的方式来编辑和运行GMT命令集那么准备一个强大且美观的代码编辑器是必须的工欲善其事必先利其器嘛这种神器有没有呢答案是肯定的而且还不止一种选择比如常用的 VScode, sublime, atom ,这三款都是跨平台的而且其用户也都非常多都有自己的一部分铁粉。当然了很多大神看到了可能就不服气了说为啥不提我 vim 这个是很强大但是本人就是不喜欢用。除此之外还有windows下的 notePad 这个似乎没有Mac版本。当年还在用win系统的时候用过一段时间还凑合不过放弃它已经很久了。工具这么多萝卜青菜各有所爱本人最喜欢VScode。这是个跨平台的也就是你所有的使用习惯和软件配置以及插件换了系统照样使用完全不影响。VScode的用户社区越来越庞大很多大神们也贡献了各种各样的插件使得VScode相当的好用虽然像C, python, java script这样的编程语言已经有了太多太多好用的插件但是GMT至今还没有人贡献GMT的插件包括代码高亮。虽然GMT算不上编程语言但是其命令之多参数之复杂在某种程度上也可以算成一种脚本语言了。由于没有GMT插件导致在使用的时候很难忍受它的颜值那就来自己开发一个插件。下面我就来介绍这个插件vscode-GMTvscode-GMT功能代码高亮这个是基本款只有代码高亮功能。目前是v0.0.2版本可以高亮显示的内容有gmt : gmt 这个词gmt的所有模块名称: 比如 pscoastgmt的所有模块的参数名称比如 -J, -G 等gmt的所有配置参数比如 MAP_GRID_CROSS_SIZE_PRIMARYgmt内置的所有颜色名称比如 lightbluegmt的所有投影参数比如 -JM, -JX一些其他的bash类语法比如数字变量等比如上面绘图的这段代码如果没有使用vscode-GMT插件其显示效果如下图所示的素颜代码有人会问了gmt的脚本文件就是bash文件呀vscode已经有了bash的代码高亮插件了为啥还是没有高亮因为vscode的bash代码高亮的插件只是针对一小部分的bash语法和关键词进行高亮的其效果非常有限正如上图所示。大量的gmt命令它是识别不了的想想这也是不可能的事儿。使用了vscode-GMT插件之后的美颜效果如下图所示颜色主题这个代码高亮效果可以随着VScode的颜色主题的改变而改变按自己喜好选择light类主题或者dark类主题。此外vscode-GMT插件还自带了两款增强版的主题OneLight-gmtOneDark-gmt一个是亮色主题一个是暗色主题自带的主题会对gmt的一些特有的语法进行增强高亮已达到更好的高亮效果。这两者的高亮效果分别如下图所示。安装vscode-GMT的安装非常简单跟vscode的常规插件安装方法相同可以在线安装。因为我已经将此插件发布到了vscode Marketplace上了见下图。可以直接在vscode上联网安装在插件管理器中输入 gmt 就可以搜到我的插件了然后点击安装即可生效见下图。切换专属增强型主题的方法与正常切换主题的方法一样只需要在主题搜索栏中输入gmt就可以过滤出来 OneLight-gmt 和 OneDark-gmt 这两个专属主题。操作流程为 ctrlp - 输入color theme - 点击第一个 - 输入gmt 即可看到这两个主题名字点击即可。 第二种方法更简单在插件管理器中搜索gmt就可以找到已经安装了的gmt插件点击就可以看到右边窗口中logo旁边有一个 Set Color Theme 按钮然后就会弹出这两个主题选择点击其中一个即可生效。vscode-GMT Pro上面介绍的这个vscode-GMT是基本款而vscode-GMT-Pro具有更强大的功能具体如下。功能语法高亮代码高亮功能与vscode-GMT插件完全相同。代码自动补全目前版本的代码补全功能包括以下几项gmt模块名称 输入gmt然后按空格就会提示所有的gmt模块命令和相应的解释说明可以按上下键进行选择选中后按Tab键就可以自动补全命令。gmt模块的参数当输入 gmt 然后选择某个模块命令之后只要按下 - 键就可以自动提示所有的与此模块有关的参数和解释这个是非常实用的功能。同样可以按Tab键进行补全。-J参数后面的投影方式 当输入 -J 后会自动弹出提示可选的投影方式同样用上下键选择可以看到每个投影方式的解释然后用Tab键生效补全。-G和-S参数后面的颜色与-J参数的自动补全类似只不过这两个参数后面跟的是可选的颜色名称。所有的gmt内置变量 比如当你输入 map 就会自动提示所有与map相关的内置变量支持模糊输入这对于没有准确记住内置变量名称的情况非常有帮助。大大提升了效率。代码智能提示快捷键上面的代码提示功能是键盘输入驱动的比如当你输入 - 的时候回驱动参数自动补全功能。但是如果你输入 - 之后失去了鼠标焦点或者将一个参数删除到了 - 的时候这种情况下是不会自动驱动代码补全功能的。但是可以用快捷键进行强制启动智能提示功能快捷键为 ctrlD 或者Mac系统下的 cmdD 组合键盘。鼠标悬停提示鼠标悬停提示功能就是当你鼠标放在一个命令或者参数上的时候会自动提示这个命令或者参数的相关解释。此功能已经实现但是需要花时间补充相关的解释文档会很快跟大家见面的。注意鼠标悬停提示只针对gmt的命令区域有效不在其他地方出现就如下面的动图中演示的那样。安装由于Pro版插件的开发耗费了大量的时间和精力所以没有免费版。或许众筹是个思路需要的可以访问此链接获取安装包下载口令SciByte公众号里面回复此口令就可以得到安装包下载地址。 下载完成后按下图的方式安装即可也是非常容易的。