Запустите приложение на начальной рабочей области вместо текущей рабочей области

Вот то, как сделать это для C:

  • Возьмите исходный файл синтаксиса (под Unix, обычно найденным в /usr/share/vim) и скопируйте его в (снова под Unix) ~/.vim/syntax.
  • Измените шаблон "конца" в cBlock определении региона:
syntax region cBlock    start="{" end="}" transparent fold

становится

syntax region cBlock    start="{" end="}\(\n\n\)\?" transparent fold

Здесь, первое \n соответствует символу новой строки сразу после закрывающей фигурной скобки, вторая пустая строка. Это не будет работать если } сопровождается, например, комментарий: блок все еще свернется, но следующая новая строка не будет.

У меня нет файла синтаксиса для Движения здесь (насколько я могу сказать), но оно должно работать похожим способом.

Примечание: более гибкий путь состоял бы в том, чтобы создать новый файл в ~/.vim/after/syntax и просто измените определение региона, но я был неудачен здесь. Просто копирование определения региона не работает.

2
25.03.2015, 01:48
1 ответ

Я хотел бы видеть, что это функционирует, но я не думаю, что это возможно.

Если приложение займет много времени, чтобы начать, может быть любое количество вещей, вызывающих, что:

  • все, что запустило, может быть медленным в вилке и выполнить его
  • , файловая система может быть медленной для доступа к исполняемому исполнению. Файл (особенно если, например, это сетевая файловая система)
  • Приложение может быть медленным, чтобы инициализировать себя до подключения к X-серверу
  • Приложение может быть задержем между подключением сервера X11 и открытие его Первое окно верхнего уровня.

Какие пользователи США будут думать о том, что когда мы запустили приложение, действительно раньше, чем все это. Это было бы время, когда кнопка мыши была выпущена, вызывая опцию меню для запуска приложения для выбранного. Или время входа входит keyPress в терминале, которое вызвало оболочку, чтобы принять команду, вызванную запуску приложения. Или, может быть, даже время, на котором щелкнулась время браузера HyperLink, которая вызвала загрузку, которая в конечном итоге вызвала открытие файла, когда загрузка была завершена. Что бы ни было, система недостаточно умных, чтобы причинить под сомнение событие с возможным отображением нового окна верхнего уровня.

Я думаю, что можно приблизить функцию, учитывая время запуска приложения, когда он сначала подключается к серверу X11. Сервер X11 может по крайней мере в принципе узнать это легко. Это, по крайней мере, смягчает задержки, которые происходят после того, как этот момент вовремя, позволяя открыть окно приложения, на какое-то рабочее пространство было отображено в то время. Это также потребовало бы сохранить историю временных метров, когда рабочие пространства произошли коммутаторы, так что можно вернуть и определить, какое рабочее пространство использовалось для видимости в то время. Это Smop . Было бы интересно, и я не думаю, что это было сделано, и я не знаю, насколько это было бы, ни было ли это приближением достаточно хорошей на практике.

1
27.01.2020, 22:21

Теги

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