不死猫 发表于 2013-11-27 10:58:54

任意Lisp编辑器实现函数自动完成功能(中文注解方法+制作程序+配置文件+模式切换方法)

本帖最后由 不死猫 于 2013-11-30 15:13 编辑

本文7楼在努力中。。。

猫老师配置库特点:
1 支持代码输入过程中任意字母数量都会显示函数;
2 支持VL- VLA- VLAX-函数类;
3 支持括号自动输入;
4 中文状态下从第二备选词开始,不影响平时打字;
5 通过vbs简单语句切换编程模式和正常办公模式;
6 支持中文注解!



==========下面都是搜狗输入法的内容(支持中文注解)============
==================================================
增加中文注释的方法是:新起一行作为注释
见下图 第一个(abs num)是上屏内容,下面的;abs求值是注解。上屏的话因为带有分号不影响程序执行。
也可以改为 ;|abs求值|; 在程序中间注释也不影响程序执行了。
或者
大家可以自定义。

原理:
现在的输入法都支持自定义短语的功能


以搜狗拼音输入法为例(搜狗也有五笔输入法)

===========版本1支持Autolisp===========
初步整理了语法库文件和制作语法库文件的程序代码

复制上面内容,【设置】【高级】【自定义短语设置】【直接编辑配置文件】粘贴在下面即可。
语法库文件制作程序代码:


这样
不管你用的哪种编辑器
都可以实现函数的自动完成和联想功能了。

==========不影响中文的办法==========
如果你怕影响平时中文的输入,很简单,把我的配置文件中的,1= 全部替换为 ,2=
这样平时输入第一个都是中文后面的才是函数,基本不影响你了.

==========我是版本2分割线============
经测试 大部分输入法不支持 vl- 和 vla-后面的 - 符号
因此猫老师特别调整了配置文件
第二版支持VL-和VLA-等函数
输入vl-string->list 函数的时候你需要输入 vlst 即可 (注意中间的 - 就直接省略掉 还节约了输入时间!)
当然我提供的语法库lisp程序你可以稍稍修改即可生成配置文件.
喜欢偷懒的同学下载就顶一下好了.

==========好用在这里===============



==========我是版本3分割线=============
懒人版本版本在写函数的时候()自动写上去,并且把函数降为输入法的第二备选词,免得影响我们日常输入.
**** Hidden Message *****



==========日常工作和编程模式快捷键切换========
准备两个不同的配置文件放到输入法目录下,
一个是我们编程用的Phrases_Lisp.ini (里面是猫老师上面提供的配置文件)
一个是我们日常工作用的空的Phrases_Normal.ini (这里面不含lisp函数库,是原始的配置文件)

下面代码保存为lisp编程模式.vbsSet Fso = CreateObject("Scripting.FileSystemObject")
path = "C:\Users\Administrator\AppData\LocalLow\SogouPY.users\00000001"
fso.copyfile Path & "\Phrases_Lisp.ini",Path & "\Phrases.ini",true下面代码保存为日常工作.vbsSet Fso = CreateObject("Scripting.FileSystemObject")
path = "C:\Users\Administrator\AppData\LocalLow\SogouPY.users\00000001"
fso.copyfile Path & "\Phrases_Normal.ini",Path & "\Phrases.ini",true
然后在桌面创建他们的快捷方式(不是源文件),并且在属性中设置自定义快捷键,就可以实现日常工作和编程模式的快速切换了.





-------用户自定义函数----------------
在设置-高级-自定义短语中

添加新的定义

例如

这样在以后输入法状态下就可以实现自动完成功能了




在中文状态下配合 英文标点即可完成中文输入法下的编程了





==========下面都是百度输入法的内容============
==========由浮世小半生推荐=================
这百度输入法可以实现显示内容与输入内容分开,
实现中文注解显示,英文函数上屏的强大功能!
但是目前发现的百度输入法的bug包括:
1 不支持一个缩写多个单词
2 不支持VL VLA VLAX类
因此大家可以根据需要选择



前两行是输入上屏的结果,而选项显示的则是带有中文注解的内容!









Gu_xl 发表于 2013-11-27 21:28:17

使用下面的函数可以输出所有加载的自定义函数的搜狗词库,包括加载的ARX定义函数 !然后按猫老师的方法将词库加到搜狗输入法里!
**** Hidden Message *****

fl202 发表于 2013-11-30 11:53:12

难道楼上的都试验成功了?我试验失败了。

试验过程如下:
原来老猫给的代码是搜狗用户有个人用户登录的情况下才可以的,因我没有搜狗用户登录,所以我修改代码,将C:\Users\DELL\AppData\LocalLow\SogouPY.users\00000001改为
C:\Users\DELL\AppData\LocalLow\SogouPY
将Phrases_Lisp.ini和Phrases_Normal.ini 放在C:\Users\DELL\AppData\LocalLow\SogouPY工作目录下。

点击lisp编程模式.vbs 和日常工作.vbs 进行试验,在word中尝试输入失败,但在C:\Users\DELL\AppData\LocalLow\SogouPY 内打开Phrases.ini看, 切换是成功的!无奈。输入法配制中高级-自定义短语设置中打开,粘贴,关闭,应用,确定,则在word中尝试输入是成功的。

我以为是和用户是否登录有关,又注册搜狗用户,改回原目录C:\Users\DELL\AppData\LocalLow\SogouPY.users\00000001,还是失败了!
唯一跟老猫说的不一致的是,我没有在桌面创建快捷方式,而是直接点击lisp编程模式.vbs 和日常工作.vbs 原文件。我想lisp编程模式.vbs 和日常工作.vbs 的功能就是修改Phrases.ini的代码,应该没有其它功能了。修改代码是成功的,但搜狗没有实时监测Phrases.ini的变化!只能手动修改,那太麻烦了!

另外一个不好的地方是中文输入+英文() ,这个也要手动改,不好。

tigcat 发表于 2021-8-7 15:32:10

fl202 发表于 2013-11-30 11:53
难道楼上的都试验成功了?我试验失败了。

试验过程如下:


翻了这么多页,就是想找找为什么失败?终于找到了答案,谢谢fl202大侠分享出来

zhaoxt 发表于 2023-1-7 17:28:23

大赞,实现的方法很巧妙,另辟蹊径啊!

落魄山人 发表于 2013-11-27 11:01:56

好顶赞

ggdlove 发表于 2013-11-27 11:09:26

非常好,要是能直接整出配置文件,就更好了。
哈哈

freeok 发表于 2013-11-27 11:15:37

一大福利啊。。。

yzxgwl 发表于 2013-11-27 12:01:12

好办法,等有时间,好好整整。

vvcd 发表于 2013-11-27 12:58:19

太强大了,又可以偷懒了

不死猫 发表于 2013-11-27 15:15:25

本帖最后由 不死猫 于 2013-11-30 15:11 编辑



这东西看着简单,做起来还是有点小麻烦。
有机会再搞一搞吧。
想要完美的输入法,只能自己定制了,

之前跟几家输入法反馈建议,怕是没什么下文了。

灬北方狼灬 发表于 2013-11-27 15:43:37

想法很前卫.膜拜大神.

yybu 发表于 2013-11-27 15:45:36

猫,你就是我的神!

cnks 发表于 2013-11-27 16:18:44

支持!虽然很久前有这种想法,但一直没去做
页: [1] 2 3 4 5 6 7 8 9 10
查看完整版本: 任意Lisp编辑器实现函数自动完成功能(中文注解方法+制作程序+配置文件+模式切换方法)