hello and welcome to the stock
the title of the stock is a tour feature
a fast and fully featured terminal
emulator
inside new e-max so let's try to
understand what we mean with the pass
and fully featured
and to do that we'll compare v term with
the
packages which are built in Emacs mean
the term
so let's let's jump into the v term so
this is a feature buffer
and this is a ansi term buffer what I'm
going to do now is first I'm going to
prove you
what we move fast so to do that let me
open a large file display on screen or
large file this is about one megabyte of
data
and let me time that it takes about 0.6
seconds
with feature let's do the same with
with ancient term well we already
already see the difference
so I will use this time to tell you
what's different and
what is v term exactly so v term is a
terminal emulator built
on top of an external library the
library is called libvi term
and is the same library used by newton
for their own terminal emulator
it's a c library and this is what gives
us
a lot of good features first the speed
time spent here 0.6 is essentially the
time that it takes to
one convert the emax representation of
like text
into the visa and representation of what
was a string and two into
actually displaying that and that can
take time
if there's a if there's quantification
involved so these are the 0.6 seconds
there
as we say in the in ancestor that's much
much
more time it's much slower so the
terminal will feel much snappier much
faster
but that's not the main benefit or the
only benefit of using this external
library
feature the second big benefit
is that v term has support for all the
escape codes
that exterm has support for so v term is
essentially as running x term
inside an imax buffer so let's see that
this for example
let's start by looking at the support
for colors
we have support for all the colors out
of the box we don't have to do anything
and if we did the same here well we have
only
20 colors there's a way to get all the
colors but it's much more involved
but this is not where v term shines
uh we can run all the commands that we
want
h top and cdu
everything runs here also this title
it's a
it's a fairly complicated manipulation
of
the window and it will not work here
it just doesn't work actually now the
terminal is probably messed up
yes so using this external library
removes the burden from the developers
of having to implement
support for all these cape codes we just
use those
so in many ways running veteran
is us running extern inside a max
but it's better than that because since
this is an e-max buffer
we can enjoy a lot of features from
Emacs
as well as a tighter integration with
e-max itself
for example as you see here the title of
my buffer
is from the director I'm in so let's go
to my tmp
the title will change so there's
information being exchanged between v
term and index
and of course the title is not the only
place where information is exchanged
I can find a file and I will be in the
directory
where my terminal is this feature is
also available in nc term
and it works also on b term and it
follows me so if I go to tmp I'll get
the tmp
if I ssh to a remote server it will work
also
on remote servers as well which is a
very nice way to edit files remotely
while we're working on a shelf and
second while vterm
is not an e-lisp interpreter like
initial what we can do is we can
still run inbox functions so for example
that requires some configuration the
term
command message I as you see there's a
higher so what I'm doing
is I'm executing the eagles function I
and I can drop that
and turn it around uh hash function to
run
a-list functions or another one file see
we call this feature message passing and
it requires
some configuration on the emac side as
well as in the shell side
it's important to stress what's the
nature of feature
for instance every time I'm sending a
key binding it's not immediately clear
if my intention is to send it to the
shell or to imax so v term implements
some reasonable defaults
but at the moment it's mainly packaged
to display characters on a screen
so for example if you're using evil the
editing commands in evil will not work
immediately there's some work to be done
and integration can be improved on that
side but
sometimes we really want this to behave
exactly like a imax buffer
we want to be able to search if
if I try to get it to search it will not
work I will send it to the shop so to do
that
we enabled the term copy mode so as you
see
copy mode and now this buffer is
essentially a fundamental buffer
I can move around as I can search
uh so it must have I
can do everything I want and there are
additional features for example I can
jump around
all the prompts and I find this
extremely useful
because I can copy update from my
programs or
what I always have to do is I have to
google some errors so what I do is I
select that
and I have my keybinding in maksakov and
I'm googling
what I have to google so this is very
nice and
if I now that have selected something if
I just press return I will
go back to my normal editing mode with
the
text copied so I can paste it back so
it's a quick way to
interact with copy and interact with uh
with the output of a buffer so finally
let's discuss how to actually
use beta let's circle back and let's go
and let's look at the github repo
where development is happening v term is
available in velpa
but since it's leveraging the power of
an external module
you must have Emacs compiled with
support for modules
and many distros like ubuntu debian
that's not there so you have to get
Emacs with support for modules compiling
or
getting images somewhere else and also
the first time you are going to use this
which
works only on mac or
new linux systems Emacs will try to find
and compile this module
so it's important this requirement is
important if you're using windows
well that's not it's not available and
will not work
so to conclude I want to just advertise
this page
if you have problems look at the issues
and
open unusual in case we'll try to help
you we are very excited about feature
and I think it's a transformative
terminal experience inside glue imax