Как я могу создать папку, если она не существует от .vimrc?

Этот поток имеет информацию о дизайне, которая должна быть отображаемой.

Для заключения в кавычки:

Вот то, что я использовал успешно в прошлом:

схема

таблицы MsgQueue идентификационные данные MsgId - NOT NULL
MsgTypeCode varchar (20) - NOT NULL
SourceCode varchar (20) - процесс, вставляющий сообщение - символ состояния NULLable
(1) - 'N'ew, если поставлено в очередь, (ctive) при обработке, 'C'ompleted, 'N' по умолчанию - дата и время NOT NULL
CreateTime - GETDATE по умолчанию () - сообщение NOT NULL
varchar (255) - NULLable

, типы сообщений - то, что Вы ожидали бы - сообщения, которые соответствуют контракту между вставкой процесса (процессов) и чтением процесса (процессов), структурированный с XML или Вашим другим выбором представления (JSON был бы удобен в некоторых случаях, например).

Тогда 0 к процессам n может вставлять, и 0 к процессам n может читать и обрабатывать сообщения, Каждый процесс считывания обычно обрабатывает единственный тип сообщения. Несколько экземпляров типа процесса могут работать за выравниванием нагрузки.

читатель вытягивает одно сообщение и изменяет состояние на "A" ctive, в то время как это работает над ним. То, когда это сделало его, изменяет состояние на "C" omplete. Это может удалить сообщение или не в зависимости от того, хотите ли Вы сохранить журнал аудита. Сообщения состояния = 'N' вытягивают в порядке MsgType/Timestamp, таким образом, существует индекс на MsgType + состояние + CreateTime.

Изменения:
состояние для "E" rror.
Столбец для Читателя обрабатывают код.
Метки времени для изменений состояния.

Это обеспечило хороший, масштабируемый, видимый, простой механизм для того, чтобы сделать, много вещей как Вы описывают. Если у Вас есть основное понимание баз данных, это является довольно надежным и расширяемым. Никогда не было проблемы с откатами блокировок и т.д. из-за атомарных транзакций изменения состояния.

28
задан Fragsworth 10 October 2009 в 11:30
поделиться

2 ответа

Вы можете поместить это в свой .vimrc:

silent !mkdir ~/.vim_backup > /dev/null 2>&1

Это будет пытаться создавать ~ / .vim_backup каждый раз, когда вы запускаете vim. Если он уже существует, mkdir сообщит об ошибке, но вы никогда ее не увидите.

27
ответ дан 20 November 2019 в 01:50
поделиться

Я хотел решить эту проблему, которая работала бы как в Linux, так и в Windows (с двоичными файлами Cygwin на пути). Моя конфигурация Vim используется ими обоими совместно.

Одна из проблем заключается в том, что mkdir, как мне кажется, встроен в командную оболочку Windows, поэтому его нельзя переопределить, поместив исполняемый файл Cygwin mkdir раньше в путь.

Я решил эту проблему, вызвав новую оболочку bash для выполнения действия: «mkdir» всегда означает, какой исполняемый файл mkdir находится на пути:

!bash -c "mkdir -p ~/.vim-tmp"

Однако здесь есть проблема. по крайней мере, в Windows появляется новое окно для оболочки cmd с '!' вызывает. Не хочу этого каждый раз, когда запускаю vim. Затем я обнаружил функцию vim «system», которая вызывает новую оболочку cmd (значок появляется на панели задач Windows), но окно свернуто. Следовательно:

call system("bash -c \"mkdir -p ~/.vim-tmp\"")

Уродливо, но работает.

2
ответ дан 20 November 2019 в 01:50
поделиться
Другие вопросы по тегам:

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