Tôi đang sử dụng bố trí bàn phím Phần Lan để ánh xạ AltGr+ Spacevào không gian không phá vỡ (NBSP, U + 00A0). Tôi rất hài lòng với điều này nói chung nhưng tôi thấy rằng tôi thường vô tình viết NBSP thay vì không gian bình thường sau |
biểu tượng "" (được viết bằng AltGr+ <với bố cục bàn phím Phần Lan) trong khi sử dụng dòng lệnh bash. Tôi đoán điều này là do thực tế là tôi cần phải giữ AltGrtrong khi gõ ống và nhả nó trước khi chạm vào không gian. Và khi tôi có thời điểm xấu để phát hành, AltGrtôi kết thúc bằng lỗi đánh máy vô hình trên dòng lệnh và các thông báo lỗi như
grep: command not found
trông khá giống với
grep: command not found
Điều này làm cho vấn đề này hơi khó để nhận thấy lần đầu tiên.
Tôi biết rằng tôi có thể vô hiệu hóa NBSP nhưng tôi chỉ muốn vô hiệu hóa nó (có AltGr+ Spaceđể tạo không gian thông thường) chỉ sau ký tự ống hoặc nếu không thể, luôn luôn ở dòng lệnh hoặc readline
mức bash . Có cách nào đơn giản để làm điều này mà không cần sửa đổi mã nguồn của bash, readline
hoặc trình giả lập thiết bị đầu cuối của tôi ( gnome-terminal
) không?
Một giải pháp tốt khác là cấu hình NBSP bằng cách nào đó hiển thị trên dòng lệnh, ví dụ: được thay thế bằng một ký tự khác (giả sử U + 2423 ␣
) chỉ để hiển thị.
" ":␣
đủ? Bạn cần gì nữa?
echo a␣b
nhưng dòng đầu ra kết quả là echo a b
với NBSP thực trong đầu ra. Như vậy, tôi nghĩ rằng nó phải được thực hiện ở cấp độ đọc (nghĩa là trình soạn thảo dòng lệnh luôn hiển thị ký tự hiển thị nhưng trình giả lập thiết bị đầu cuối không thể biết sự khác biệt giữa hiển thị trình soạn thảo và hiển thị đầu ra và do đó trình giả lập thiết bị đầu cuối không thể thay thế trực quan cho kết xuất ).