среда, 4 сентября 2013 г.

Компиляция и запуск на выполнение файла .java прямо не выходя из vim (Часть 2)

Компиляция и запуск на выполнение файла .java прямо не выходя из vim

Вот собственно как это делается:
Некоторые команды для copy-paste:

:!javac -d ../bin %
:!java -cp ../bin %<

Для вызова команды в vim просто нажмите двоеточие, затем наберите остальное.
Некоторое пояснение к командам:
% - путь к файлу и имя файла, являющимся текущим в редакторе
%< - путь к файлу без расширения. Разработчики прямо как думали, что java запускает файлы классов без расширения .class.
-d - компилировать файлы в другой каталог. Может возникнуть вопрос: что за фигня, когда после "-cp ../bin" указан %? ../bin%< После объединения путь ../bin и %< параметр укажет на правильный файл .class.

четверг, 29 августа 2013 г.

Полезное применение почти бесполезного свойства vim

Полезное применение почти бесполезного свойства vim

Случайно узнал, что в vim есть такое сокращение, как Ctrl-a. Если его нажать, то число под курсором увеличится на 1. Вроде бы ничего особенного, но в какой-то момент я открыл на редактирование файл настроек tomcat\server.xml и увидел в нём параметр, указывающий номер порта, по которому к нему осуществляются административные подключения и подумал, что наверное было бы здорово его изменить именно по ctrl-a:
Нажал пару раз ctrl-a, счётчик номер порта стал увеличиваться. А что, удобно!

Как откомпилировать и запустить в vim программу *.java или *.bash

Как откомпилировать и запустить в vim программу *.java или *.bash

Среда: Linux/Oracle, vim 7.4, доступ putty/ssh

Для работы сильно помогают специальные сокращения vim в его командной строке.
Сначала посмотрим на пример запуска скрипта bash из vim. Сам скрипт должен иметь атрибут (execute), иначе его запуск будет невозможен. После сохранения файла на диске выполнить команду:
    :!./%
и программы выполнится:

В этой команде:
: - переход в командный режим vim
! - следующие символы интерпретировать как команды
./% - linux-овая команды на выполнение файла в текущем директории.

Тоже для *.java:

При компиляции/выполнении *.java файла необходимо учитывать значение package. Пусть исходный файл лежим в каталоге programs/exe:

Открываем его на редактирование:
И запускаем команду компиляции и выполнения:
Эти команды показаны тут по отдельности, но ничто не мешает объединить их в одну строку:
:!javac % && java %<

%< - указывает программу без расширения.