Перейти к содержанию
Авторизация  
Rikka

Использование PAWN в текстовом редакторе Vim

Рекомендуемые сообщения

Rikka

Привет, народ!
Сегодня я расскажу вам об очень интересной проблеме.
Итак, представьте, что у вас есть сервер, плагины которого есть только под Linux, а нужно под них что-то разработать, нам придется разрабатывать и компилировать под Linux, и этим гайдом я покажу как можно приблизить это к реальности (только вот это скорей для линуксойдов).
Изначально, я хотел презентовать свои наработки, но подумал, можно добавить пару вещей.

Для начала нужно поставить Vim пока всё просто: sudo apt-get update && sudo apt-get install vim.
После чего установить Vundle. Vundle же ставится относительно нетрудно и гайды есть.
Пример каноничного гайда: https://github.com/VundleVim/Vundle.vim#quick-start
[spoiler=Для самых маленьких]
Выкачиваем Vundle этой командой, если нет гита то поставить: sudo apt-get install git
git clone https://github.com/VundleVim/Vundle.vim.git ~/.vim/bundle/Vundle.vim
Создаем файлик ~/.vimrc и в него вставляем

 

set nocompatible " be iMproved, required
filetype off " required

" set the runtime path to include Vundle and initialize
set rtp+=~/.vim/bundle/Vundle.vim
call vundle#begin()
" alternatively, pass a path where Vundle should install plugins
"call vundle#begin('~/some/path/here')

" let Vundle manage Vundle, required
Plugin 'VundleVim/Vundle.vim'

" The following are examples of different formats supported.
" Keep Plugin commands between vundle#begin/end.
" plugin on GitHub repo
Plugin 'tpope/vim-fugitive'
" plugin from http://vim-scripts.org/vim/scripts.html
" Plugin 'L9'
" Git plugin not hosted on GitHub

" git repos on your local machine (i.e. when working on your own plugin)
" The sparkup vim script is in a subdirectory of this repo called vim.
" Pass the path to set the runtimepath properly.
Plugin 'rstacruz/sparkup', {'rtp': 'vim/'}
" Install L9 and avoid a Naming conflict if you've already installed a
" different version somewhere else.
" Plugin 'ascenator/L9', {'name': 'newL9'}

" All of your Plugins must be added before the following line
call vundle#end() " required
filetype plugin indent on " required

 

Ну и для уверенности можно зайти в Vim и ввести :PluginInstall


Окей, Vundle мы поставили, теперь ставим то, что я писал поверх Vundle. Для этого мы клонируем содержимое репозитория https://github.com/Disinterpreter/vim-pawn.git в ~/.vim/bundle/

git clone https://github.com/Disinterpreter/vim-pawn.git ~/.vim/bundle/

5Kid8fH.png
т.е директории compiler, fdetect, syntax должны лежать в папке vim-pawn которая лежит в bundle.
 
Окей теперь можно настроить файл ~/.vimrc хотя я его и положил в своей репозиторить, но нужно оттуда взять самое важное это


syntax on
set number
set makeprg=pawncc\ %:r.pwn\ -i\/home/disi/samp03/pawn/include
function! MakePawn()
  silent make | copen
  redraw!
endfunction

map <F5> :exec MakePawn()<CR>

Важный момент: в set makeprg укажите пусть до ваших инклюдов.

И перейдем к pawncc, в своем случае я взял pawn от Zeex, выкачал его репозиторий, собрал pawncc компилятор(cmake . && make) и положил его в /bin (sudo cp pawncc /bin)
После чего прописал выше.

[spoiler=На выходе у меня получилось это]
7WiAqfM.png

1Iya9h4.png


И видео: http://webmshare.com/wKxG0

Автор: Disinterpreter

P.S Вначале я решил просто попробовать сделать плагины для Vim, взял старый код для SourcePawn и адаптировал до SAMP репозиторий тут: https://github.com/Disinterpreter/vim-pawn

 

Для всех кто считает, что этот урок несет смысловую нагрузку и хочет стянуть к себе на форум:
88x31.png

 

  • Like 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Rici

нормально смотрится.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти
Авторизация  

  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу

×

Важная информация

Мы разместили cookie-файлы на ваше устройство, чтобы помочь сделать этот сайт лучше. Вы можете изменить свои настройки cookie-файлов, или продолжить без изменения настроек.