При использовании определенных платформ как Платформа Зенда (PHP), только мудро использовать множественное число для классов таблицы и исключительный для классов строки.
Так говорят, что Вы создаете $users объекта таблицы = новые Пользователи () и объявили, что класс строки Пользователь, которого Вы будете в состоянии позвонить новому Пользователю () также.
Теперь, если бы Вы используете исключительный для имен таблиц, необходимо было бы сделать что-то как новый UserTable () со строкой, являющейся новым UserRow (). Это выглядит более неуклюжим мне, чем просто наличие объектные Пользователи () для таблицы и Пользователя () объекты для строк.
Я использую что-то вроде этого:
set list listchars=tab:»·,trail:·,precedes:…,extends:…,nbsp:‗
Требуется Vim7, и я не уверен, насколько хорошо это будет отображаться в браузере, потому что он использует некоторые забавные символы Unicode. Хорошо использовать некоторые необычные символы, чтобы отличить вкладку от того, что вы, возможно, набрали сами.
Помимо отображения вкладок, полезно показывать пробелы в конце строк, чтобы вы знали, что их нужно удалить (они раздражают ).
Используйте параметры списка
и listchars
, примерно так:
:set list
:set listchars=tab:>-
Многие другие упоминали параметры 'listchars' и 'list', но просто чтобы добавить еще одну интересную альтернативу:
if &expandtab == 0
execute 'syn match MixedIndentationError display "^\([\t]*\)\@<=\( \{'.&ts.'}\)\+"'
else
execute 'syn match MixedIndentationError display "^\(\( \{' . &ts . '}\)*\)\@<=\t\+"'
endif
hi link MixedIndentationError Error
Это будет смотреть на текущую настройку 'expandtab' (т.е. есть жесткие табуляции или пробелы, изображающие табуляцию) и будет выделять все, что выглядит как правильный отступ, но имеет неправильную форму. Они предназначены для работы, глядя на позиции табуляции, поэтому табуляции, используемые для отступа, за которыми следуют пробелы, используемые для простого выравнивания (не кратного 'tabstop'), не будут выделены как ошибочные.
Доступны более простые варианты: если вы просто хотите выделить все вкладки в неправильном файле ярко-красным цветом (или любым другим цветом вашей ошибки), вы можете сделать:
syn match TabShouldNotBeThereError display "\t"
hi link TabShouldNotBeThereError Error
или если вы хотите, чтобы пробелы в начале строки считались ошибкой, вы можете сделать :
syn match SpacesUsedForIndentationError display "^ +"
hi link SpacesUsedForIndentationError Error
Еще несколько мыслей, чтобы добавить к этому миксу ... подробнее здесь:
:help 'expandtab'
:help 'tabstop'
:help 'listchars'
:help 'list'
:help :exe
:help let-option
:help :hi-link
:help :syn-match
:help :syn-display
Кроме того, при вырезании и вставке текста полезно отключить отображение табуляции и пробелов. Вы можете сделать это с помощью
:set list!
и снова включите его, повторив команду.
Если вы сделаете следующее:
:set list
, тогда все символы TAB появятся как ^ I
, а все конечные пробелы появятся как $
.
Используя listchars
, вы можете контролировать, какие символы использовать для любых пробелов. Итак,
:set listchars=tab:...
в сочетании с : set list
делает вкладки видимыми как ...
.
glenn jackman спросил, как вводить символы (я предполагаю, что он имел в виду такие символы, как «» »).
Брайан Карпер предлагает метод, использующий индексный номер символа в Юникоде. Поскольку многие из этих характерных знаков являются орграфами [: help digraphs], вы также можете использовать ярлык CNTL-k, который, как правило, легче запомнить.
Так, например, вы можете сгенерировать "» "в Insert режима, дважды набрав CNTL-k и символ ">".