Thanks, Kerry. I came up with this using vla-move, but how to highlight all of the texts. As you say, this does not have a ghosting effect, but I am eager to learn to produce a ghosting effect? Any leads to this effect?
;;; mvrl.LSP
;;;A program to move all the text of a selected layer
(defun c:mvrl( / ss ss_all ss_layer undomark ntt alist anObj pt1 pt2)
(prompt "\nTo move all text of same layer\n")
(setvar "cmdecho" 0)
(cond
((setq ntt (car (entsel "\nSelect the text layer to move ==> ")))
(princ)
(setq ss_layer (wg:dxf 8 ntt))
(setq ss_all (ssget "X" (list (cons 0 "TEXT")(cons 8 ss_layer))))
(if (/= ss_all nil)
(progn
(undobegin)
(setq undomark T)
(setq alist (mapcar 'vlax-ename->vla-object (mapcar 'cadr (ssnamex ss_all))))
(if (setq pt1 (getpoint "\nBase point .. "))
(progn
(setq pt2 (getpoint pt1 "Move To Point .. "))
(repeat (length alist)
(setq anObj (car alist)
alist (cdr alist)
)
(vla-move anObj (vlax-3d-point pt1) (vlax-3d-point pt2))
)
(undoend)
)
)
; (command "move" ss_all "")
)
(progn
(dos_beep 3)
(alert "\nSelected layer has no text ")
)
)
); something selected
);cond
(princ)
); c:mvrl