Ispell in Emacs

Ispell-buffer

Ispell-buffer如果没有错显示"spell-checking done",否则就在屏幕上显示可选择拼写“At the top of the screen, Ispell opens a small window that displays alternative spellings, numbered starting with 0. The mini-buffer says C-h or ? for more options, SPC to leave unchanged, character to replace word.”

i        可以将单词加入大Private dictionary, 默认是.ispell_<language> in your directory.

u        insert the word in your dictionary in lowercase.

r        to replace a word yourself. "Replacement for: new-word RET" 手动设置为new-word中的内容

R        Ispell start a query-replace, "Query-replacement for old-word: new-word RET" 进入到查询匹配了。然后你就可以使用!,Space等命令实现无询问替换。

a        to skip over it, a is accept. ignore a misspelled word for the rest of the session for all buffer

A        one subtle difference: it tells Ispell to accept this word for this session but only in this buffer

Space    ignore a misspell word

C-u M-$  for resume


Checking a single word

M-$      "That doesn't look right " for ispell-word


Completing a word

M-Tab    "How is that spelled?" for ispell-complete-word


Flyspell

flyspell highlights misspelled words and checkingexisting text.

M-x flyspell-mode RET    check text,Fly appears on the mode line.

M-x flyspell-prog-mode   designed for programmer, highlight misspellings only in comments or strings.

M-x flyspell-buffer RET  To check existing text. like Ispell-buffer. but it will underline all the suspected words


flyspell-buffer vs ispell-buffer

flyspell-buffer will spell-checks the entire buffer, and underline the misspell words. but ispell-buffer move to unrecognized words-> a screen have proper name -> the next unrecognized word


如何查看Private directory

上面i 命令的时候已经说了它会在.ispell_<language>文件中,但是有的 时候他会默认在.aspell.language.pws中,因为在Emacs中执行命令ispell-check-version 你会发现它内部实际上时通过Aspell来检查的。如果这样的话,你最好通过命令$ sudo find / -mount  -name '.aspell*' 最终你会发现它是文件/home/ryu/.aspell.en.pws


Word Abbreviations


Dynamic Abbreviation

  Dynamic abbreviation come to rescue long technical words in your paper. you simply type a few letter and give command M-/(for dabbrev-expand),Emacs insert the nearest word that start with that string.

  比如你现在输入了单词 interesting .... invertebrates; 现在如果你输入in M-/, in就会自动变为离他最近的以in开头的invertebrates,如果继续按M-/它就会变为interesting.


Word Abbreviation Mode

  Let you define abbreviation for special words and phrases.

  When you define abbreviations, never use abbreviations that are words in Emacs.because expansion takes place without asking.

  如果你仅仅想这个简写在text-mode下生效的话,定义它为local, 另一方面如果你想让他在任何mode都生效的话,定义为global. Remember: abbreviation are local to modes. not to files or buffers.


Trying word abbreviations for one session

procedure:

1:M-x abbrev-mode RET Abbrev appears on the mode line.and type the abbreviation you want. then:

    C-x a i g or C-x a-    for add-inverse-global

    C-x a i l              for add-inverse-local

比如CL -> Common lisp . 然后每次你输入CL然后敲入空格或标点的话,都会自动变为Common lisp.

2: exit Emacs, it ask if you want to save the abbreviation in .abbrev_defs. y for yes.

3: abbreviation work only in buffers where you enter abbrev mode, 简写的自动转换只会在副模式包含abbrev的buffer中生效。


Deleting a word abbreviation

M-x list-abbrev RET  display the list. 然后可以用编辑命令进行删除了,比如C-k删除一行。你最好别对它进行添加行,修改行操作。容易出错。

M-x edit-abbrev RET  edit the list.    

执行完上面中的任何一个操作,M-x write-abbrev-file      save file


disabling word abbreviation

M-x kill-all-abbrevs RET   disables for current session

read-abbrev-file           delete this line in your .emacs file for startup.


Abbreviation and capitalization

先记清下面三组概念 abbreviation : 是你加入这个简写时的字符组合。 definition:是你想要替换成的字符串。you type 就是你现在敲入的形式。abbreviation 与 you type进行匹配的时候时不区分大小写的。现在关键是看后面两个的形式,它们决定了最后展开为的形式。

1:如果定义包含一个大写字母的话,不论你现在敲入的格式,它都会展开成你定义时的形式。如果输入的都是大写例外,这个时候它等价与下面2.c情况。

2: 如果你定义的都是小写。

   a:现在你输入的都是小写,展开成都是小写。

   b:现在你输入的只要有一个为大写,展开形式的第一个字母大写。

   c:如果你输入的都是大写形式,如果abbrev-all-caps为T,展开的都是大写形式,否则展开的是所有的单词第一个字母都大写。

如果你定义的时候包含任何一个大写字母的话,当你再输入的时候,


展开阅读全文

没有更多推荐了,返回首页