$ grep "'" /usr/share/dict/words | wc -l
26226
$ grep -i python /usr/share/dict/words
Python
Python's
python
python's
pythons
Vấn đề là tất cả những từ có dấu nháy đơn này thực sự có trong tệp từ điển của bạn. Vì vậy, nếu bạn ổn với việc sửa đổi từ điển chính tả vim của bạn, thì hãy làm như vậy:
$ grep "'" /usr/share/dict/words | sed "s/'/’/g" >> ~/.vim/spell/en.utf-8.add
Điều này sẽ
grep
để tìm tất cả các từ trong từ điển hệ thống của bạn có dấu nháy đơn ( '
);
sed
để thay đổi các trích dẫn thẳng thành trích dẫn thông minh (đó là s/'/’/g
, trong đó trích dẫn đầu tiên là thẳng và thứ hai là thông minh); và
- nối nó vào từ điển ngôn ngữ của bạn (thay thế bằng bất cứ ngôn ngữ nào của bạn).
Bạn sẽ cần biên dịch lại .spl
tệp này thành một tệp mà bạn có thể thực hiện từ Vim:
:mkspell! ~/.vim/spell/en.utf-8.add
Nếu bạn muốn sử dụng các tệp chính tả thực tế mà Vim sử dụng làm nơi bắt đầu (thay vì từ điển hệ thống của bạn), bạn có thể sử dụng :spelldump
lệnh. Đầu ra sẽ bao gồm tất cả các từ mà Vim sử dụng cho hiện tại spelllang
, bao gồm cả những từ đã được thêm từ .add
tệp. Lưu kết quả của :spelldump
một tệp và xóa hai dòng đầu tiên (thông tin tiêu đề), sau đó sử dụng các lệnh tương tự như trên. Bạn cũng có thể muốn chuyển nó qua uniq
, để loại bỏ các mục trùng lặp. (Không cần sort
; đầu ra của :spelldump
đã được sắp xếp.)
's
như một mô hình? Không phải chỉ là tìm kiếm'
chính xác, asl tốt? Điều này sẽ bỏ lỡ những từ mà có'
ở một vị trí khác nhau (ví dụ nhưyou'd
,you've
, vv)