Where is the aspell private dictionary on Mac [clo

2019-01-20 12:03发布

问题:

I am using emacs on Mac Os X and I installed aspell with homebrew. I accidentally added a wrong word to my "private dictionary", but where is that dictionary? How can I open it and see what I have added in there?

I found a similar question here (How to remove an entry from ispell private dictionary?) but I couldn't find the directories they mentioned. I found one aspell folder at \usr\local\Cellar\aspell\, but I still can't find which one is the private dictionary.

回答1:

Search for a file ending in .pws -- it will probably look something like this .aspell.en.pws for English.

You can also run something like this to see where everything is located -- just change the path to wherever your own aspell executable is located:

/Users/HOME/.0.data/.0.emacs/elpa/bin/aspell --lang=en dump config

If you want to change things, you can create an aspell.conf and put it inside the etc folder, which should be in the same set of directories near to where the aspell executable is located. I actually had to create the etc folder and the aspell.conf because the make process of a generic installation did not create that folder. Running the above command-line will also tell you the location where aspell looks for the aspell.conf file.

Sample aspell.conf: I only use Spanish and English -- the default on my setup is the latter -- borrowed (and modified from): https://github.com/jone/dotfiles/blob/master/aspell.conf

# /Users/HOME/.0.data/.0.emacs/elpa/bin/aspell --lang=en dump config

# conf (string)
#   main configuration file
# default: aspell.conf

# home-dir (string)
#   location for personal files
# default: <$HOME|./> = /Users/jone
# home-dir $HOME/Library/Preferences/aspell
home-dir /Users/HOME/.0.data/.0.emacs

# personal (string)
#   personal dictionary file name
# default: .aspell.<lang>.pws = .aspell.de_CH.pws
personal .aspell.en.pws

# conf-dir (string)
#   location of main configuration file
# default: <prefix:etc> = /usr/local/etc

# data-dir (string)
#   location of language data files
# default: <prefix:lib/aspell-0.60> = /usr/local/lib/aspell-0.60
# data-dir /usr/local/lib/aspell-0.60

# dict-alias (list)
#   create dictionary aliases

# dict-dir (string)
#   location of the main word list
# default: <data-dir> = /usr/local/lib/aspell-0.60
# dict-dir /usr/local/lib/aspell-0.60

# encoding (string)
#   encoding to expect data to be in
# default: !encoding = UTF-8

# filter (list)
#   add or removes a filter

# filter-path (list)
#   path(s) aspell looks for filters

# mode (string)
#   filter mode
# default: url
# mode tex

# extra-dicts (list)
#   extra dictionaries to use

# ignore (integer)
#   ignore words <= n chars
# default: 1

# ignore-case (boolean)
#   ignore case when checking words
# default: false

# ignore-repl (boolean)
#   ignore commands to store replacement pairs
# default: false
ignore-repl false

# keyboard (string)
#   keyboard definition to use for typo analysis
# default: standard

# lang (string)
#   language code
# default: <language-tag> = de_CH

# local-data-dir (string)
#   location of local language data files
# default: <actual-dict-dir> = /usr/local/lib/aspell-0.60/

# master (string)
#   base name of the main dictionary to use
# default: <lang> = de_CH

# normalize (boolean)
#   enable Unicode normalization
# default: true

# norm-required (boolean)
#   Unicode normalization required for current lang
# default: false

# norm-form (string)
#   Unicode normalization form: none, nfd, nfc, comp
# default: nfc

# norm-strict (boolean)
#   avoid lossy conversions when normalization
# default: false

# per-conf (string)
#   personal configuration file
# default: .aspell.conf

# prefix (string)
#   prefix directory
# default: /usr/local

# repl (string)
#   replacements list file name
# default: .aspell.<lang>.prepl = .aspell.de_CH.prepl

# run-together (boolean)
#   consider run-together words legal
# default: false

# run-together-limit (integer)
#   maximum number that can be strung together
# default: 2

# run-together-min (integer)
#   minimal length of interior words
# default: 3

# save-repl (boolean)
#   save replacement pairs on save all
# default: true

# set-prefix (boolean)
#   set the prefix based on executable location
# default: true

# size (string)
#   size of the word list
# default: +60

# sug-mode (string)
#   suggestion mode
# default: normal

# sug-edit-dist (integer)
#   edit distance to use, override sug-mode default
# default: 1

# sug-typo-analysis (boolean)
#   use typo analysis, override sug-mode default
# default: true

# sug-repl-table (boolean)
#   use replacement tables, override sug-mode default
# default: true

# sug-split-char (list)
#   characters to insert when a word is split

# use-other-dicts (boolean)
#   use personal, replacement & session dictionaries
# default: true

# variety (list)
#   extra information for the word list

# warn (boolean)
#   enable warnings
# default: true

# affix-compress (boolean)
#   use affix compression when creating dictionaries
# default: false

# clean-affixes (boolean)
#   remove invalid affix flags
# default: true

# clean-words (boolean)
#   attempts to clean words so that they are valid
# default: false

# invisible-soundslike (boolean)
#   compute soundslike on demand rather than storing
# default: false

# partially-expand (boolean)
#   partially expand affixes for better suggestions
# default: false

# skip-invalid-words (boolean)
#   skip invalid words
# default: true

# validate-affixes (boolean)
#   check if affix flags are valid
# default: true

# validate-words (boolean)
#   check if words are valid
# default: true

# backup (boolean)
#   create a backup file by appending ".bak"
# default: true

# byte-offsets (boolean)
#   use byte offsets instead of character offsets
# default: false

# guess (boolean)
#   create missing root/affix combinations
# default: false

# keymapping (string)
#   keymapping for check mode: "aspell" or "ispell"
# default: aspell

# reverse (boolean)
#   reverse the order of the suggest list
# default: false

# suggest (boolean)
#   suggest possible replacements
# default: true

# time (boolean)
#   time load time and suggest time in pipe mode
# default: false


#######################################################################
#
# Filter: context
#   experimental filter for hiding delimited contexts
#
# configured as follows:

# f-context-delimiters (list)
#   context delimiters (separated by spaces)

# f-context-visible-first (boolean)
#   swaps visible and invisible text
# default: false


#######################################################################
#
# Filter: email
#   filter for skipping quoted text in email messages
#
# configured as follows:

# f-email-quote (list)
#   email quote characters

# f-email-margin (integer)
#   num chars that can appear before the quote char
# default: 10


#######################################################################
#
# Filter: html
#   filter for dealing with HTML documents
#
# configured as follows:

# f-html-check (list)
#   HTML attributes to always check

# f-html-skip (list)
#   HTML tags to always skip the contents of


#######################################################################
#
# Filter: sgml
#   filter for dealing with generic SGML/XML documents
#
# configured as follows:

# f-sgml-check (list)
#   SGML attributes to always check

# f-sgml-skip (list)
#   SGML tags to always skip the contents of


#######################################################################
#
# Filter: tex
#   filter for dealing with TeX/LaTeX documents
#
# configured as follows:

# f-tex-check-comments (boolean)
#   check TeX comments
# default: false

# f-tex-command (list)
#   TeX commands


#######################################################################
#
# Filter: texinfo
#   filter for dealing with Texinfo documents
#
# configured as follows:

# f-texinfo-ignore (list)
#   Texinfo commands to ignore the parameters of

# f-texinfo-ignore-env (list)
#   Texinfo environments to ignore

These are my notes for installing aspell on Windows and OSX:

OSX -- To dump the aspell configuration in OSX type:

# /Users/HOME/.0.data/.0.emacs/elpa/bin/aspell --lang=en dump config

The aspell.conf goes into the .../etc directory

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

OSX -- ASPELL -- Binary

* unpack aspell-0.60.6.tar.gz

* cd over to the root directory of the unpacked source

PATH=/usr/bin:/usr/sbin:/bin:/sbin ./configure \

--prefix=$HOME/.0.data/.0.emacs/elpa

make

sudo make install

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

OSX -- ASPELL -- DICTIONARY -- English

* unpack aspell6-en-7.1-0.tar.bz2

* cd over to the root directory of the unpacked source

./configure \
--vars PATH=$PATH:/Users/HOME/.0.data/.0.emacs/elpa/bin

make

sudo make install


;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

OSX -- ASPELL -- DICTIONARY -- Spanish

* unpack aspell6-es-1.11-2.tar.bz2

* cd over to the root directory of the unpacked source

./configure \
--vars PATH=$PATH:/Users/HOME/.0.data/.0.emacs/elpa/bin

make

sudo make install

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

Windows XP -- install:

BASE:  Aspell-0-50-3-3-Setup.exe

English:  Aspell-en-0.50-2-3.exe

Spanish:  Aspell-es-0.50-2-3.exe

Windows XP -- create an aspell.conf file at the following location:

c:/Program Files/Aspell/aspell.conf

# aspell.conf
# To dump the configuration, type into the terminal:
# "c:/Program Files/Aspell/bin/aspell.exe" --lang=en dump config

home-dir y:\.0.emacs

personal .aspell.en.pws

repl .aspell.en.prepl