Sangat sering, di Mac saya, ketika saya menggunakan karakter pipa (|) diikuti oleh karakter spasi, karakter yang tidak terlihat akan dimasukkan di antaranya.
Ini sangat mengganggu ketika menggunakan terminal, karena membuat perintah tidak valid.
Jika saya mengetik berikut ini di iterm2, saya sering mendapatkan yang berikut:
ls | cat
zsh: command not found: cat
Jika saya menekan tombol panah atas untuk mendapatkan perintah saya sebelumnya, dan kemudian menghapus dan masukkan kembali ruang di antara |
dan cat
, perintah akan bekerja.
Ketika saya menyalin, tempel perintah yang berfungsi dan yang tidak berfungsi ke dalam file, seperti ini:
non-working: ls | cat
working: ls | cat
dan buka di Hex Fiend itu menunjukkan hal berikut:
non-working: ls | cat
working: ls | cat
Saya juga mengalami masalah yang sama di SublimeText2 menggunakan tanda kurung ( []) diikuti oleh spasi. Jadi saya tidak percaya ini masalah dengan iTerm2.
Jawaban:
Apa yang terjadi adalah Anda terus menekan ⌥dengan spasi, yang menyisipkan ruang tanpa putus , dikenal dalam HTML melalui
referensi. Ruang tanpa putus ini berguna dalam pemrosesan teks di mana Anda ingin kata-kata tertentu saling menempel, seperti "OS" dan "X" di "OS X".Jelas, ini adalah karakter unicode (
00A0
), dan karenanya sebagian besar utilitas command-line akan gagal, seperti bash seeing_cat
(di mana_
ruang non-breaking), dan Hex Fiend hanya menggunakan representasi buruk untuknya. Beberapa editor di sisi lain hanya akan menghapusnya secara diam-diam (misalnya editor ini di sini), sementara yang lain bahkan memiliki representasi khusus untuk itu (misalnya TextMate menunjukkan sebuah titik alih-alih ruang kosong).Ada dua solusi:
Lebih memperhatikan untuk melepaskan ⌥kunci saat menekan tombol spasi. Ngomong-ngomong: Itu terjadi padaku setiap saat juga.
Nonaktifkan kombinasi semuanya: Cara menonaktifkan kombinasi tombol Option-Space untuk ruang yang tidak melanggar?
sumber
⌥
pengubah ke karakter ruang biasa.