энергия, ctags, и тождественно названные идентификаторы

Вы можете использовать usort(), чтобы точно определить способ сортировки массива. В этом случае массив $order может использоваться в функции сравнения.

В приведенном ниже примере используется closure , чтобы облегчить жизнь.

$order = array(3452342, 5867867, 7867867, 1231233);
$array = array(
    array('id' => 7867867, 'title' => 'Some Title'),
    array('id' => 3452342, 'title' => 'Some Title'),
    array('id' => 1231233, 'title' => 'Some Title'),
    array('id' => 5867867, 'title' => 'Some Title'),
);

usort($array, function ($a, $b) use ($order) {
    $pos_a = array_search($a['id'], $order);
    $pos_b = array_search($b['id'], $order);
    return $pos_a - $pos_b;
});

var_dump($array);

Ключом к этой работе является сопоставление значений, являющихся позициями id s в массиве $order.

Функция сравнения работает путем нахождения позиций идентификаторы двух элементов, которые нужно сравнить в массиве $order. Если $a['id'] приходит до $b['id'] в массиве $order, то возвращаемое значение функции будет отрицательным ($a меньше, поэтому «плавает» вверх). Если $a['id'] появляется после $b['id'], функция возвращает положительное число ($a больше, поэтому «опускается» вниз).

Наконец, нет особых причин использовать закрытие; это просто мой способ быстро написать эти виды отброшенных функций. Он также может использовать обычную именованную функцию.

17
задан Alex B 18 March 2009 в 01:48
поделиться

4 ответа

Существует также "tagNext" для перемещения в следующий тег (или: tn< enter>)

13
ответ дан 30 November 2019 в 12:14
поделиться

Я использую tjump много. Это поддерживает заполнение клавишей Tab, которое полезно. Если несколько тегов будут найдены, то это даст список для Вас для выбора из, если только один будет найден, то это перейдет право на тег (в отличие от этого tselect).

Использование:

:tj foo
8
ответ дан 30 November 2019 в 12:14
поделиться

Я знаю два обходных решения для Вашей проблемы (кажется знанием этого также):

  • Использование: tselect и имя тега или g] с курсором на теге для получают список подобранных тегов и goto на теге числом из списка;
  • карта: tnext или: tprev на горячих клавишах (я отобразился на F6 и F7) и находят необходимую функцию вручную;
7
ответ дан 30 November 2019 в 12:14
поделиться

Можно использовать мой сценарий, который поможет Вам выбрать тег, в котором Вы нуждаетесь путем ввода некоторых букв имени класса или специальных тегов как 'поле', 'функция', 'конструктор', и т.д.

http://www.vim.org/scripts/script.php?script_id=2507

5
ответ дан 30 November 2019 в 12:14
поделиться
Другие вопросы по тегам:

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