From mboxrd@z Thu Jan 1 00:00:00 1970 From: John Kitchin Subject: Re: [OT] wildcards in autocorrect? Date: Sat, 28 Mar 2015 14:20:13 -0400 Message-ID: References: <97A269DA-728F-4FC4-8B18-36254ACCA6C7@flintfam.org> Mime-Version: 1.0 Content-Type: multipart/alternative; boundary=001a11c21f5ecc2aec05125d4ce7 Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:37219) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1YbvLE-0004cI-H1 for emacs-orgmode@gnu.org; Sat, 28 Mar 2015 14:20:17 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1YbvLD-000250-1p for emacs-orgmode@gnu.org; Sat, 28 Mar 2015 14:20:16 -0400 Received: from mail-pa0-x236.google.com ([2607:f8b0:400e:c03::236]:35092) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1YbvLC-00024u-Lg for emacs-orgmode@gnu.org; Sat, 28 Mar 2015 14:20:14 -0400 Received: by pacwz10 with SMTP id wz10so75389870pac.2 for ; Sat, 28 Mar 2015 11:20:13 -0700 (PDT) In-Reply-To: <97A269DA-728F-4FC4-8B18-36254ACCA6C7@flintfam.org> List-Id: "General discussions about Org-mode." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-orgmode-bounces+geo-emacs-orgmode=m.gmane.org@gnu.org Sender: emacs-orgmode-bounces+geo-emacs-orgmode=m.gmane.org@gnu.org To: "Samuel W. Flint" Cc: Org Mode --001a11c21f5ecc2aec05125d4ce7 Content-Type: text/plain; charset=UTF-8 This is the code Samuel refers to. It is awesome. I use it less and less ;) by which I mean everytime I use it is one less time I ever have to use it. ;; http://endlessparentheses.com/ispell-and-abbrev-the-perfect-auto-correct.html (define-key ctl-x-map "\C-i" 'endless/ispell-word-then-abbrev) (defun endless/ispell-word-then-abbrev (p) "Call `ispell-word'. Then create an abbrev for the correction made. With prefix P, create local abbrev. Otherwise it will be global." (interactive "P") (let ((bef (downcase (or (thing-at-point 'word) ""))) aft) (call-interactively 'ispell-word) (setq aft (downcase (or (thing-at-point 'word) ""))) (unless (string= aft bef) (message "\"%s\" now expands to \"%s\" %sally" bef aft (if p "loc" "glob")) (define-abbrev (if p global-abbrev-table local-abbrev-table) bef aft)))) John ----------------------------------- Professor John Kitchin Doherty Hall A207F Department of Chemical Engineering Carnegie Mellon University Pittsburgh, PA 15213 412-268-7803 @johnkitchin http://kitchingroup.cheme.cmu.edu On Sat, Mar 28, 2015 at 12:57 PM, Samuel W. Flint wrote: > There's something on endless parentheses that will let you generate a > correction abbrev with a keystroke. > > Samuel W. Flint > Please forgive any typos as this was composed on a screen keyboard. > > > On Mar 28, 2015, at 9:19 AM, Matt Price wrote: > > > > I make a lot of typing errors (I have an injury to one hand, which > impedes bilateral cooperation). In Libreoffice I am able to define wildcard > autocorrect objects, e.g.: > > > > oc.* ---> co.* > > > > This will correct ocrrect, ocmputer, ocndition, etc. Does anyone know a > way to do something similar in Emacs? Right now I am using abbrev mode and > defining my errors one by one -- it is a very slow process since I make so > many mistakes and have a moderately large vocabulary. > > > > I am sure this is possible somehow, I just don't know how. > > > > thanks as always, > > m > > > > > > --001a11c21f5ecc2aec05125d4ce7 Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable
This is the code Samuel refers to. It is awesome. I u= se it less and less ;) by which I mean everytime I use it is one less time = I ever have to use it.

;; http://en= dlessparentheses.com/ispell-and-abbrev-the-perfect-auto-correct.html
(define-key ctl-x-map "\C-i" 'endless/ispell-word-the= n-abbrev)

(defun endless/ispell-word-then-abbrev (= p)
=C2=A0 "Call `ispell-word'. Then create an abbrev for= the correction made.
With prefix P, create local abbrev. Otherwi= se it will be global."
=C2=A0 (interactive "P")
=C2=A0 (let ((bef (downcase (or (thing-at-point 'word) "&q= uot;))) aft)
=C2=A0 =C2=A0 (call-interactively 'ispell-word)<= /div>
=C2=A0 =C2=A0 (setq aft (downcase (or (thing-at-point 'word) = "")))
=C2=A0 =C2=A0 (unless (string=3D aft bef)
=C2=A0 =C2=A0 =C2=A0 (message "\"%s\" now expands to \&qu= ot;%s\" %sally"
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0 =C2=A0bef aft (if p "loc" "glob"))
=C2=A0 =C2=A0 =C2=A0 (define-abbrev
=C2=A0 =C2=A0 =C2=A0 =C2=A0 = (if p global-abbrev-table local-abbrev-table)
=C2=A0 =C2=A0 =C2= =A0 =C2=A0 bef aft))))=C2=A0



John

-----------------------= ------------
Professor John Kitchin=C2=A0
Doherty Hall A207F
Depar= tment of Chemical Engineering
Carnegie Mellon University
Pittsburgh, = PA 15213
412-268-7803

On Sat, Mar 28, 2015 at 12:57 PM, Samuel W. = Flint <swflint@flintfam.org> wrote:
There's something on endless parentheses that will let yo= u generate a correction abbrev with a keystroke.

Samuel W. Flint
Please forgive any typos as this was composed on a screen keyboard.

> On Mar 28, 2015, at 9:19 AM, Matt Price <moptop99@gmail.com> wrote:
>
> I make a lot of typing errors (I have an injury to one hand, which imp= edes bilateral cooperation). In Libreoffice I am able to define wildcard au= tocorrect objects, e.g.:
>
> oc.* ---> co.*
>
> This will correct ocrrect, ocmputer, ocndition, etc.=C2=A0 Does anyone= know a way to do something similar in Emacs? Right now I am using abbrev m= ode and defining my errors one by one -- it is a very slow process since I = make so many mistakes and have a moderately large vocabulary.
>
> I am sure this is possible somehow, I just don't know how.
>
> thanks as always,
> m
>
>


--001a11c21f5ecc2aec05125d4ce7--