В программном обеспечении Altera Quartus ii 15.0 вкладка Инструменты->Параметры->Предпочитаемый текстовый редактор используется для изменения редактора при открытии файла. Есть опция для vim, и командная строка выглядит так:
"<<browse to specify executable location>>" -c %l %f
где %l = номер строки и %f = имя файла. Замените его на /usr/bin/vim
, щелкните файл в проекте, ничего не появляется. gvim
работает нормально, но я хочу использовать терминальную версию. Вот некоторые входы, которые я пробовал:
"/usr/bin/konsole -e vim %f"
Нажатие файловых подсказок не может найти исполняемый файл
"/usr/bin/konsole" -e vim %f
При нажатии на файл ничего не происходит (появляется)
"/usr/bin/konsole" --nofork -e vim %f
То же, что и выше
"/usr/bin/xterm" -e vim %f
Это работает, но я предпочитаю консоль
Я также попытался создать файл bash (уже +x) со следующим содержимым, но тщетно:
#!/usr/bin/bash
konsole --nofork -e vim "$1" > /dev/null 2>&1 # same behavior with/without --nofork and the redirection stuff
Также есть вариант «Пользовательский», и я повторил те же процедуры, что и выше, но не удалось.
Как только я заменю консоль на xterm, все заработает. Так в чем разница между этими двумя? И как я могу вызвать cli vim внутри консоли в этом программном обеспечении? Я помню, что когда я использую gnome-терминал, создание сценария для вызова vim работает отлично, но это другое программное обеспечение, поэтому все может быть по-другому.
%f
на имя файла вручную, все вышеперечисленные команды успешно запустят новый терминал с запущенным vim. - person Xiangyu Zhu   schedule 22.09.2015konsole
. Я могу ошибаться, но я подозреваю, что проблема с общей библиотекой. Поставщики инструментов САПР, как правило, переопределяют переменные среды, которые указывают на общие библиотеки (например,LD_LIBRARY_PATH
), чтобы они указывали на их собственные библиотеки. Они не знают, что это плохо и что это ломает большинство внешних программ, которые они вызывают из своих инструментов. Можете ли вы запустить Quartus из командной строки и просмотреть возможные сообщения об ошибках? Или отключитеLD_LIBRARY_PATH
в вашем сценарии bash перед запускомkonsole
. - person Renaud Pacalet   schedule 22.09.2015Inconsistency detected by ld.so: dl-close.c: 811: _dl_close: Assertion `map->l_init_called\' failed!
при запуске, но ничего не выводит при открытии файла. Иecho $LD_LIBRARY_PATH
тоже ничего не выводит ни до, ни во время выполнения Quartus ii. - person Xiangyu Zhu   schedule 23.09.2015konsole
? - person Renaud Pacalet   schedule 23.09.2015Konsole
запускается без проблем. ПосколькуLD_LIBRARY_PATH
пуст (все время), возможно, сброс настроек здесь не имеет значения. - person Xiangyu Zhu   schedule 23.09.2015unset LD_LIBRARY_PATH
перед вызовомkonsole
внутри этого скрипта bash и попытаться связать выполнение этого скрипта с командой Quartus? - person Renaud Pacalet   schedule 23.09.2015