не может определить команду, которая выполняет команду Explore

Ваш диск имеет 1 текущий ожидающий сектор; это означает, что сектор не может быть прочитан правильно. обычно это аппаратная проблема, которая приводит к неудачному чтению во время самотестирования SMART. Если вы пишете этот сектор, он может либо «исправить» проблему, либо превратиться в перераспределенный сектор.

Поскольку технически диск уже потерял данные на данном этапе, я бы больше не доверял ему важные вещи.

-121--86086-

@ Способ JJoao, безусловно, используется. Однако я написал этот очень неэффективный сценарий, который может представлять интерес:

#! /bin/bash

SRC_DIR="/path/to/programs"
TMP_DIR="/tmp/tree"
declare -A FUNCS

iterate ()
(
    program="$1"
    FUNCS["$program"]="$TMP_DIR/$program"
    mkdir "${FUNCS[$program]}"
    grep -Po '(?<=\bCALL ")[^"]*' "$SRC_DIR/$program" | while read child
    do
        if [[ -n ${FUNCS[$child]} ]]
        then
            ln -s "${FUNCS[$child]}" "${FUNCS[$program]}/$child"
        else
            iterate "$child"
        fi
    done
)

[[ -n $1 ]] && { iterate "$1"; tree -dlo call-graph.html -H "$TMP_DIR" "$TMP_DIR"; }
rm -rf "$TMP_DIR"

Он создает каталог дерево , с каждым каталогом, представляющим функцию, содержащую символические ссылки на другие каталоги/функции, которые он вызывает. Программа tree естественно хороша в рисовании деревьев (опция -l следует по символьным ссылкам, если не обнаружена рекурсия, -o генерирует вывод HTML).

Конечно, в идеале вы должны смотреть на генераторы графов вызовов для вашего языка. В этом SO-вопросе перечисляются некоторые для C, возможно, вы сможете найти тот, который поддерживает ваш язык.

-121--253600-

Можно использовать Автокей . Вот описание из веб- сайта. "AutoKey - это утилита автоматизации рабочего стола для Linux и X11. Он позволяет управлять коллекцией сценариев и фраз и назначать им сокращения и горячие клавиши. Это позволяет выполнять сценарий или вставлять текст по требованию в любую программу, которую вы используете ".

Он упакован, насколько я могу судить, для Gentoo (анонсирован здесь ); для Ubuntu ( здесь ); Debian ( здесь )...

0
04.06.2014, 13:39
2 ответа

Вы близки, но запутаете различный синтаксис для отображений и команд :

  • Команды принимают Ex-команды , поэтому : переходить из нормального режима в режим командной строки не обязательно (но это тоже не повредит).
  • Команда Ex выполняется автоматически, не добавляйте .

Итак, это должно работать:

command! RootDirRubyOpen Explore ~/.rbenv/versions/2.0.0-p247

Плагин netrw перехватывает : e каталога через autocmds; но вы можете просто пропустить это и использовать : Изучите напрямую.

Конечно, для этого требуется, чтобы подключаемый модуль netrw был активен, а модуль : Explore действительно работал при вводе (что является хорошим шагом для устранения неполадок команд и сопоставлений).

2
28.01.2020, 02:37

Ваша первая команда работает на моем компьютере без каких-либо проблем ( "~ / .rbenv / versions / 2.0.0-p247 ^ M" [Новое СПРАВОЧНИК] ), второй вроде нет. (версия 7.2.411).

Помните, что если у вас нет файла .vimrc, вы не сможете выполнять команды : Explore , а также проверять, установлен ли у вас подключаемый модуль netrw в : scriptnames ( /usr/share/vim/vim72/plugin/netrwPlugin.vim )

0
28.01.2020, 02:37

Теги

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