Я столкнулся с той же проблемой с wireMock, одновременно высмеивая остальные вызовы API. Раньше я определял сервер следующим образом:
WireMockServer wireMockServer = null;
Но он должен быть определен, как показано ниже:
@Rule
public WireMockRule wireMockRule = new WireMockRule(8089);
В исполняемой командной строке %
обозначает имя текущего файла . Это описано в : help cmdline-special
:
In Ex commands, at places where a file name can be used, the following
characters have a special meaning.
% Is replaced with the current file name.
Как вы уже узнали, : w! Cmd
передает содержимое текущего буфера другой команде. tee
копирует стандартный ввод в один или несколько файлов, а также в стандартный вывод. Следовательно, : w! Sudo tee%> / dev / null
эффективно записывает содержимое текущего буфера в текущий файл , будучи корневым . Для этого можно использовать другую команду: dd
:
:w !sudo dd of=% > /dev/null
В качестве ярлыка вы можете добавить это сопоставление в свой .vimrc
:
" Force saving files that require root permission
cnoremap w!! w !sudo tee > /dev/null %
Вы можете ввести : w !!
, чтобы сохранить файл как root.