Làm cách nào để dừng Mac để chuyển đổi gõ dấu gạch ngang thành emdash?


102

Tôi nghĩ đó là một điều Sư tử núi, khi bạn gõ - (dấu gạch ngang) hai lần, nó sẽ trở thành - (emdash). Khi bạn nhập tm, nó sẽ trở thành ™ (ký hiệu nhãn hiệu). Hoặc khi bạn gõ ba. (dấu chấm), nó trở thành bản vá (elipsis). Một số hữu ích, một số rất khó chịu. Nhìn chung, tôi muốn ngăn chặn điều đó. Làm thế nào tôi có thể đạt được điều này?


2
Chỉ cần một lưu ý cho người khác đọc, rằng nếu đó không phải là một điều OSX dành cho bạn, thì đó có thể là trình soạn thảo văn bản của bạn. Tôi đã phải thay đổi TextEdit với Preferences> Smart dash.
levininja

tự hỏi giải pháp của macOS Sierra là gì.
Charlie Parker

Có vẻ như một số ứng dụng phải được đóng và mở để mọi thứ hoạt động. Tôi đã sử dụng ứng dụng ghi chú và có vẻ như nó không hoạt động cho đến khi tôi đóng một ứng dụng mở (hoàn toàn thoát khỏi nó). Có thể là tôi đã làm defaults write 'Apple Global Domain' NSAutomaticDashSubstitutionEnabled 0, nhưng ai biết được.
Charlie Parker

Câu trả lời:


102

(trên Sierra 10.12, giờ đây trong bảng điều khiển Bàn phím)

Đi đến tùy chọn hệ thống và chọn "Ngôn ngữ & văn bản"

nhập mô tả hình ảnh ở đây

Trong tab "Văn bản", bạn sẽ tìm thấy danh sách thay thế.

nhập mô tả hình ảnh ở đây

Nếu bạn muốn ngăn --không bị biến thành (emdash), bạn cần sử dụng nút + và thêm quy tắc mới để thay thế --bằng --(thay thế bằng chính nó)

Hoặc, nhấp chuột phải vào trường văn bản và đi đến "Thay thế" và tắt "Dấu gạch thông minh"

Dấu gạch ngang ngu ngốc


4
ah được rồi, vì vậy nếu tôi thực hiện một quy tắc khác là "-" thành "-" thì nó sẽ lưu dấu gạch ngang kép của tôi. Cảm ơn!
beatak

4
Thêm - để được thay thế bởi chính nó dường như không hoạt động trong Yosemite (và Keynote) :(
Balint Erdi

2
@BalintErdi Tôi chỉ tìm thấy câu hỏi này một lần nữa bởi googling cho vấn đề này, tìm thấy câu trả lời, nghĩ Hmmm, điều này không làm việc, những gì thằng ngốc posted trick mà và sau đó nhìn thấy nó là của riêng chết tiệt chỉnh sửa . CƯỜI NGẢ NGHIÊNG. Tôi vừa cập nhật câu trả lời, hy vọng rằng nó hoạt động tốt hơn bây giờ!
Josh

5
El Capitan 11.11Điều này bây giờ trên bảng điều khiển Bàn phím.
vy32

2
Tôi đã phải đóng và mở lại TextEdit để nó hoạt động trên Yosemite. Không cần khởi động lại.
Kris

49

Tôi đã gặp vấn đề tương tự trên Mavericks (10.9), trong đó bản sửa lỗi đã thay đổi một chút. Chuyển đến Tùy chọn hệ thống, sau đó "Ngôn ngữ & khu vực", sau đó nhấp vào nút "Tùy chọn bàn phím ..." và để chuyển đến tab "Văn bản". Tuy nhiên, nó không còn là sự thay thế nữa mà thay vào đó, ở phía bên phải của cửa sổ có một hộp kiểm "Sử dụng dấu ngoặc kép và dấu gạch ngang thông minh". Bỏ chọn điều này ngăn nó thay đổi hai dấu gạch nối thành một dấu gạch ngang.

Một chút gotcha: vào ngày 10.9.5 với TextEdit (và có thể là những người khác), bạn phải thoát sau đó khởi động lại trình chỉnh sửa của mình để thay đổi này có hiệu lực.


1
Và cũng vô hiệu hóa trích dẫn thông minh. Tôi không biết tại sao Apple quyết định gộp hai thứ đó vào cùng một thùng trong các tùy chọn. May mắn thay, bạn có thể vô hiệu hóa chúng riêng lẻ trong Chỉnh sửa> Thay thế, mặc dù hành vi đó là trên mỗi ứng dụng.
dgatwood

8
Trong 10.11 El Capitan ít nhất, có thể vô hiệu hóa chỉ các dấu gạch ngang thông minh (trong khi vẫn giữ các trích dẫn thông minh) bằng cách chạy defaults write 'Apple Global Domain' NSAutomaticDashSubstitutionEnabled 0từ thiết bị đầu cuối. Có hai cài đặt riêng biệt bên dưới mui xe NSAutomaticDashSubstitutionEnabledNSAutomaticQuoteSubstitutionEnabledcả hai đều được bật bằng hộp kiểm UI "Sử dụng dấu ngoặc kép và dấu gạch ngang thông minh". Nhưng không có gì đảm bảo từ Apple rằng điều này sẽ không thay đổi trong các phiên bản tương lai của OS X.
Adam Rosenfield

1
cảm ơn rất nhiều @AdamRosenfield, giải pháp của bạn cho đến nay là tốt nhất được liệt kê ở đây.
zanona

1
@AdamRosenfield, bạn nên nâng nhận xét này thành câu trả lời để chúng tôi có thể bỏ phiếu cho nó. :-)
Nick K9

bạn có chắc cái này hoạt động không? Tôi có cần khởi động lại máy Mac hoặc khởi động lại ứng dụng của mình không?
Charlie Parker

25

Trong 11.11 này là dưới System Preferences> Keyboard. Có một hộp kiểm cho Use smart quotes and dashes.

Bàn phím pref trong 11.11


4
Ngoại trừ việc làm đó cũng vô hiệu hóa các trích dẫn thông minh, điều mà bạn có thể không muốn làm. Tắt dấu gạch ngang thông minh trong Chỉnh sửa> Thay thế sẽ khắc phục vấn đề sạch hơn (chỉ tắt dấu gạch ngang), với lời cảnh báo rằng hành vi là trên mỗi ứng dụng. (Tại sao!?!)
dgatwood

1
Tại sao bạn muốn báo giá thông minh? Tôi luôn coi đó là một giải pháp cho một vấn đề chưa bao giờ thực sự tồn tại. Họ cũng đặc biệt kinh khủng cho các lập trình viên.
coredumperror

bạn có chắc cái này hoạt động không? Tôi có cần khởi động lại máy Mac hoặc khởi động lại ứng dụng của mình không?
Charlie Parker

@dgatwood Vì vậy, không phải tất cả các ứng dụng đều hỗ trợ Chỉnh sửa> Thay thế. Trong Slack chẳng hạn, tôi thấy không có giải pháp nào khác ngoài việc vô hiệu hóa cả hai vì câu trả lời này gợi ý thực hiện. +1 cho câu trả lời này (mặc dù tôi không ngại trích dẫn thông minh nếu nhập chúng vào)
Đánh dấu Edington

17

Trong các phiên bản trước của Mac OS X, có hai tùy chọn riêng cho dấu ngoặc kép thông minh và dấu gạch ngang thông minh trong Tùy chọn hệ thống bàn phím; tuy nhiên, trong ít nhất các phiên bản 10.9 đến 10.11, tùy chọn đó đã được thay thế bằng một tùy chọn "Sử dụng dấu ngoặc kép và dấu gạch ngang thông minh".

May mắn thay, vẫn còn hai tùy chọn riêng biệt bên dưới mui xe và hộp kiểm UI bật tắt cả hai tùy chọn này cùng một lúc. Bạn có thể bật hoặc tắt chỉ một trong những trích dẫn thông minh hoặc dấu gạch ngang thông minh từ thiết bị đầu cuối:

# Disable just smart dashes
defaults write -g NSAutomaticDashSubstitutionEnabled 0

# Disable just smart quotes
defaults write -g NSAutomaticQuoteSubstitutionEnabled 0

# To re-enable, set either back to 1.

Điều này hiện tại đúng với OS X 10.11; điều này có thể thay đổi trong các phiên bản tương lai của OS X (hoặc macOS, vì bây giờ nó sẽ được gọi).


Vẫn hoạt động kể từ ngày 10.12.6 - cảm ơn bạn!
Glenn

Vẫn hoạt động trên 10.13.
ShiDoiSi

4

Không chắc chắn nếu bạn vẫn gặp vấn đề này nhưng tôi mới phát hiện ra nó có thể gây khó chịu như thế nào. Tôi đã viết một tập lệnh unix cho Apple Remote Desktop yêu cầu một --getcờ và nó tiếp tục được chuyển đổi thành một dấu gạch ngang, làm hỏng lệnh.

Tôi không thể tìm cách tắt chuyển đổi em dash, nhưng tất cả hy vọng không bị mất. Trong menu Ngôn ngữ & Văn bản (tab Văn bản) tôi đã tạo một mục thay thế --bằng --(nghĩa là nó thay thế hai dấu gạch ngang bằng chính nó). Điều này ghi đè hệ thống chuyển đổi --thành một dấu gạch ngang.


3

Điều đáng nói là ngay cả khi đã bật "sử dụng dấu ngoặc kép và dấu gạch ngang thông minh", bạn vẫn có thể "hoàn tác" việc tự động chuyển đổi thành - (- emdash) bằng cách nhấn CMD + Z. Nếu tắt dấu gạch ngang thông minh nghe có vẻ quá cực đoan, đây là một cách để mang lại - (dấu gạch ngang kép).

Ngoài ra, đây là câu chuyện kinh dị của tôi về những câu nói hay của xoăn xoăn: Tôi đã sử dụng Github trong nhiều năm và tự hỏi tại sao "những đóng góp" của tôi không bao giờ xuất hiện chính xác trong hồ sơ của tôi. Cuối cùng tôi phát hiện ra rằng tôi đã cấu hình tên người dùng git của mình trong thiết bị đầu cuối với dấu ngoặc kép thay vì dấu thẳng:

git config --global user.name “Steve”       //instead of...
git config --global user.name "Steve"

Mặc dù tôi đã sao chép / dán lệnh trực tiếp từ hướng dẫn của GitHub , TextEdit đã sửa lỗi các trích dẫn của tôi trước khi tôi đặt chúng vào Terminal. Không thể tin được! Điều này khiến tôi phát điên, nhưng tôi đang hồi phục ...


3

Hành vi này được kiểm soát bởi một mặc định hệ thống. Để tắt nó, gõ vào thiết bị đầu cuối:

    mặc định ghi -app 'Keynote' TSWPAutomaticDashSubstlation 0

hoặc là

    mặc định ghi 'Tên miền toàn cầu của Apple' TSWPAutomaticDashSubstlation 0

Cái đầu tiên tắt thay thế dấu gạch ngang cho một ứng dụng cụ thể (ở đây, Keynote ); thứ hai cho tất cả các ứng dụng không có cài đặt mặc định của riêng chúng, ghi đè, mặc định. Thay thế 0bằng cách 1bật thay thế dấu gạch ngang trở lại.

Như các câu trả lời khác ở đây đã nêu, mặc định toàn cầu cũng có thể được thay đổi bằng Tùy chọn hệ thống (Bàn phím> Văn bản> Hộp kiểm "Sử dụng dấu ngoặc kép và dấu gạch ngang thông minh"), nhưng điều này bật và tắt thay thế trích dẫn cũng như thay thế dấu gạch ngang. Hơn nữa, một số ứng dụng, nhưng không phải tất cả, cho phép bạn thay đổi mặc định của chúng bằng cách nhấp vào điều khiển trong trường văn bản và chọn Thay thế hoặc Hiển thị Thay thế . Ví dụ: Mail cho phép bạn làm điều này, nhưng Keynote thì không.

Nếu bạn muốn bật thay thế trích dẫn, hãy nói, để sử dụng Keynote

mặc định ghi -app 'Keynote' NSAutomaticQuoteSubstlationEnables 1

hoặc, để bật nó cho mọi thứ không có mặc định ghi đè, hãy sử dụng

mặc định ghi 'Tên miền toàn cầu của Apple' NSAutomaticQuoteSubstlationEnables 1

Để tắt nó, sử dụng 0thay vì 1.


Đối với Slack, nơi điều này khiến tôi phát điên, tôi nghĩ rằng phím cài đặt là WebAutomaticDashSubstitutionEnabled.
Michael

Chính xác những gì tôi đang tìm kiếm, cảm ơn vì đã chia sẻ!
Rogare

2

Trong khi bạn đang sử dụng các công cụ "Office" của Apple: Trang, Số, v.v., các cài đặt trong Tùy chọn hệ thống hoặc dòng lệnh mặc định như được đề cập trong các câu trả lời trước sẽ không ảnh hưởng đến các thay thế thông minh. Thay vào đó, bạn sẽ phải chuyển đến thanh công cụ hàng đầu Chỉnh sửa> Menu thay thế để kiểm tra hoặc bỏ chọn 'Báo giá thông minh', 'Dấu gạch thông minh', v.v.

Nếu bạn đang sử dụng TextEdit thì câu trả lời của 7stud là cách, được đưa vào đây để hoàn thiện: TextEdit> Preferences và kiểm tra / bỏ chọn các cài đặt trong phần dưới cùng.


1

Nếu bạn chỉ muốn ngăn điều này xảy ra trong một dịp nào đó, hoặc theo một số trường hợp cụ thể, bạn có thể chỉ cần đợi Mac thực hiện thay đổi không mong muốn và sau đó nhấn CMD+zđể hoàn tác.


Bạn đã thử nghiệm điều này với "- 'và" - "để xác nhận công việc này như mong đợi như được mô tả bởi OP chưa?
Pimp Juice IT

0

Yosemite 10.2 and TextEdit:

  1. Khởi chạy TextEdit.

  2. TextEdit> Tùy chọn

  3. Ở góc dưới bên phải, bỏ chọn Smart dashes.

  4. Nếu tệp TextEdit của bạn đang mở, hãy đóng nó và mở lại.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.