Энергия может быть сделана только развернуть вкладки слева от текста?

Эта версия старается не создавать подстроку и не использует регулярные выражения (здесь будут работать некоторые ответы regex; другие повреждаются):

String.prototype.endsWith = function(str)
{
    var lastIndex = this.lastIndexOf(str);
    return (lastIndex !== -1) && (lastIndex + str.length === this.length);
}

, Если бы производительность важна для Вас, это стоило бы протестировать, быстрее ли lastIndexOf на самом деле, чем создание подстроки или нет. (Это может зависеть от механизма JS, который Вы используете...), Это может быть быстрее в случае соответствия, и когда строка является маленькой - но когда строка огромна, это должно оглянуться назад через все это даже при том, что мы действительно не заботимся: (

Для проверки отдельного символа, нахождение длины и затем использование charAt являются, вероятно, лучшим способом.

5
задан chaos 20 July 2009 в 01:57
поделиться

2 ответа

Да. Используйте плагин Smart Tabs .

Этот сценарий позволяет вам использовать ваши обычные настройки табуляции для начала строки и расширять табуляции как пробелы в любом другом месте. Это эффективно отличает «отступ» от «выравнивания».

Использует настройки вкладки редактора для вставки табуляции в начало строки (перед первым непробельным символом) и вставляет пробелы в противном случае.

Использует настройки вкладки редактора для удаления вкладок или «развернутых» вкладок ala smarttab

Чтобы Vim выровнял аргументы функции, добавьте

set cindent
set cinoptions=(0,u0,U0

в .vimrc . Плагин будет кодировать пробелы как таковые:

int f(int x,
......int y) {
--->return g(x,
--->.........y);
}

Это делает выравнивание « x » и « y » независимо от размера табуляции ( tabstop ) .

5
ответ дан 14 December 2019 в 01:14
поделиться

Попробуйте что-то вроде этого:

function! TabMaybeIndent()
    if strpart(getline('.'), 0, col('.') - 1) =~ '^\s*$'
        return "\<Tab>"
    else
        return "    "
    endif
endfunction

set noexpandtab
imap <Tab> <C-r>=TabMaybeIndent()<CR>
4
ответ дан 14 December 2019 в 01:14
поделиться
Другие вопросы по тегам:

Похожие вопросы: