Как vim & ldquo; пишет с помощью sudo & rdquo; трюк?

Я столкнулся с той же проблемой с wireMock, одновременно высмеивая остальные вызовы API. Раньше я определял сервер следующим образом:

WireMockServer wireMockServer = null;

Но он должен быть определен, как показано ниже:

@Rule 
public WireMockRule wireMockRule = new WireMockRule(8089);
1298
задан Yamaneko 30 October 2012 в 18:02
поделиться

1 ответ

В исполняемой командной строке % обозначает имя текущего файла . Это описано в : 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.

95
ответ дан 19 December 2019 в 20:15
поделиться
Другие вопросы по тегам:

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