martinle 发表于 2022-7-5 16:18:03

带下划线的Lisp

你好
我住在奥地利。
 
如果我执行一个用英语编写的Lisp,并且它在程序中不包含“_”(下划线),这是非常重要的
用手在较长的Lisp程序中轻松输入所有下划线。
有没有更快的解决方案?
请帮忙。
 
例子:
(命令“copy”第一单元““m”p2 p6 p22 p23”);;;;不带下划线
(命令“_copy”第一单元“_m”p2 p6 p22 p23”);;;带下划线
 
马丁

Tharwat 发表于 2022-7-5 16:25:09

你好
 
下划线前缀与快速处理或其他任何操作无关,它确保了如果您使用的是非英语版本的AutoCAD,则命令名使用英语。
 
此外,为了避免将lisp文件中的命令调用名称更改为AutoCAD程序的语言。例如:“复制”到“kopiëren”

Roy_043 发表于 2022-7-5 16:26:53

@马丁尔:
在记事本++中,可以使用正则表达式搜索和替换文本。
 
> Notepad++ > Replace...
> Find what: \(\s*command\s*"(?!\._|_\.|_)
> Replace with: \(command "_
> [ ] Match case
> [v] Wrap around
> Search mode > [*] Regular expression

martinle 发表于 2022-7-5 16:31:59

您好tharwat,我正在寻找一个lisp翻译的英语德语自动设置下划线。
 
马丁

martinle 发表于 2022-7-5 16:35:04

你好,罗伊,我使用记事本++,但单独更改所有内容相当乏味
 
马丁

BIGAL 发表于 2022-7-5 16:40:32

像Roy_043一样,使用word制作宏,只需执行一些“替换”,编码后在保存时要小心,因为可以使文档不是TXT。只需做一个,然后你可以复制它和编辑等下面是直接从文字记录宏

' this example from word replaces all lower case b with a uppercase B
' depending on your word "View" "macros"
Sub Macro1()
'
' Macro1 Macro
'
'
   Selection.Find.ClearFormatting
   Selection.Find.Replacement.ClearFormatting
   With Selection.Find
       .Text = "b"
       .Replacement.Text = "B"
       .Forward = True
       .Wrap = wdFindContinue
       .Format = False
       .MatchCase = False
       .MatchWholeWord = False
       .MatchWildcards = False
       .MatchSoundsLike = False
       .MatchAllWordForms = False
   End With
   Selection.Find.Execute Replace:=wdReplaceAll
End Sub

Roy_043 发表于 2022-7-5 16:42:24

@马丁尔:
使用我上一篇文章中的正则表达式*所有*命令将立即修复。试试看。
 
@比加尔:
这不是交换一个字符的简单情况。命令名可能已经有一个“_”或“_”或“_”前缀。请参阅“查找内容:”正则表达式。

martinle 发表于 2022-7-5 16:48:16

你好,罗伊,我周一上班的时候再试试。但我还不能理解他们的解释。打扰一下
 
马丁

Roy_043 发表于 2022-7-5 16:50:54

也许这个图像有助于:
https://www.cadtutor.net/forum/attachment.php?attachmentid=61475&cid=1&stc=1

Roy_043 发表于 2022-7-5 16:57:56

注意,我的建议只会更改命令名,而不会更改命令选项。
因此:
(Command "copy" unit1 "" "m" p2 p6 p22 p23 "")将成为:
(command "_copy" unit1 "" "m" p2 p6 p22 p23 "")
页: [1] 2
查看完整版本: 带下划线的Lisp