爱气象,爱气象家园! 

气象家园

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博登陆

只需一步, 快速开始

搜索
查看: 34194|回复: 83

[讨论] 让程序猿优雅的写程序,提高你的质感神器啊【更新Fortran支持了】

  [复制链接]

新浪微博达人勋

发表于 2015-1-16 18:17:44 | 显示全部楼层 |阅读模式

登录后查看更多精彩内容~

您需要 登录 才可以下载或查看,没有帐号?立即注册 新浪微博登陆

x
本帖最后由 陌小默的 于 2015-2-26 20:20 编辑
       明天又是周末了,趁着周五闲暇时刻,分享下一款程序猿利器吧。sublime text这个编辑器。接触matlab也很久了,以前都是在editor中写程序和脚本,然后执行。不可否认,matlabeditor绝对是一个利器,完美的集成方式,双向的交互式操作,都使得使用matlab写代码和调试变得异常轻松和容易。本着不折腾就不会死的态度,偶然间发现了一款轻量级的代码编写软件,sublime textvim同一同存在电脑某个角落里的,知道有一天兴起尝试了下,上手后就再也离不开了!跟大家分享一下经验。没有那款最好,各取所需吧,ST使用后给我的最大感受就是直观而不失强大,不在于你怎么使用他,而是培养你写程序的态度和心态。话不多说,步入正题。
       为啥推荐ST这个编辑器呢,网上都说可以替代Vim,Vim没用过,没有发言权。说说ST的优势吧:作为一款轻量级的脚本语言编辑器,真的是做到了优雅!ST支持但不限于 C, C++, C#, CSS, D, Erlang, HTML, Groovy, Haskell, HTML, Java,JavaScript, LaTeX, Lisp, Lua, Markdown, Matlab, OCaml, Perl, PHP, Python, R,Ruby, SQL, TCL, Textile and XML 等主流编程语言的语法高亮。ST 拥有优秀的代码自动完成功能 (自动补齐括号,大括号等配对符号;自动补全已经出现的单词;自动补全函数名),非常智能;另外 ST 也拥有代码片段(Snippet)的功能,可以将常用的代码片段保存起来,在需要时随时调用。当然,语法高亮、代码折叠、行号显示、自定义皮肤、配色方案等这些已经是一款现代编辑器应有的标配功能。另外作为一款商业软件虽然它很贵,但作者很厚道地给用户们提供了免费无限制无限期的试用权,它只会偶尔提醒一下你木有购买,而且频率也很低,仅此而已,一直免费使用下去几乎是没有任何影响的。
优雅的界面:代码地图、多种界面布局与全屏免打扰模式
      多种布局和代码地图,还有全屏免打扰模式。这么多其实都没用,比较赞的是group分栏视图,比如主程序和子程序之间比对、修改、同步啥,比自带的贴心多了,开个column group或者row group,或者grid group,很方便看下图吧。
1.jpg
方(ti)便(sheng)贴(bi)心(ge)的group view
屏幕快照 2015-01-16 下午4.30.24.png
屏幕快照 2015-01-16 下午4.45.42.png
贴心的多行选择和多行编辑:
        在写代码的过程中,我们经常需要同时编辑多行代码或者多个变量。在 ST中拥有非常实用的多行操作技巧,灵活运用可以大大提高编辑速度哟!相信日后你会这样问自己:当年没有这种方式的编辑器时我究竟是怎么活过来的?!多行编辑方法: 鼠标选中多行,按下 Ctrl+Shift+L (Command+Shift+L) 即可同时编辑这些行; 鼠标选中文本,反复按 CTRL+D(Command+D) 即可继续向下同时选中下一个相同的文本进行同时编辑; 鼠标选中文本,按下 Alt+F3 (Win) Ctrl+Command+G(Mac) 即可一次性选择全部的相同文本进行同时编辑;P.S:这个用来同时删除或输入数据或更改同一变量特别方便!!编程的时候修改本地变量名,cmd+d可以说是无敌的方便。逐行选取然后同步修改,这是我目前认为最实用和好用的功能。Shift+鼠标右键 (Win) Option+鼠标左键 (Mac) 或使用鼠标中键可以用鼠标进行竖向多行选择; Ctrl+鼠标左键(Win) Command+鼠标左键(Mac) 可以手动选择同时要编辑的多处文本……总之,说是说不清,尝试后就晓得了,写代码的时候这些贴心的功能有时候真的会让让你心情愉悦!
还是得举个栗子啊:
        比如,这样,我要对u1 u2 u3 u4更改,替换成v1,v2,v3,v4诸如此类各种程序猿会遇到的各类问题,多行编辑可以发挥作用了。安装Ctrl吧,鼠标点好,然后
这下批量删除,或者批量把u换成v,是不是很贴心。当然你也可以选择u按ctrl+D,不停的按,所有u选好后,在按下v,艾玛,四个变量全部变为v打头的了。诸如此类技巧很多,自己发掘吧。
屏幕快照 2015-01-16 下午5.25.47.png
快速切换和查找:
      写代码如果你同时打开了多个文件,或者你的项目里经常需要编辑不同的文件,在文件数量较多的时候,在过去往往需要花费很多的精力去寻找,很烦的说……不得不承认自带的editor在打开自定义函数时候特别方便,但是要是想打开不同m文件还是没那么智能吧。ST中打开项目后  Ctrl+即可调出文件切换面板,接着你只需输入文件名,回车后即可瞬间切换过去!不用在在文件面板中拖着滑轮找了呢!
屏幕快照 2015-01-16 下午4.42.17.png
       另外可以更换主题,我还是选择了这款黑色系,不仅看着一股神秘感,而且重点是半夜加班不伤眼(其实都熬夜了还自欺欺人干嘛)
这么多主题总有一款适合你:
屏幕快照 2015-01-16 下午5.35.47.png
        更多的技巧网上还是很多的,放上这些基本技巧,大家可以尝试下~
       下面介绍下怎么跟matlab集成。ST默认是支持matlab代码高亮的,前面的截图可以看到右下角有个matlab代码的标示。只要你的后缀是.m文件,打开后会自动识别为matlab的呢。要想让代码可以直接调试运行,还是要在build environment中配置一下下的

新建一个build system后配置一下对应的编译器,这样就可以完美在ST中运行代码啦。这里把matlab的放上来吧,好多都是默认设置好的:
Mac下复制下面代码粘贴就好了:【记着把红字部分的版本改一下==
{
  "selector": "source.matlab",
  "cmd": ["/Applications/MATLAB_R2014b.app/bin/matlab","-nosplash", "<$file_name"],
  "variants": [
    { "cmd":["/Applications/MATLAB_R2012b.app/bin/matlab", "-nosplash","-r", "publish('$file_path/$file_name')"],
      "name": "PublishMatlab"
    },
    {
      "cmd": ["open","$file_path/html/$file_base_name.html"],
      "name": "Open publishedMatlab"
    }
}
Windows下复制这个:【还是自己更改对应路径】
{
    // Change path to matlab.exe per localsettings
    "cmd":["C:/path/to/matlab/matlab.exe", "-nodesktop","-nosplash",
            "-r","\"run('$file')\""],
    "selector": "source.m",
    "working_dir":"${project_path:${folder}}"
}
好吧,怎么能少了Linux
{
    "cmd":["/usr/local/MATLAB/R20124/bin/matlab", "-nosplash","<$file_name"],
   
    "selector": "source.m"
}
这下写好代码后ctrl+B,代码就可以呼呼的跑起来了:
屏幕快照 2015-01-16 下午4.59.00.png
       没有MATLAB臃肿的界面,干净清爽。
       运行后如果觉得不爽,右击左侧的文件名,还可以在MATLAB中打开的。你你看还可以用chrome和Photoshop打开,只要你配置下,你的文件想怎么打开就怎么打开,用快播别人也无法阻拦你。
屏幕快照 2015-01-16 下午5.24.03.png
在官网上还有个大家广为称赞的自动填充功能,snippet 代码自动填充,也是很方便,再Fortran语法使用中有简单介绍,相当方便呢!

最后还有两个比较赞的功能:
       一个是代码的自动排版吧,强迫症患者肯定受不了自己的代码乱哄哄的,ST自带了排版和缩减功能,还有什么自动去除多余空格,空行啥的就不多说了。我用的最多的就是ctrl+A全选,然后ctrl+‘(),整个世界都干净了!当然ctrl+[与删除多余的缩进啥的治愈了我多年的强迫症。
第二个就是你可以不保存就直接退出ST,下次你打开ST后还是你上次退出前的样子,懒人的福音,断电的克星啊!不过数据无价还是勤保存啊!

感谢@lovechang1314的提醒,其实是有插件可以让ST支持Fortran语法高亮的。自行搜索了下找到了方法与对应的插件:
You can get Fortran syntax highlighting by downloading the .tmLanguage file from http://svn.textmate.org/trunk/Bundles/F ... /Syntaxes/, and placing it under Packages/User (or something else, such as Packages/Fortran), which you can navigate to from the Preferences/Browse Packages menu. You'll have to restart Sublime Text after placing it there.

上不去的这里有相应的水管分流:
fortran.tmbundle-master.zip (68.23 KB, 下载次数: 42)
屏幕快照 2015-01-16 下午4.52.00.png

评分

参与人数 7威望 +2 金钱 +106 贡献 +32 体力 +440 收起 理由
howard + 10 不能感谢更多!
做个霸气的木头 + 18 + 2 + 120 码字半天还是蛮辛苦的~
mofangbao + 20 + 10 这么多图,看着就高大上
陈述句。。。 + 2 很给力!
kongfeng0824 + 14 + 6 + 80 很给力!
言深深 + 2 + 20 + 8 + 40
又是那隻貓 + 22 + 6 + 200

查看全部评分

密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2015-1-16 18:37:55 | 显示全部楼层
如果没有调试功能我果断还是不会用的
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2015-1-16 18:51:59 | 显示全部楼层
用苹果的人...跟我等用ubuntu的人...让我无法直视
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 成长值: 19710
发表于 2015-1-16 18:54:20 | 显示全部楼层
topmad 发表于 2015-1-16 18:51
用苹果的人...跟我等用ubuntu的人...让我无法直视

这个编辑器各种平台都有,我的每台电脑都有
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2015-1-16 19:00:06 | 显示全部楼层
兰溪之水 发表于 2015-1-16 18:54
这个编辑器各种平台都有,我的每台电脑都有

我的意思是....我不会编程
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 成长值: 32430
发表于 2015-1-16 21:20:15 | 显示全部楼层
使用UE完全可以达到同样的效果,也可以联接直接调试…
PS重要的不是软件,是你怎么用!
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2015-1-16 21:25:53 | 显示全部楼层
topmad 发表于 2015-1-16 18:51
用苹果的人...跟我等用ubuntu的人...让我无法直视

Ubuntu才是王道啊
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2015-1-16 21:25:55 | 显示全部楼层
topmad 发表于 2015-1-16 18:51
用苹果的人...跟我等用ubuntu的人...让我无法直视

Ubuntu才是王道啊
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2015-1-16 21:26:02 | 显示全部楼层
topmad 发表于 2015-1-16 19:00
我的意思是....我不会编程

大实话啊
大实话啊
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2015-1-16 21:26:34 | 显示全部楼层
二爷名声在外 发表于 2015-1-16 21:20
使用UE完全可以达到同样的效果,也可以联接直接调试…
PS重要的不是软件,是你怎么用!

我是小白,所以怎么容易怎么来啊
密码修改失败请联系微信:mofangbao
您需要登录后才可以回帖 登录 | 立即注册 新浪微博登陆

本版积分规则

Copyright ©2011-2014 bbs.06climate.com All Rights Reserved.  Powered by Discuz! (京ICP-10201084)

本站信息均由会员发表,不代表气象家园立场,禁止在本站发表与国家法律相抵触言论

快速回复 返回顶部 返回列表