Làm cách nào để tắt tổ hợp phím Tùy chọn-Không gian cho các không gian không phá vỡ?


59

Làm cách nào để tắt tổ hợp phím Tùy chọn-Không gian gây phiền nhiễu cho các không gian không phá vỡ?

Điều này rất khó chịu trong Eclipse hoặc thiết bị đầu cuối vì tôi thường gõ không gian không phá vỡ thay vì không gian thông thường.


3
FWIW, Nó được gọi là phím tùy chọn thay vì phím alt trên máy Mac.
Chealion

Có thể biến Terminal display nbsp thành một ký tự ngược hoặc một số loại, vì vậy bạn sẽ thấy nó ngay lập tức khi bạn gõ nhầm? Bởi vì một số lần bạn thực sự làm muốn gõ một nbsp.
forthrin

Câu trả lời:


60

Làm cho ~/Library/KeyBindings/DefaultKeyBinding.dicttệp của bạn trông như thế này (nếu nó không tồn tại, hãy tạo nó, nếu đã có các ràng buộc trong đó, chỉ cần thêm tệp từ bên dưới):

{
"~ " = ("insertText:", " ");
}

Cái này làm gì Mỗi lần bạn nhấn Option-Space thay vì chèn một không gian không phá vỡ, OS X sẽ chèn một khoảng trắng thông thường. Vấn đề cố định.

Bạn cần khởi động lại thiết bị để áp dụng thay đổi này.


Tôi không thể có được tác phẩm này trên OSX 10.7 :(
Eemeli Kantola

4
@EemeliKantola Nó vẫn hoạt động với tôi, nhưng bạn phải mở lại các ứng dụng để áp dụng các thay đổi. Terminal, Xcode và nhiều ứng dụng đa nền tảng không hỗ trợ DefaultKeyBinding.dict.
Lri

1
@LauriRanta Terminal dường như hỗ trợ DefaultKeyBinding.dicttập tin.
Ragnar123

Điều này hoạt động trên Yosemite 10.10.2. Tôi đã tạo thư mục và tập tin từ đầu. Cảm ơn nhiều!
Petr Cibulka

1
Cũng làm việc cho tôi trên El Capitan, OS X 10.11. Cảm ơn!
n2o

14

Như đã đề cập trong các bình luận, giải pháp do Martin cung cấp không hoạt động trong một số ứng dụng, quan trọng nhất (đối với tôi) trong trình soạn thảo của tôi, Sublime Text 2.

Vì vậy, đối với tất cả các bạn đang gặp rắc rối vì không phá vỡ khoảng trắng trong mã của mình, bạn có thể thêm liên kết phím tùy chỉnh sau vào sơ đồ bàn phím người dùng ( "Sublime Text 2 > Preferences > Key Bindings - User"):

{ "keys": ["alt+space"], "command": "insert_snippet", "args": {"contents": " " } }

Điều này sẽ chèn một không gian thông thường thay vì không phá vỡ.


11

Tôi sử dụng iTerm2 cho hầu hết các công việc của mình và có thể thêm ánh xạ vào ngăn tùy chọn "Khóa", bằng cách thêm tổ hợp phím mới trong Tùy chọn -> Phím -> nút dấu cộng. Lưu ý khi thêm khóa, hãy đảm bảo đặt một khoảng trắng ở ô dưới như hình minh họa.

screencap thêm phím tắt


Giải pháp rất tốt! Heck, tôi vẫn nhận được thông tin có giá trị từ một bài viết bốn năm tuổi. :-)
Malax

Bạn làm cho ngày của tôi!
Enrique Marcos

6

Bạn cũng có thể tạo bố cục bàn phím tùy chỉnh với Ukelele (xem https://superuser.com/a/515151 ) hoặc sử dụng KeyRemap4MacBook :

https://github.com/tekezo/KeyRemap4MacBook/blob/master/src/core/server/Resource/include/checkbox/stiterias/space.xml

<item>
  <name>Non-Breaking Space to Normal Space</name>
  <appendix>(Option+Space to Space)</appendix>
  <appendix>(Option+Shift+Space to Space)</appendix>
  <identifier>remap.option_space_to_space</identifier>
  <autogen>__KeyToKey__ KeyCode::SPACE, MODIFIERFLAG_EITHER_LEFT_OR_RIGHT_OPTION | ModifierFlag::NONE, KeyCode::SPACE</autogen>
  <autogen>
    __KeyToKey__
    KeyCode::SPACE, MODIFIERFLAG_EITHER_LEFT_OR_RIGHT_OPTION | MODIFIERFLAG_EITHER_LEFT_OR_RIGHT_SHIFT | ModifierFlag::NONE,
    KeyCode::SPACE,
  </autogen>
</item>

3

Vì đây là câu trả lời mà Google chỉ cho bạn khi tìm kiếm "Cách vô hiệu hóa các khoảng trắng không vi phạm trong Văn bản cao siêu" ( xem câu trả lời của x3ro ) Tôi nghĩ rằng tôi sẽ đăng câu trả lời cho Văn bản tuyệt vời trên Linux. Thêm phần này vào các ràng buộc chính của bạn:

{ "keys": [" "], "command": "insert_snippet", "args": { "contents": " " } }

Chuyển đến "Tùy chọn" → "Liên kết chính - Người dùng" để chỉnh sửa các ràng buộc chính của bạn.

Lưu ý rằng không gian trong "keys": [" "]là một không gian không phá vỡ.

Cũng lưu ý rằng ràng buộc khóa này cũng ảnh hưởng đến các widget, như hộp tìm kiếm. Nói cách khác, bạn không còn có thể nhập các khoảng trắng không phá vỡ vào hộp tìm kiếm của mình, đây có thể là một vấn đề. Để vô hiệu hóa không gian không phá vỡ chỉ trong trình soạn thảo văn bản, thay vào đó, hãy sử dụng ràng buộc phím này:

{
    "keys": [" "],
    "command": "insert_snippet", "args": { "contents": " " },
    "context": [
        { "key": "setting.is_widget", "operand": false }
    ]
}

3

Một giải pháp toàn cầu khả thi là đặt alt- spacethành một thứ khác như Hiển thị Trung tâm thông báo trong Tùy chọn hệ thống> Bàn phím> Phím tắt> Điều khiển nhiệm vụ.

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


3

Sử dụng OSX Sierra (10.12.6) và giải quyết vấn đề này rất dễ dàng bằng cách sử dụng Karabiner-Elements:

https://github.com/tekezo/Karabiner-Elements

Sau khi mở, hãy chuyển đến "Sửa đổi phức tạp"> "Thêm quy tắc"> "Nhập thêm quy tắc từ Internet" và tải xuống quy tắc "Tắt alt + phím cách (không gian không phá vỡ)". Thêm nó, và bạn đã hoàn tất!


3

Tôi cũng không thể sửa lỗi KeyBindings. Tương tự như câu trả lời cao siêu, cuối cùng tôi đã định cấu hình trình soạn thảo của mình (Mã VS) để chèn một không gian bình thường bằng cách thêm

{ "key": "alt+space", "command": "type", 
                      "when": "editorTextFocus",
                      "args": { "text": " " } }

đến toàn cầu của tôi keybindings.json( Preferences: Open Keyboard Shortcuts Filetrong bảng lệnh).


1

Đối với tôi, bản sửa lỗi KeyBindings không hoạt động. Tôi sử dụng Coda2 như một biên tập viên. Tôi đã quản lý để có được sự thay thế để làm việc với BetterTouchTool.

BetterTouchTool: "Bàn phím> Thêm phím tắt mới" sau đó nhập "alt + dấu cách" trong "Phím tắt" và "Dấu cách" trong "Kích hoạt phím tắt bàn phím khác"


Cảm ơn!, Bettertouchtool có một giải pháp cho tất cả các vấn đề: p
Steven.B
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.