Вы пытались установить для gridLines.offsetGridLines значение false? Это должно работать нормально. Ознакомьтесь с документацией здесь: https://www.chartjs.org/docs/latest/charts/bar.html#scale-configuration
options: {
scales: {
xAxes: [{
gridLines: {
offsetGridLines: false
}
}
}
}
Решение рампона - это первый шаг, но он рассчитывается по нагрузке vim. Когда я загружаю сеанс с несколькими вкладками, путь может быть непоследовательным от одной вкладки к другой.
Здесь мое решение (+ дополнительно с tabnew).
fun! SetMkfile()
let filemk = "Makefile"
let pathmk = "./"
let depth = 1
while depth < 4
if filereadable(pathmk . filemk)
return pathmk
endif
let depth += 1
let pathmk = "../" . pathmk
endwhile
return "."
endf
command! -nargs=* Make tabnew | let $mkpath = SetMkfile() | make <args> -C $mkpath | cwindow 10
Безусловно, самое простое решение - это иметь Makefile в вашем каталоге src, как это делают многие, многие проекты. устанавливаются независимо от редактора / IDE. У вас все еще может быть Makefile верхнего уровня, который вызывает make -C src
, с правилами сборки в src, расположенными в src, где они принадлежат.
Небольшая модификация того, что Адам сказал :
:set makeprg=[[\ -f\ Makefile\ ]]\ &&\ make\ \\\|\\\|\ make\ -C\ ..
Unescaped, это
[[ -f Makefile ]] && make || make -C ..
, что означает, стиль псевдокода
if file-exists(Makefile)
then make
else make -C ..
Это только один каталог вверх. Если вы хотите более общее решение, которое пойдет столько каталогов, сколько необходимо, вам нужно будет искать в каталогах предков, пока не будет найден Makefile, и я не уверен, как это сделать просто из командной строки. Но написание скрипта (на любом языке, который вы предпочитаете), а затем вызов его из вашего makeprg не должно быть трудным.
Чтобы ответить на второй вопрос, вы можете перемещаться по ошибкам, используя функцию быстрого исправления в VIM , Quickfix сохраняет ошибки в буфере и позволяет перемещаться вперед / назад по ним.
Возможно, вам придется определить regexp ошибки, чтобы VIM мог идентифицировать их по выходным данным Make, но мне кажется, что я помню, что это работает достаточно хорошо из коробки (мне пришлось изменить, как это работает для Java) Муравей строит - здесь явно не применимо)