Я осознаю, что это странный вопрос, и это может быть даже не тот форум, на котором можно его опубликовать. Но это было проблемой в течение нескольких лет.
Время от времени, скажем, раз в месяц, когда я программирую , перед открытием фигурной скобки я вводю пробел без перерывов вместо обычного пробела.
Это случается, скажем, когда я пишу () {
Это приводит к таинственным ошибкам ворса. Пункты CSS, которые не применяются. Пока я не помню, это может быть так.
Насколько я знаю, это происходит только в vim, но, поскольку это мой главный редактор, в другом программном обеспечении этого просто не могло быть. Но никто из моих коллег на моих последних работах никогда не сталкивался с такой проблемой, хотя они используют ту же раскладку клавиатуры, что и я. Хотя я единственный, кто регулярно использует vim, поэтому я решил опубликовать здесь ...
Это случилось со мной по крайней мере в Ubuntu 14.04, 16.04 и Mac OS X.
:set list
не раскрывает это.
Я использую раскладку клавиатуры french-canadien, что означает, что символ скобки делается нажатием alt + `
Я очень устал от этого вызывающего проблемы, достаточно редко, я продолжаю забывать об этом.
Если вы не можете сказать мне, почему это происходит, какая-то конфигурация для выделения этого символа каким-то очевидным способом будет подходящим ответом и действительно поможет с этой проблемой.
источник
Ответы:
Другие уже предоставили обходные пути, но я уверен, что по этой причине вы случайно нажали Alt+ Space.
Я сам использую Xubuntu со 105-клавишной финской раскладкой клавиатуры, поэтому для меня ввод
{
означает нажатие AltGr+ 7. Я только что сделал быстрый тест в терминале xfce4 (в командной строке bash), и нажатие AltGr+ Spaceдействительно создает пробел без перерывов (U + 00A0).Могу поспорить, что происходит то, что вы нажимаете Altклавишу в ожидании ввода фигурной скобки, и иногда это происходит до того, как вы действительно нажимаете клавишу пробела, создавая неразрывный пробел. И поскольку оно выглядит идентично обычному пространству, вы не понимаете, что это произошло до того, как что-то таинственно сломалось, из-за чего вам трудно заметить, что это происходит, и, следовательно, также трудно отучиться от этой привычки.
источник
/usr/share/X11/xkb/symbols/us
) после точной настройки вызоваsetxkbmap us
или любого другого языка ваших предпочтенийВы можете добавить автокоманду, которая заменяет неразрывные пробелы обычными при сохранении определенных типов файлов, например. поместив что-то подобное в ваш vimrc:
Вы можете настроить его, добавив больше типов файлов или установив метку и вернувшись к нему после операции замены, так как в противном случае вы будете перемещены в начало последней строки, где была произведена замена.
источник
'listchars'
Вариант обеспечивает средство , чтобы сделать'list'
дисплей неразрывных пробелов. Это не установлено по умолчанию, поэтому вы, вероятно, хотите добавить его.источник
vimrc
она будет выделять их по мере их ввода.да, это, вероятно, alt + space, часто случается со мной, когда я использую оператор pipe:
Если вы удерживаете клавишу Alt слишком долго, она создаст неразрывный пробел после того, как канал и bash попытаются найти команду «grep», а затем сообщат вам, что grep не был найден.
на макросах была некоторая хитрость для изменения раскладки клавиатуры, поэтому каждый раз, когда вы вставляете неразрывный пробел, он будет преобразован / заменен на обычный. Насколько я помню, раскладка клавиатуры изменяется для всей клавиатуры, поэтому она решает вашу проблему во всех приложениях.
источник