Прежде всего позвольте мне сказать, что я не думаю, что тонкие различия между Байт-кодом Java и MSIL - что-то, что должно побеспокоить разработчика.NET новичка. Они оба служат той же цели определить абстрактную целевую машину, которая является слоем выше реальной машины, используемой в конце.
MSIL и Байт-код Java очень похожи, на самом деле существует инструмент, названный Кузнечик , который переводит MSIL в Байт-код Java, я был частью группы разработчиков для Кузнечика, таким образом, я могу поделиться небольшим количеством своих (увядших) знаний. Обратите внимание на то, что я прекратил работать над этим вокруг, когда платформа.NET 2.0 вышла, таким образом, некоторые из этих вещей не могут больше быть верными (раз так оставьте комментарий, и я исправлю ее).
struct
). enums
не намного больше, чем обертки вокруг целых типов, в то время как Java enums
является в значительной степени полностью оперенными классами (благодаря интернет-Друг для комментария). out
и ref
параметры. существуют другие языковые различия, но большинства из них не выражают по поводу уровня кода байта, например, если не изменяет память, Java не - static
внутренние классы (которые не существуют в.NET), не функция байт-кода, компилятор генерирует дополнительный аргумент конструктору внутреннего класса и передает внешний объект. То же верно для лямбда-выражений.NET.
См. : help autochdir
. Vim может автоматически изменить текущий рабочий каталог на каталог, в котором находится файл, который вы редактируете.
В противном случае, если вы хотите сделать это вручную, см. : help cd
и : help lcd
.
см. : модификаторы имени файла
:!latex % -output-directory %:h
Скорее всего, вы запускаете vim из домашнего каталога, поэтому для него это текущий . Команда latex
, вызываемая из vim, также имеет домашний каталог как текущий.
Вы, вероятно, знаете это и хотите просто извлечь путь из имени файла и передать его в качестве аргумента для -o
параметр latex
команды. Просто используйте возможности оболочки:
:!latex % -output-directory `dirname "%"`
Я не уверен, что это вариант -output-directory
, но вы получите то, что просили - имя каталога редактируемого файла.