找回密码
 欢迎注册
查看: 30117|回复: 8

[原创] 用vim写mathematica代码的一个好处!

[复制链接]
发表于 2012-7-9 10:43:20 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?欢迎注册

×
mathematica的注释是这个样子的: (*这几个字是注释*) 但是这样的注释挺麻烦的,需要一次输入 4个符号,不像matlab那样只需要输入一个%就可以了, 解决这个问题的办法就是vim的映射功能! 在vimrc文件中加入下面两行 "用于生产mathematica的注释符号 :imap (**)hi 于是当你用vim写mathematica注释的时候, 只需要按F5这个键,然后就会自动输入(**) 并且光标自动移动到(*与*)之间! 哈哈哈哈哈******************************** 这个想法不错吧
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
 楼主| 发表于 2012-7-9 11:17:11 | 显示全部楼层
非常讨厌写代码没有注释的,看起来头疼
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
 楼主| 发表于 2012-7-9 16:00:47 | 显示全部楼层
  1. "用于生产mathematica的注释符号
  2. :imap <F5> (**)<ESC>hi
复制代码
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2023-11-27 08:12:37 | 显示全部楼层

原本的代码是
  1. "用于生产mathematica的注释符号
  2. :imap <F5> (**)<ESC>hi
复制代码


修改后
  1. "用于生产mathematica的注释符号
  2. :inoremap <F5> (**)<ESC>hi
复制代码


这样不存在递归映射(二次映射)的情况
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2023-11-28 22:27:05 | 显示全部楼层
写代码很烦
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2024-12-13 15:49:25 | 显示全部楼层

写代码有成就感!
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2025-2-12 21:25:26 | 显示全部楼层
nyy 发表于 2024-12-13 15:49
写代码有成就感!

那你帮我写一个出来看看。

过单位上半球面上的任意两点作正交于球面边界的小圆弧,判断三条小圆弧所组成的小圆曲面三角形角平分线是否交于一点,角平分线也是取球面上的切线小圆弧。

计算太难,我弄不出来

点评

每条圆弧和球心确定一个平面,角平分线和球心确定的平面显然是两对应边确定平面的二面角角平分面。过两个角平方分面交线做垂面和各平面相交构成平面三角形和角平分线构图,然后就可以推出第三个角平分面也过交线   发表于 2025-2-21 08:02
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 5 天前 | 显示全部楼层
  1.     :inoremap <F5> (**)<ESC>hi
  2.     "删除非行首开始的空白,也就是保留代码的缩进
  3.     "删除的范围从当前光标所在的行到最后一行
  4.     :nmap <F3> <ESC>:.,$s/\S\+\zs\s\+\ze\S\+//ge<CR>
  5.     :inoremap <F6> △
  6.     :inoremap <F7> ∠
  7.     :inoremap <F8> °
复制代码


这样按F5用来输入注释符号
F6输入△,F7输入∠,按F8输入°,这三个都是为写注释服务的。

  1. "把这个映射全部放在外面,肯定所有的文件都是需要的
  2. :inoremap ( ()<ESC>i
  3. :inoremap [ []<ESC>i
  4. :inoremap { {}<ESC>i
  5. :inoremap ' ''<ESC>i
  6. :inoremap " ""<ESC>i

  7. "处理中文标点符号,这样处理后,不用考虑以后代码中混入中文标点符号导致bug的问题(2022年5月17日08:02:42)
  8. "处理中文句号、中文逗号、中文问号、中文分号、中文冒号、中文叹号
  9. :inoremap 。 .
  10. :inoremap , ,
  11. :inoremap ? ?
  12. :inoremap ; ;
  13. :inoremap : :
  14. :inoremap ! !
  15. "处理中文单引号、中文双引号
  16. :inoremap ‘ ''<ESC>i
  17. :inoremap ’ ''<ESC>i
  18. :inoremap “ ""<ESC>i
  19. :inoremap ” ""<ESC>i
  20. "处理中文小括号、中文中括号(中文大括号与英文大括号相同,不用处理)
  21. :inoremap ( ()<ESC>i
  22. :inoremap ) ()<ESC>i
  23. :inoremap 【 []<ESC>i
  24. :inoremap 】 []<ESC>i

复制代码


第一部分用来解决英文括号成对问题
接下来的主要是用来解决中文标点符号的问题,这样写代码不容易存在输入进中文标点的问题
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
您需要登录后才可以回帖 登录 | 欢迎注册

本版积分规则

小黑屋|手机版|数学研发网 ( 苏ICP备07505100号 )

GMT+8, 2025-4-19 07:20 , Processed in 0.038106 second(s), 18 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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