Topic: Плагин для Vim

Текущая версия: 0.3.0;

Я написал плагин для Vim, с помощью которого можно быстро перемещаться по комнатам, объектам
и диалогам, а также открывать текущий редактируемый файл в instead!

Принцип работы:
При нажатии на клавишу <F5>/<F6>/<F7> открывается окно со списком комнат/объектов/диалогов.
При нажатии на <Enter> окно закрывается и курсор в основном окне с исходником игры перескочит на соответствующую строку. Можно закрыть окно, нажав <Esc>.

http://instead.syscall.ru/forum/misc.php?action=pun_attachment&amp;item=618

Клавиши можно настроить. Для этого нужно переопределить глобальные переменные в vimrc.
Например:

let g:InsteadRoomsKey = "<F1>"
let g:InsteadObjsKey = "<F2>"
let g:InsteadDlgsKey = "<F3>"

Если вместо room используется что-то другое (не room вовсе), то это можно тоже настроить:

let g:InsteadRoomToken = "scene"
let g:InsteadObjToken = "stuff"
let g:InsteadDlgToken = "talk"

Если кому-то не нравится положение окна (внизу), то можно сделать окно сбоку:

let g:InsteadWindowPosition = "left"

http://instead.syscall.ru/forum/misc.php?action=pun_attachment&amp;item=617

Чтобы запустить редактируемый файл в Instead, нужно нажать клавишу <F8> (по умолчанию).
Клавишу можно настроить:

let g:InsteadRunKey = "<F12>"

Решение пока завязано на bash, так что это в какой-то степени хак smile

В принципе это все smile Я написал корявый хелп, если что можно почитать:

:help instead

Ссылка на последнюю версию:
https://github.com/excelenter/vim-inste … all/master

Кто использует Pathogen, может склонировать реп себе в папку с бандлами:

$ git clone git://github.com/excelenter/vim-instead.git

Багов наверняка море, поэтому -- пишите, если что-то не так.
Пожелания приветствуются, если они вполне обоснованы -- реализую smile

Post's attachments

Attachment icon shot.png 59.48 kb, 143 downloads since 2012-03-04 

Attachment icon shot2.png 43.82 kb, 119 downloads since 2012-03-04 

Re: Плагин для Vim

UPDATE:

ver. 0.1.1
теперь кнопки f5/f6/f7 работают прямо внутри выпадающего окна;
код плагина частично переписан.

Re: Плагин для Vim

UPDATE:
ver 0.2.1 (0.2 на форум не добавил  cool )
Пофикшены баги c маппингом клавиш, и теперь room/iroom/xroom настраивать не обязательно -- они все пашут. Ну и еще какие-то мелкие фиксы, не упомнишь всех.

Re: Плагин для Vim

UPDATE:
ver 0.3.0
Теперь можно запускать текущий редактируемый файл прямо из редактора! По умолчанию кнопка <F8>.
Работает аля PyIGE  cool Правда пока что Linux only sad

Re: Плагин для Vim

плагин использую постоянно, Эксель спасибо лишний раз за него. но запуск инстеда... смысл?
при разработке у меня лично постоянно копия инстеда висит в памяти
лучше иметь возможность по кнопке создавать экземпляр заготовки для room, obj и dlg. это было бы полезнее...

Re: Плагин для Vim

Ну я для себя плагин тоже делаю 8) В pyige сохранять и запускать квест одной кнопкой было удобно.
Сниппеты для xptemplates выложу попозже, надо их подкорректировать, а то приходится на таб тыкать слишком много smile пока можешь посмотреть в теме:
http://instead.syscall.ru/forum/viewtopic.php?id=407
Там есть сниппеты для плагинов snipmate и ultisnips, оба для вима, последний лучше, но он завязан на python.

Re: Плагин для Vim

нужно написать минихауту куда устанавливать, либо написать в ридми

Qui habet aures audiendi, audiat...

Re: Плагин для Vim

Да, плагин зачётный! Пользуюсь  smile

Коты рулят! И велики!

Re: Плагин для Vim

Мини хауту есть в первом посте, но наверное еще добавлю.

Jhekasoft: спасибо smile

10

Re: Плагин для Vim

excelenter:
можешь написать плагин, который бы делал vimdiff двух файлов, НО при этом игнорировал бы мультиязычные строковые различия в текстах?
ну в смысле в выводимом тексте (который выводится в p(), p[[]] и ещё где там)...

пример. чтобы игнорировал различия, если в одном файле
p [[Это стол]].
а в другом файле
p [[It is a table]].
чтобы считал это одинаковым кодом.
ну то есть чтобы было можно сравнить английский и русский код.
сейчас что meld что vimdiff выводят различия на каждой строке, что в разы усложняет сравнение мультиязычных файлов.
просто если что-то поменял в русской версии, и для добавления этого изменения в другую версию приходится руками ковырять. а если изменений много -- всё, финиш.

Re: Плагин для Vim

Нужно писать специальную тулзу для перевода. Думаю, проще всего ее делать на lua.
Мысль была в том. чтобы выцеплять строки в отдельный файл.
Потом ты их там редактируешь, и можно их импортировать назад.

Стандартный механизм gettext не подходит (почему - я уже писал давно где-то тут на форуме).

Хотя в чем то идея похожа не gettext, но различие в том, чтобы менять непосредственно в коде игры, хоть и автоматически из файла перевода.

Сейчас по понятным причинам этим не буду заниматься - инстедоз. smile

Но уверен, плагином не обойтись - да и нереально это по-моему.

Re: Плагин для Vim

Peter wrote:

Сейчас по понятным причинам этим не буду заниматься - инстедоз. smile

Скорейшего выздоравления.

Re: Плагин для Vim

Предлагаю продолжить по локализации в соотв теме: http://instead.syscall.ru/forum/viewtop … 17&p=3

А то у нас уже тут такая свалка - не разберешь smile

14

Re: Плагин для Vim

прикол в том, что мне нужно ОТСЛЕЖИВАТЬ различия в мультиязыковых файлах
на примере "зеркала" я уже понял, что квесты в разных языках одной и той же игры МОГУТ чуть отличаться.
поэтому мне не нужны тулзы для обработки моих луа-файлов. я и без прог в них запутаюсь.
мне нужна возможность СРАВНЕНИЯ ИХ БЕЗ ПОКАЗА ОТЛИЧИЙ в разных языках
я попросил ТО, ЧТО мне нужно
мне нужен инструмент ОТЛАДКИ готовых игр
а не для создания англоязчыной версии однократно. это я и руками могу.
а если предлагается путь "запустить утилиту, которая выдернет строки, потом сравнивать уже без строк, потом назад строки засовывать" -- это утопия. это не то, что мне нужно

Re: Плагин для Vim

Как минимум стоит добавить в список аналогов комнат room теги xroom, cutscene

Qui habet aures audiendi, audiat...

Re: Плагин для Vim

Отлично,  спасибо! Столько ресурсов, а никто не пишет smile сейчас попробуем.