*if_ruby.txt*   For Vim version 8.1.  Last change: 2019 Jul 21


		  VIM REFERENCE MANUAL    by Shugo Maeda

The Ruby Interface to Vim				*ruby* *Ruby*


1. Commands			|ruby-commands|
2. The Vim module		|ruby-vim|
3. Vim::Buffer objects		|ruby-buffer|
4. Vim::Window objects		|ruby-window|
5. Global variables		|ruby-globals|
6. rubyeval() Vim function	|ruby-rubyeval|
7. Dynamic loading		|ruby-dynamic|

			*E266* *E267* *E268* *E269* *E270* *E271* *E272* *E273*

{only available when Vim was compiled with the |+ruby| feature}

The home page for ruby is http://www.ruby-lang.org/.  You can find links for
downloading Ruby there.

==============================================================================
1. Commands						*ruby-commands*

							*:ruby* *:rub*
:rub[y] {cmd}		Execute Ruby command {cmd}.  A command to try it out: >
				:ruby print "Hello"

:rub[y] << [endpattern]
{script}
{endpattern}
			Execute Ruby script {script}.
			The {endpattern} after {script} must NOT be preceded
			by any white space.

			If [endpattern] is omitted, it defaults to a dot '.'
			like for the |:append| and |:insert| commands.

			This form of the |:ruby| command is mainly useful for
			including ruby code in vim scripts.

			Note: This command doesn't work when the Ruby feature
			wasn't compiled in.  To avoid errors, see
			|script-here|.

Example Vim script: >

	function! RedGem()
	ruby << EOF
	class Garnet
		def initialize(s)
			@buffer = Vim::Buffer.current
			vimputs(s)
		end
		def vimputs(s)
			@buffer.append(@buffer.count,s)
		end
	end
	gem = Garnet.new("pretty")
	EOF
	endfunction
<
To see what version of Ruby you have: >
	:ruby print RUBY_VERSION
<

						*:rubydo* *:rubyd* *E265*
:[range]rubyd[o] {cmd}	Evaluate Ruby command {cmd} for each line in the
			[range], with $_ being set to the text of each line in
			turn, without a trailing <EOL>.  Setting $_ will change
			the text, but note that it is not possible to add or
			delete lines using this command.
			The default for [range] is the whole file: "1,$".

							*:rubyfile* *:rubyf*
:rubyf[ile] {file}	Execute the Ruby script in {file}.  This is the same as
			`:ruby load 'file'`, but allows file name completion.

Executing Ruby commands is not possible in the |sandbox|.

==============================================================================
2. The Vim module					*ruby-vim*

Ruby code gets all of its access to vim via the "Vim" module.

Overview: >
	print "Hello"			      # displays a message
	Vim.command(cmd)		      # execute an Ex command
	num = Vim::Window.count		      # gets the number of windows
	w = Vim::Window[n]		      # gets window "n"
	cw = Vim::Window.current	      # gets the current window
	num = Vim::Buffer.count		      # gets the number of buffers
	b = Vim::Buffer[n]		      # gets buffer "n"
	cb = Vim::Buffer.current	      # gets the current buffer
	w.height = lines		      # sets the window height
	w.cursor = [row, col]		      # sets the window cursor position
	pos = w.cursor			      # gets an array [row, col]
	name = b.name			      # gets the buffer file name
	line = b[n]			      # gets a line from the buffer
	num = b.count			      # gets the number of lines
	b[n] = str			      # sets a line in the buffer
	b.delete(n)			      # deletes a line
	b.append(n, str)		      # appends a line after n
	line = Vim::Buffer.current.line       # gets the current line
	num = Vim::Buffer.current.line_number # gets the current line number
	Vim::Buffer.current.line = "test"     # sets the current line number
<

Module Functions:

							*ruby-message*
Vim::message({msg})
	Displays the message {msg}.

							*ruby-blob*
Vim::blob({arg})
	Return |Blob| literal string from {arg}.

							*ruby-set_option*
Vim::set_option({arg})
	Sets a vim option.  {arg} can be any argument that the ":set" command
	accepts.  Note that this means that no spaces are allowed in the
	argument!  See |:set|.

							*ruby-command*
Vim::command({cmd})
	Executes Ex command {cmd}.

							*ruby-evaluate*
Vim::evaluate({expr})
	Evaluates {expr} using the vim internal expression evaluator (see
	|expression|).  Returns the expression result as:
	- a Integer if the Vim expression evaluates to a number
	- a Float if the Vim expression evaluates to a float
	- a String if the Vim expression evaluates to a string
	- a Array if the Vim expression evaluates to a Vim list
	- a Hash if the Vim expression evaluates to a Vim dictionary
	Dictionaries and lists are recursively expanded.

==============================================================================
3. Vim::Buffer objects					*ruby-buffer*

Vim::Buffer objects represent vim buffers.

Class Methods:

current		Returns the current buffer object.
count		Returns the number of buffers.
self[{n}]	Returns the buffer object for the number {n}.  The first number
		is 0.

Methods:

name		Returns the full name of the buffer.
number		Returns the number of the buffer.
count		Returns the number of lines.
length		Returns the number of lines.
self[{n}]	Returns a line from the buffer. {n} is the line number.
self[{n}] = {str}
		Sets a line in the buffer. {n} is the line number.
delete({n})	Deletes a line from the buffer. {n} is the line number.
append({n}, {str})
		Appends a line after the line {n}.
line		Returns the current line of the buffer if the buffer is
		active.
line = {str}    Sets the current line of the buffer if the buffer is active.
line_number     Returns the number of the current line if the buffer is
		active.

==============================================================================
4. Vim::Window objects					*ruby-window*

Vim::Window objects represent vim windows.

Class Methods:

current		Returns the current window object.
count		Returns the number of windows.
self[{n}]	Returns the window object for the number {n}.  The first number
		is 0.

Methods:

buffer		Returns the buffer displayed in the window.
height		Returns the height of the window.
height = {n}	Sets the window height to {n}.
width		Returns the width of the window.
width = {n}	Sets the window width to {n}.
cursor		Returns a [row, col] array for the cursor position.
		First line number is 1 and first column number is 0.
cursor = [{row}, {col}]
		Sets the cursor position to {row} and {col}.

==============================================================================
5. Global variables					*ruby-globals*

There are two global variables.

$curwin		The current window object.
$curbuf		The current buffer object.

==============================================================================
6. rubyeval() Vim function				*ruby-rubyeval*

To facilitate bi-directional interface, you can use |rubyeval()| function to
evaluate Ruby expressions and pass their values to Vim script.

The Ruby value "true", "false" and "nil" are converted to v:true, v:false and
v:null, respectively.

==============================================================================
7. Dynamic loading					*ruby-dynamic*

On MS-Windows and Unix the Ruby library can be loaded dynamically.  The
|:version| output then includes |+ruby/dyn|.

This means that Vim will search for the Ruby DLL file or shared library only
when needed.  When you don't use the Ruby interface you don't need it, thus
you can use Vim even though this library file is not on your system.


MS-Windows ~

You need to install the right version of Ruby for this to work.  You can find
the package to download from:
http://rubyinstaller.org/downloads/
Currently that is rubyinstaller-2.2.5.exe

To use the Ruby interface the Ruby DLL must be in your search path.  In a
console window type "path" to see what directories are used.  The 'rubydll'
option can be also used to specify the Ruby DLL.

The name of the DLL must match the Ruby version Vim was compiled with.
Currently the name is "msvcrt-ruby220.dll".  That is for Ruby 2.2.X.  To know
for sure edit "gvim.exe" and search for "ruby\d*.dll\c".

If you want to build Vim with RubyInstaller 1.9 or 2.X using MSVC, you need
some tricks.  See the src/INSTALLpc.txt for detail.

If Vim is built with RubyInstaller 2.4 or later, you may also need to add
"C:\Ruby<version>\bin\ruby_builtin_dlls" to the PATH environment variable.


Unix ~

The 'rubydll' option can be used to specify the Ruby shared library file
instead of DYNAMIC_RUBY_DLL file what was specified at compile time.  The
version of the shared library must match the Ruby version Vim was compiled
with.

==============================================================================
 vim:tw=78:ts=8:noet:ft=help:norl:
