GRAYBYTE WORDPRESS FILE MANAGER2595

Server IP : 198.54.121.189 / Your IP : 216.73.216.224
System : Linux premium69.web-hosting.com 4.18.0-553.44.1.lve.el8.x86_64 #1 SMP Thu Mar 13 14:29:12 UTC 2025 x86_64
PHP Version : 7.4.33
Disable Function : NONE
cURL : ON | WGET : ON | Sudo : OFF | Pkexec : OFF
Directory : /usr/share/vim/vim80/doc/
Upload Files :
Current_dir [ Not Writeable ] Document_root [ Writeable ]

Command :


Current File : /usr/share/vim/vim80/doc//gui_x11.txt
*gui_x11.txt*   For Vim version 8.0.  Last change: 2017 Jul 28


		  VIM REFERENCE MANUAL    by Bram Moolenaar


Vim's Graphical User Interface				*gui-x11* *GUI-X11*
							*Athena* *Motif*
1. Starting the X11 GUI		|gui-x11-start|
2. GUI Resources		|gui-resources|
3. Shell Commands		|gui-pty|
4. Various			|gui-x11-various|
5. GTK version			|gui-gtk|
6. GNOME version		|gui-gnome|
7. KDE version			|gui-kde|
8. Compiling			|gui-x11-compiling|
9. X11 selection mechanism	|x11-selection|

Other relevant documentation:
|gui.txt|	For generic items of the GUI.

{Vi does not have any of these commands}

==============================================================================
1. Starting the X11 GUI					*gui-x11-start* *E665*

Then you can run the GUI version of Vim in either of these ways:
    gvim [options] [files...]
    vim -g [options] [files...]

So if you call the executable "gvim", or make "gvim" a link to the executable,
then the GUI version will automatically be used.  Additional characters may be
added after "gvim", for example "gvim-5".

You may also start up the GUI from within the terminal version by using one of
these commands:
	:gui [++opt] [+cmd] [-f|-b] [files...]			*:gu* *:gui*
	:gvim [++opt] [+cmd] [-f|-b] [files...]			*:gv* *:gvim*
The "-f" option runs Vim in the foreground.
The "-b" option runs Vim in the background (this is the default).
Also see |++opt| and |+cmd|.

							*gui-fork*
When the GUI is started, it does a fork() and exits the current process.
When gvim was started from a shell this makes the shell accept further
commands.  If you don't want this (e.g. when using gvim for a mail program
that waits for gvim to exit), start gvim with "gvim -f", "vim -gf" or use
":gui -f".  Don't use "vim -fg", because "-fg" specifies the foreground
color.

When using "gvim -f" and then ":gui", Vim will run in the foreground.  The
"-f" argument will be remembered.  To force running Vim in the background use
":gui -b".

"gvim --nofork" does the same as "gvim -f".
								*E851* *E852*
When starting the GUI fails Vim will try to continue running in the terminal.

If you want the GUI to run in the foreground always, include the 'f'
flag in 'guioptions'.  |-f|.

==============================================================================
2. GUI Resources			*gui-resources* *.Xdefaults*

If using the Motif or Athena version of the GUI (not for the KDE, GTK+ or Win32
version), a number of X resources are available.  You should use Vim's class
"Vim" when setting these.  They are as follows:

    Resource name	Meaning		~

    reverseVideo	Boolean: should reverse video be used?
    background		Color of background.
    foreground		Color of normal text.
    scrollBackground	Color of trough portion of scrollbars.
    scrollForeground	Color of slider and arrow portions of scrollbars.
    menuBackground	Color of menu backgrounds.
    menuForeground	Color of menu foregrounds.
    tooltipForeground	Color of tooltip and balloon foreground.
    tooltipBackground	Color of tooltip and balloon background.

    font		Name of font used for normal text.
    boldFont		Name of font used for bold text.
    italicFont		Name of font used for italic text.
    boldItalicFont	Name of font used for bold, italic text.
    menuFont		Name of font used for the menus, used when compiled
			without the |+xfontset| feature
    menuFontSet		Name of fontset used for the menus, used when compiled
			with the |+xfontset| feature
    tooltipFont		Name of the font used for the tooltip and balloons.
			When compiled with the |+xfontset| feature this is a
			fontset name.

    geometry		Initial geometry to use for gvim's window (default
			is same size as terminal that started it).
    scrollbarWidth	Thickness of scrollbars.
    borderWidth		Thickness of border around text area.
    menuHeight		Height of the menu bar (only for Athena).

A special font for italic, bold, and italic-bold text will only be used if
the user has specified one via a resource.  No attempt is made to guess what
fonts should be used for these based on the normal text font.

Note that the colors can also be set with the ":highlight" command, using the
"Normal", "Menu", "Tooltip", and "Scrollbar" groups.  Example: >
	:highlight Menu guibg=lightblue
	:highlight Tooltip guibg=yellow
	:highlight Scrollbar guibg=lightblue guifg=blue
	:highlight Normal guibg=grey90
<
							*font-sizes*
Note: All fonts (except for the menu and tooltip) must be of the same size!!!
If you don't do this, text will disappear or mess up the display.  Vim does
not check the font sizes.  It's the size in screen pixels that must be the
same.  Note that some fonts that have the same point size don't have the same
pixel size!  Additionally, the positioning of the fonts must be the same
(ascent and descent).  You can check this with "xlsfonts -l {fontname}".

If any of these things are also set with Vim commands, e.g. with
":set guifont=Screen15", then this will override the X resources (currently
'guifont' is the only option that is supported).

Here is an example of what you might put in your ~/.Xdefaults file: >

	Vim*useSchemes:			all
	Vim*sgiMode:			true
	Vim*useEnhancedFSB:		true
	Vim.foreground:			Black
	Vim.background:			Wheat
	Vim*fontList:			7x13

The first three of these are standard resources on Silicon Graphics machines
which make Motif applications look even better, highly recommended!

The "Vim*fontList" is to set the menu font for Motif.  Example: >
	Vim*menuBar*fontList:	     -*-courier-medium-r-*-*-10-*-*-*-*-*-*-*
With Athena: >
	Vim*menuBar*SmeBSB*font:     -*-courier-medium-r-*-*-10-*-*-*-*-*-*-*
	Vim*menuBar*MenuButton*font: -*-courier-medium-r-*-*-10-*-*-*-*-*-*-*

NOTE: A more portable, and indeed more correct, way to specify the menu font
in either Motif or Athena is through the resource: >
	Vim.menuFont:	     -*-courier-medium-r-*-*-10-*-*-*-*-*-*-*
Or, when compiled with the |+xfontset| feature: >
	Vim.menuFontSet:     -*-courier-medium-r-*-*-10-*-*-*-*-*-*-*

Don't use "Vim*geometry" in the defaults.  This will break the menus.  Use
"Vim.geometry" instead.

If you get an error message "Cannot allocate colormap entry for "gray60",
try adding this to your Vim resources (change the colors to your liking): >

	Vim*scrollBackground:		Black
	Vim*scrollForeground:		Blue

The resources can also be set with arguments to Vim:

    argument		meaning	~
							*-gui*
   -display {display}	Run vim on {display}		*-display*
   -iconic		Start vim iconified		*-iconic*
   -background {color}	Use {color} for the background	*-background*
   -bg {color}		idem				*-bg*
   -foreground {color}	Use {color} for normal text	*-foreground*
   -fg {color}		idem				*-fg*
   -ul {color}		idem				*-ul*
   -font {font}		Use {font} for normal text	*-font*
   -fn {font}		idem				*-fn*
   -boldfont {font}	Use {font} for bold text	*-boldfont*
   -italicfont {font}	Use {font} for italic text	*-italicfont*
   -menufont {font}	Use {font} for menu items	*-menufont*
   -menufontset {fontset} Use {fontset} for menu items	*-menufontset*
   -mf {font}		idem				*-mf*
   -geometry {geom}	Use {geom} for initial geometry	*-geometry*
   -geom {geom}		idem, see |-geometry-example|	*-geom*
   -borderwidth {width}	Use a border width of {width}	*-borderwidth*
   -bw {width}		idem				*-bw*
							*-scrollbarwidth*
   -scrollbarwidth {width}	Use a scrollbar width of {width}
   -sw {width}		idem				*-sw*
   -menuheight {height}	Use a menu bar height of {height} *-menuheight*
   -mh {height}		idem				*-mh*
			NOTE: On Motif the value is ignored, the menu height
			is computed to fit the menus.
   -reverse		Use reverse video		*-reverse*
   -rv			idem				*-rv*
   +reverse		Don't use reverse video		*-+reverse*
   +rv			idem				*-+rv*
   -xrm {resource}	Set the specified resource	*-xrm*

Note about reverse video: Vim checks that the result is actually a light text
on a dark background.  The reason is that some X11 versions swap the colors,
and some don't.  These two examples will both give yellow text on a blue
background:
    gvim -fg Yellow -bg Blue -reverse
    gvim -bg Yellow -fg Blue -reverse

							*-geometry-example*
An example for the geometry argument: >
	gvim -geometry 80x63+8+100
This creates a window with 80 columns and 63 lines at position 8 pixels from
the left and 100 pixels from the top of the screen.

==============================================================================
3. Shell Commands					*gui-pty*

WARNING: Executing an external command from the GUI will not always work.
"normal" commands like "ls", "grep" and "make" mostly work fine.  Commands
that require an intelligent terminal like "less" and "ispell" won't work.
Some may even hang and need to be killed from another terminal.  So be
careful!

There are two ways to do the I/O with a shell command: Pipes and a pseudo-tty.
The default is to use a pseudo-tty.  This should work best on most systems.

Unfortunately, the implementation of the pseudo-tty is different on every Unix
system.  And some systems require root permission.  To avoid running into
problems with a pseudo-tty when you least expect it, test it when not editing
a file.  Be prepared to "kill" the started command or Vim.  Commands like
":r !cat" may hang!

If using a pseudo-tty does not work for you, reset the 'guipty' option: >

	:set noguipty

Using a pipe should work on any Unix system, but there are disadvantages:
- Some shell commands will notice that a pipe is being used and behave
  differently.  E.g., ":!ls" will list the files in one column.
- The ":sh" command won't show a prompt, although it will sort of work.
- When using ":make" it's not possible to interrupt with a CTRL-C.

Typeahead while the external command is running is often lost.  This happens
both with a pipe and a pseudo-tty.  This is a known problem, but it seems it
can't be fixed (or at least, it's very difficult).

							*gui-pty-erase*
When your erase character is wrong for an external command, you should fix
this in your "~/.cshrc" file, or whatever file your shell uses for
initializations.  For example, when you want to use backspace to delete
characters, but hitting backspaces produces "^H" instead, try adding this to
your "~/.cshrc": >
	stty erase ^H
The ^H is a real CTRL-H, type it as CTRL-V CTRL-H.

==============================================================================
4. Various						*gui-x11-various*

							*gui-x11-printing*
The "File/Print" menu simply sends the current buffer to "lpr".  No options or
whatever.  If you want something else, you can define your own print command.
For example: >

  :10amenu File.Print :w !lpr -Php3
  :10vmenu File.Print :w !lpr -Php3
<
							*X11-icon*
Vim uses a black&white icon by default when compiled with Motif or Athena.  A
colored Vim icon is included as $VIMRUNTIME/vim32x32.xpm.  For GTK+, this is
the builtin icon used.  Unfortunately, how you should install it depends on
your window manager.  When you use this, remove the 'i' flag from
'guioptions', to remove the black&white icon: >
  :set guioptions-=i

If you use one of the fvwm* family of window managers simply add this line to
your .fvwm2rc configuration file: >

  Style "vim"		Icon vim32x32.xpm

Make sure the icon file's location is consistent with the window manager's
ImagePath statement.  Either modify the ImagePath from within your .fvwm2rc or
drop the icon into one the pre-defined directories: >

  ImagePath /usr/X11R6/include/X11/pixmaps:/usr/X11R6/include/X11/bitmaps

Note: older versions of fvwm use "IconPath" instead of "ImagePath".

For CDE "dtwm" (a derivative of Motif) add this line in the .Xdefaults: >
   Dtwm*Vim*iconImage: /usr/local/share/vim/vim32x32.xpm

For "mwm" (Motif window manager) the line would be: >
   Mwm*Vim*iconImage: /usr/local/share/vim/vim32x32.xpm


Mouse Pointers Available in X11 ~
						*X11_mouse_shapes*
By using the |'mouseshape'| option, the mouse pointer can be automatically
changed whenever Vim enters one of its various modes (e.g., Insert or
Command).  Currently, the available pointers are:

	arrow			an arrow pointing northwest
	beam			a I-like vertical bar
	size			an arrow pointing up and down
	busy			a wristwatch
	blank			an invisible pointer
	crosshair		a thin "+" sign
	hand1			a dark hand pointing northeast
	hand2			a light hand pointing northwest
	pencil			a pencil pointing southeast
	question		question_arrow
	right_arrow		an arrow pointing northeast
	up_arrow		an arrow pointing upwards

Additionally, any of the mouse pointers that are built into X11 may be
used by specifying an integer from the X11/cursorfont.h include file.

If a name is used that exists on other systems, but not in X11, the default
"arrow" pointer is used.

==============================================================================
5. GTK version					*gui-gtk* *GTK+* *GTK* *GTK3*

The GTK version of the GUI works a little bit different.

GTK does _not_ use the traditional X resource settings.  Thus items in your
~/.Xdefaults or app-defaults files are not used.
Many of the traditional X command line arguments are not supported.  (e.g.,
stuff like -bg, -fg, etc).  The ones that are supported are:

    command line argument   resource name	meaning ~
    -fn  or  -font	    .font		font name for the text
    -geom  or  -geometry    .geometry		size of the gvim window
    -rv  or  -reverse	    *reverseVideo	white text on black background
    -display					display to be used
    -fg -foreground {color}			foreground color
    -bg -background {color}			background color

To set the font, see |'guifont'|.  For GTK, there's also a menu option that
does this.

Additionally, there are these command line arguments, which are handled by GTK
internally.  Look in the GTK documentation for how they are used:
	--sync
	--gdk-debug
	--gdk-no-debug
	--no-xshm	(not in GTK+ 2)
	--xim-preedit	(not in GTK+ 2)
	--xim-status	(not in GTK+ 2)
	--gtk-debug
	--gtk-no-debug
	--g-fatal-warnings
	--gtk-module
	--display	(GTK+ counterpart of -display; works the same way.)
	--screen	(The screen number; for GTK+ 2.2 multihead support.)

These arguments are ignored when the |+netbeans_intg| feature is used:
	-xrm
	-mf

As for colors, Vim's color settings (for syntax highlighting) is still
done the traditional Vim way.  See |:highlight| for more help.

If you want to set the colors of remaining gui components (e.g., the
menubar, scrollbar, whatever), those are GTK specific settings and you
need to set those up in some sort of gtkrc file.  You'll have to refer
to the GTK documentation, however little there is, on how to do this.
See http://developer.gnome.org/doc/API/2.0/gtk/gtk-Resource-Files.html
for more information.


Tooltip Colors ~
							*gtk-tooltip-colors*
Example, which sets the tooltip colors to black on light-yellow: >

	style "tooltips"
	{
		bg[NORMAL] = "#ffffcc"
		fg[NORMAL] = "#000000"
	}

	widget "gtk-tooltips*"		style "tooltips"

Write this in the file ~/.gtkrc and it will be used by GTK+.  For GTK+ 2
you might have to use the file ~/.gtkrc-2.0 instead, depending on your
distribution.

For GTK+ 3, an effect similar to the above can be obtained by adding the
following snippet of CSS code to $XDG_HOME_DIR/gtk-3.0/gtk.css (usually,
$HOME/.config/gtk-3.0/gtk.css):

For GTK+ 3 < 3.20: >

	.tooltip {
		background-color: #ffffcc;
		color: #000000;
	}
<
For GTK+ 3 >= 3.20: >

	tooltip {
	    background-color: #ffffcc;
	    text-shadow: none;
	}

	tooltip label {
	    color: #2e3436;
	}
<

A Quick Look at GTK+ CSS ~
							*gtk-css*
The contents of this subsection apply to GTK+ 3.20 or later which provides
stable support for GTK+ CSS:

	https://developer.gnome.org/gtk3/stable/theming.html

GTK+ uses CSS for styling and layout of widgets.  In this subsection, we'll
have a quick look at GTK+ CSS through simple, illustrative examples.

Example 1.  Empty Space Adjustment ~

By default, the toolbar and the tabline of the GTK+ 3 GUI are somewhat larger
than those of the GTK+ 2 GUI.  Some people may want to make them look similar
to the GTK+ 2 GUI in size.

To do that, we'll try reducing empty space around icons and labels that looks
apparently superfluous.

Add the following lines to $XDG_HOME_DIR/gtk-3.0/gtk.css (usually,
$HOME/.config/gtk-3.0/gtk.css): >

	toolbar button {
	    margin-top: -2px;
	    margin-right: 0px;
	    margin-bottom: -2px;
	    margin-left: 0px;

	    padding-top: 0px;
	    padding-right: 0px;
	    padding-bottom: 0px;
	    padding-left: 0px
	}

	notebook tab {
	    margin-top: -1px;
	    margin-right: 3px;
	    margin-bottom: -1px;
	    margin-left: 3px;

	    padding-top: 0px;
	    padding-right: 0px;
	    padding-bottom: 0px;
	    padding-left: 0px
	}
<
Since it's a CSS, they can be rewritten using shorthand: >

	toolbar button {
	    margin: -2px 0px;
	    padding: 0px;
	}

	notebook tab {
	    margin: -1px 3px;
	    padding: 0px
	}
<
Note: You might want to use 'toolbariconsize' to adjust the icon size, too.

Note: Depending on the icon theme and/or the font in use, some extra tweaks
may be needed for a satisfactory result.

Note: In addition to margin and padding, you can use border.  For details,
refer to the box model of CSS, e.g.,

	https://www.w3schools.com/css/css_boxmodel.asp

Example 2.  More Than Just Colors ~

GTK+ CSS supports gradients as well: >

	tooltip {
	    background-image: -gtk-gradient(linear,
					    0 0, 0 1,
					    color-stop(0, #344752),
					    color-stop(0.5, #546772),
					    color-stop(1, #243742));
	}

	tooltip label {
	    color: #f3f3f3;
	}
<
Gradients can be used to make a GUI element visually distinguishable from
others without relying on high contrast. Accordingly, effective use of them is
a useful technique to give a theme a sense of unity in color and luminance.

Note: Theming can be difficult since it must make every application look
equally good; making a single application more charming often gets others
unexpectedly less attractive or even deteriorates their usability.  Keep this
in mind always when you try improving a theme.


Using Vim as a GTK+ plugin ~
							*gui-gtk-socketid*
When the GTK+ version of Vim starts up normally, it creates its own top level
window (technically, a 'GtkWindow').  GTK+ provides an embedding facility with
its GtkSocket and GtkPlug widgets.  If one GTK+ application creates a
GtkSocket widget in one of its windows, an entirely different GTK+ application
may embed itself into the first application by creating a top-level GtkPlug
widget using the socket's ID.

If you pass Vim the command-line option '--socketid' with a decimal or
hexadecimal value, Vim will create a GtkPlug widget using that value instead
of the normal GtkWindow.  This enables Vim to act as a GTK+ plugin.

This really is a programmer's interface, and is of no use without a supporting
application to spawn the Vim correctly.  For more details on GTK+ sockets, see
http://www.gtk.org/api/

Note that this feature requires the latest GTK version.  GTK 1.2.10 still has
a small problem.  The socket feature has not yet been tested with GTK+ 2 --
feel free to volunteer.

==============================================================================
6. GNOME version				*gui-gnome* *Gnome* *GNOME*

The GNOME GUI works just like the GTK+ version.  See |GTK+| above for how it
works.  It looks a bit different though, and implements one important feature
that's not available in the plain GTK+ GUI:  Interaction with the session
manager. |gui-gnome-session|

These are the different looks:
- Uses GNOME dialogs (GNOME 1 only).  The GNOME 2 GUI uses the same nice
  dialogs as the GTK+ 2 version.
- Uses the GNOME dock, so that the toolbar and menubar can be moved to
  different locations other than the top (e.g., the toolbar can be placed on
  the left, right, top, or bottom).  The placement of the menubar and
  toolbar is only saved in the GNOME 2 version.
- That means the menubar and toolbar handles are back!  Yeah!  And the
  resizing grid still works too.

GNOME is compiled with if it was found by configure and the
--enable-gnome-check argument was used.

Note: Avoid use of --enable-gnome-check with GTK+ 3 GUI build.  The
functionality mentioned above is consolidated in GTK+ 3.


GNOME session support ~
					*gui-gnome-session* *gnome-session*
On logout, Vim shows the well-known exit confirmation dialog if any buffers
are modified.  Clicking [Cancel] will stop the logout process.  Otherwise the
current session is stored to disk by using the |:mksession| command, and
restored the next time you log in.

The GNOME session support should also work with the KDE session manager.
If you are experiencing any problems please report them as bugs.

Note: The automatic session save works entirely transparent, in order to
avoid conflicts with your own session files, scripts and autocommands.  That
means in detail:
- The session file is stored to a separate directory (usually $HOME/.gnome2).
- 'sessionoptions' is ignored, and a hardcoded set of appropriate flags is
  used instead: >
	blank,curdir,folds,globals,help,options,tabpages,winsize
- The internal variable |v:this_session| is not changed when storing the
  session.  Also, it is restored to its old value when logging in again.

The position and size of the GUI window is not saved by Vim since doing so
is the window manager's job.  But if compiled with GTK+ 2 support, Vim helps
the WM to identify the window by restoring the window role (using the |--role|
command line argument).

==============================================================================
7. KDE version					*gui-kde* *kde* *KDE* *KVim*
							*gui-x11-kde*
There is no KDE version of Vim.  There has been some work on a port using the
Qt toolkit, but it never worked properly and it has been abandoned.  Work
continues on Yzis: https://github.com/chrizel/Yzis.

==============================================================================
8. Compiling						*gui-x11-compiling*

If using X11, Vim's configure will by default first try to find the necessary
GTK+ files on your system.  When both GTK+ 2 and GTK+ 3 are available, GTK+ 2
will be chosen unless --enable-gui=gtk3 is passed explicitly to configure.

If the GTK+ files cannot be found, then the Motif files will be searched for.
Finally, if this fails, the Athena files will be searched for.  If all three
fail, the GUI will be disabled.

For GTK+, Vim's configuration process uses pkg-config(1) to check if the
GTK+ required for a specified build is properly installed and usable.
Accordingly, it is a good idea to make sure before running configure that
your system has a working pkg-config together with the .pc file of the
required GTK+.  For that, say, run the following on the command line to see if
your pkg-config works with your GTK+ 2: >

    $ pkg-config --modversion gtk+-2.0

Replace gtk+-2.0 with gtk+-3.0 for GTK+ 3. If you get the correct version
number of your GTK+, you can proceed; if not, you probably need to do some
system administration chores to set up pkg-config and GTK+ correctly.

The GTK+ 2 GUI is built by default.  Therefore, you usually don't need to pass
any options such as --enable-gui=gtk2 to configure and build that.

Optionally, the GTK+ 2 GUI can consolidate the GNOME 2 support.  This support
is enabled by passing --enable-gnome-check to configure.

If you want to build the GTK+ 3 GUI, you have to pass --enable-gui=gtk3
explicitly to configure, and avoid passing --enable-gnome-check to that, as
the functionality of the GNOME 2 support has already been consolidated in
GTK+ 3.

Otherwise, if you are using Motif or Athena, when you have the Motif or Athena
files in a directory where configure doesn't look, edit the Makefile to enter
the names of the directories.  Search for "GUI_INC_LOC" for an example to set
the Motif directories, "CONF_OPT_X" for Athena.

							*gui-x11-gtk*
Currently, Vim supports both GTK+ 2 and GTK+ 3.

The GTK+ 2 GUI requires GTK+ 2.2 or later.

Although the GTK+ 3 GUI is written in such a way that the source code can be
compiled against all versions of the 3.x series, we recommend GTK+ 3.10 or
later because of its substantial implementation changes in redraw done at
that version.

							*gui-x11-motif*
For Motif, you need at least Motif version 1.2 and/or X11R5.  Motif 2.0 and
X11R6 are OK.  Motif 1.1 and X11R4 might work, no guarantee (there may be a
few problems, but you might make it compile and run with a bit of work, please
send me the patches if you do).  The newest releases of LessTif have been
reported to work fine too.

							*gui-x11-athena*
The Athena version uses the Xaw widget set by default.  If you have the 3D
version, you might want to link with Xaw3d instead.  This will make the
menus look a bit better.  Edit the Makefile and look for "XAW_LIB".  The
scrollbars will remain the same, because Vim has its own, which are already
3D (in fact, they look more like Motif).

							*gui-x11-neXtaw*
The neXtaw version is mostly like Athena, but uses different widgets.

							*gui-x11-misc*
In general, do not try to mix files from different GTK+, Motif, Athena and X11
versions.  This will cause problems.  For example, using header files for
X11R5 with a library for X11R6 probably doesn't work (although the linking
won't give an error message, Vim will crash later).

==============================================================================
9. X11 selection mechanism				*x11-selection*

If using X11, in either the GUI or an xterm with an X11-aware Vim, then Vim
provides varied access to the X11 selection and clipboard.  These are accessed
by using the two selection registers "* and "+.

X11 provides two basic types of global store, selections and cut-buffers,
which differ in one important aspect: selections are "owned" by an
application, and disappear when that application (e.g., Vim) exits, thus
losing the data, whereas cut-buffers, are stored within the X-server itself
and remain until written over or the X-server exits (e.g., upon logging out).

The contents of selections are held by the originating application (e.g., upon
a copy), and only passed on to another application when that other application
asks for them (e.g., upon a paste).

The contents of cut-buffers are immediately written to, and are then
accessible directly from the X-server, without contacting the originating
application.

							*quoteplus* *quote+*
There are three documented X selections: PRIMARY (which is expected to
represent the current visual selection - as in Vim's Visual mode), SECONDARY
(which is ill-defined) and CLIPBOARD (which is expected to be used for
cut, copy and paste operations).

Of these three, Vim uses PRIMARY when reading and writing the "* register
(hence when the X11 selections are available, Vim sets a default value for
|'clipboard'| of "autoselect"), and CLIPBOARD when reading and writing the "+
register.  Vim does not access the SECONDARY selection.

Examples: (assuming the default option values)
- Select a URL in Visual mode in Vim.  Go to your browser and click the
  middle mouse button in the URL text field.  The selected text will be
  inserted (hopefully!).  Note: in Firefox you can set the
  middlemouse.contentLoadURL preference to true in about:config, then the
  selected URL will be used when pressing middle mouse button in most places
  in the window.
- Select some text in your browser by dragging with the mouse.  Go to Vim and
  press the middle mouse button: The selected text is inserted.
- Select some text in Vim and do "+y.  Go to your browser, select some text in
  a textfield by dragging with the mouse.  Now use the right mouse button and
  select "Paste" from the popup menu.  The selected text is overwritten by the
  text from Vim.
Note that the text in the "+ register remains available when making a Visual
selection, which makes other text available in the "* register.  That allows
overwriting selected text.
							*x11-cut-buffer*
There are, by default, 8 cut-buffers: CUT_BUFFER0 to CUT_BUFFER7.  Vim only
uses CUT_BUFFER0, which is the one that xterm uses by default.

Whenever Vim is about to become unavailable (either via exiting or becoming
suspended), and thus unable to respond to another application's selection
request, it writes the contents of any owned selection to CUT_BUFFER0.  If the
"+ CLIPBOARD selection is owned by Vim, then this is written in preference,
otherwise if the "* PRIMARY selection is owned by Vim, then that is written.

Similarly, when Vim tries to paste from "* or "+ (either explicitly, or, in
the case of the "* register, when the middle mouse button is clicked), if the
requested X selection is empty or unavailable, Vim reverts to reading the
current value of the CUT_BUFFER0.

Note that when text is copied to CUT_BUFFER0 in this way, the type of
selection (character, line or block) is always lost, even if it is a Vim which
later pastes it.

Xterm, by default, always writes visible selections to both PRIMARY and
CUT_BUFFER0.  When it pastes, it uses PRIMARY if this is available, or else
falls back upon CUT_BUFFER0.  For this reason, when cutting and pasting
between Vim and an xterm, you should use the "* register.  Xterm doesn't use
CLIPBOARD, thus the "+ doesn't work with xterm.

Most newer applications will provide their current selection via PRIMARY ("*)
and use CLIPBOARD ("+) for cut/copy/paste operations.  You thus have access to
both by choosing to use either of the "* or "+ registers.


 vim:tw=78:sw=4:ts=8:ft=help:norl:

[ Back ]
Name
Size
Last Modified
Owner / Group
Permissions
Options
..
--
March 05 2024 23:19:13
root / root
0755
arabic.txt
11.656 KB
August 02 2022 16:56:59
root / root
0644
autocmd.txt
63.869 KB
August 02 2022 16:56:59
root / root
0644
change.txt
73.122 KB
August 02 2022 16:56:59
root / root
0644
channel.txt
30.097 KB
August 02 2022 16:56:59
root / root
0644
cmdline.txt
46.175 KB
August 02 2022 16:56:59
root / root
0644
debug.txt
7.014 KB
August 02 2022 16:56:59
root / root
0644
debugger.txt
5.609 KB
August 02 2022 16:56:59
root / root
0644
develop.txt
21.82 KB
August 02 2022 16:56:59
root / root
0644
diff.txt
16.138 KB
August 02 2022 16:56:59
root / root
0644
digraph.txt
60.667 KB
August 02 2022 16:56:59
root / root
0644
editing.txt
71.461 KB
August 02 2022 16:56:59
root / root
0644
eval.txt
434.045 KB
August 02 2022 16:56:59
root / root
0644
farsi.txt
9.476 KB
August 02 2022 16:56:59
root / root
0644
filetype.txt
25.325 KB
August 02 2022 16:56:59
root / root
0644
fold.txt
23.139 KB
August 02 2022 16:56:59
root / root
0644
ft_ada.txt
17.819 KB
August 02 2022 16:56:59
root / root
0644
ft_rust.txt
9.303 KB
August 02 2022 16:56:59
root / root
0644
ft_sql.txt
29.975 KB
August 02 2022 16:56:59
root / root
0644
gui.txt
44.523 KB
August 02 2022 16:56:59
root / root
0644
gui_w32.txt
18.473 KB
August 02 2022 16:56:59
root / root
0644
gui_x11.txt
28.789 KB
August 02 2022 16:56:59
root / root
0644
hangulin.txt
3.214 KB
August 02 2022 16:56:59
root / root
0644
hebrew.txt
5.58 KB
August 02 2022 16:56:59
root / root
0644
help.txt
8.377 KB
August 02 2022 16:56:59
root / root
0644
helphelp.txt
14.002 KB
August 02 2022 16:56:59
root / root
0644
howto.txt
2.843 KB
August 02 2022 16:56:59
root / root
0644
if_cscop.txt
18.907 KB
August 02 2022 16:56:59
root / root
0644
if_lua.txt
14.299 KB
August 02 2022 16:56:59
root / root
0644
if_mzsch.txt
11.546 KB
August 02 2022 16:56:59
root / root
0644
if_ole.txt
7.231 KB
August 02 2022 16:56:59
root / root
0644
if_perl.txt
10.888 KB
August 02 2022 16:56:59
root / root
0644
if_pyth.txt
37.055 KB
August 02 2022 16:56:59
root / root
0644
if_ruby.txt
7.826 KB
August 02 2022 16:56:59
root / root
0644
if_sniff.txt
0.26 KB
August 02 2022 16:56:59
root / root
0644
if_tcl.txt
22.486 KB
August 02 2022 16:56:59
root / root
0644
indent.txt
38.503 KB
August 02 2022 16:56:59
root / root
0644
index.txt
74.651 KB
August 02 2022 16:56:59
root / root
0644
insert.txt
81.207 KB
August 02 2022 16:56:59
root / root
0644
intro.txt
38.307 KB
August 02 2022 16:56:59
root / root
0644
map.txt
63.152 KB
August 02 2022 16:56:59
root / root
0644
mbyte.txt
57.916 KB
August 02 2022 16:56:59
root / root
0644
message.txt
30.498 KB
August 02 2022 16:56:59
root / root
0644
mlang.txt
7.666 KB
August 02 2022 16:56:59
root / root
0644
motion.txt
50.393 KB
August 02 2022 16:56:59
root / root
0644
netbeans.txt
36.131 KB
August 02 2022 16:56:59
root / root
0644
options.txt
378.018 KB
August 02 2022 16:56:59
root / root
0644
os_390.txt
4.642 KB
August 02 2022 16:56:59
root / root
0644
os_amiga.txt
5.333 KB
August 02 2022 16:56:59
root / root
0644
os_beos.txt
10.726 KB
August 02 2022 16:56:59
root / root
0644
os_dos.txt
11.739 KB
August 02 2022 16:56:59
root / root
0644
os_mac.txt
6.69 KB
August 02 2022 16:56:59
root / root
0644
os_mint.txt
1.369 KB
August 02 2022 16:56:59
root / root
0644
os_msdos.txt
0.506 KB
August 02 2022 16:56:59
root / root
0644
os_os2.txt
0.287 KB
August 02 2022 16:56:59
root / root
0644
os_qnx.txt
3.976 KB
August 02 2022 16:56:59
root / root
0644
os_risc.txt
0.315 KB
August 02 2022 16:56:59
root / root
0644
os_unix.txt
2.534 KB
August 02 2022 16:56:59
root / root
0644
os_vms.txt
31.348 KB
August 02 2022 16:56:59
root / root
0644
os_win32.txt
13.035 KB
August 02 2022 16:56:59
root / root
0644
pattern.txt
57.931 KB
August 02 2022 16:56:59
root / root
0644
pi_getscript.txt
20.584 KB
August 02 2022 16:56:59
root / root
0644
pi_gzip.txt
1.29 KB
August 02 2022 16:56:59
root / root
0644
pi_logipat.txt
4.088 KB
August 02 2022 16:56:59
root / root
0644
pi_netrw.txt
171.436 KB
August 02 2022 16:56:59
root / root
0644
pi_paren.txt
2.216 KB
August 02 2022 16:56:59
root / root
0644
pi_spec.txt
4.025 KB
August 02 2022 16:56:59
root / root
0644
pi_tar.txt
6.501 KB
August 02 2022 16:56:59
root / root
0644
pi_vimball.txt
11.575 KB
August 02 2022 16:56:59
root / root
0644
pi_zip.txt
6.87 KB
August 02 2022 16:56:59
root / root
0644
print.txt
30.428 KB
August 02 2022 16:56:59
root / root
0644
quickfix.txt
67.403 KB
August 02 2022 16:56:59
root / root
0644
quickref.txt
69.586 KB
August 02 2022 16:56:59
root / root
0644
quotes.txt
12.444 KB
August 02 2022 16:56:59
root / root
0644
recover.txt
10.443 KB
August 02 2022 16:56:59
root / root
0644
remote.txt
8.223 KB
August 02 2022 16:56:59
root / root
0644
repeat.txt
38.646 KB
August 02 2022 16:56:59
root / root
0644
rileft.txt
4.859 KB
August 02 2022 16:56:59
root / root
0644
russian.txt
3.018 KB
August 02 2022 16:56:59
root / root
0644
scroll.txt
13.741 KB
August 02 2022 16:56:59
root / root
0644
sign.txt
6.729 KB
August 02 2022 16:56:59
root / root
0644
spell.txt
61.31 KB
August 02 2022 16:56:59
root / root
0644
sponsor.txt
7.029 KB
August 02 2022 16:56:59
root / root
0644
starting.txt
71.896 KB
August 02 2022 16:56:59
root / root
0644
syntax.txt
212.374 KB
August 02 2022 16:56:59
root / root
0644
tabpage.txt
16.328 KB
August 02 2022 16:56:59
root / root
0644
tags
320.991 KB
August 02 2022 16:56:59
root / root
0644
tagsrch.txt
35.777 KB
August 02 2022 16:56:59
root / root
0644
term.txt
44.352 KB
August 02 2022 16:56:59
root / root
0644
terminal.txt
32.78 KB
August 02 2022 16:56:59
root / root
0644
tips.txt
20.074 KB
August 02 2022 16:56:59
root / root
0644
todo.txt
289.324 KB
August 02 2022 16:56:59
root / root
0644
uganda.txt
13.695 KB
August 02 2022 16:56:59
root / root
0644
undo.txt
16.151 KB
August 02 2022 16:56:59
root / root
0644
usr_01.txt
6.924 KB
August 02 2022 16:56:59
root / root
0644
usr_02.txt
23.769 KB
August 02 2022 16:56:59
root / root
0644
usr_03.txt
23.052 KB
August 02 2022 16:56:59
root / root
0644
usr_04.txt
18.635 KB
August 02 2022 16:56:59
root / root
0644
usr_05.txt
23.266 KB
August 02 2022 16:56:59
root / root
0644
usr_06.txt
9.362 KB
August 02 2022 16:56:59
root / root
0644
usr_07.txt
15.609 KB
August 02 2022 16:56:59
root / root
0644
usr_08.txt
18.92 KB
August 02 2022 16:56:59
root / root
0644
usr_09.txt
11.182 KB
August 02 2022 16:56:59
root / root
0644
usr_10.txt
28.496 KB
August 02 2022 16:56:59
root / root
0644
usr_11.txt
12.315 KB
August 02 2022 16:56:59
root / root
0644
usr_12.txt
13.109 KB
August 02 2022 16:56:59
root / root
0644
usr_20.txt
13.382 KB
August 02 2022 16:56:59
root / root
0644
usr_21.txt
17.942 KB
August 02 2022 16:56:59
root / root
0644
usr_22.txt
13.962 KB
August 02 2022 16:56:59
root / root
0644
usr_23.txt
12.293 KB
August 02 2022 16:56:59
root / root
0644
usr_24.txt
20.38 KB
August 02 2022 16:56:59
root / root
0644
usr_25.txt
18.666 KB
August 02 2022 16:56:59
root / root
0644
usr_26.txt
8.061 KB
August 02 2022 16:56:59
root / root
0644
usr_27.txt
17.308 KB
August 02 2022 16:56:59
root / root
0644
usr_28.txt
15.64 KB
August 02 2022 16:56:59
root / root
0644
usr_29.txt
19.645 KB
August 02 2022 16:56:59
root / root
0644
usr_30.txt
22.125 KB
August 02 2022 16:56:59
root / root
0644
usr_31.txt
10.15 KB
August 02 2022 16:56:59
root / root
0644
usr_32.txt
5.247 KB
August 02 2022 16:56:59
root / root
0644
usr_40.txt
22.641 KB
August 02 2022 16:56:59
root / root
0644
usr_41.txt
87.208 KB
August 02 2022 16:56:59
root / root
0644
usr_42.txt
13.475 KB
August 02 2022 16:56:59
root / root
0644
usr_43.txt
7.23 KB
August 02 2022 16:56:59
root / root
0644
usr_44.txt
28.526 KB
August 02 2022 16:56:59
root / root
0644
usr_45.txt
17.492 KB
August 02 2022 16:56:59
root / root
0644
usr_90.txt
17.247 KB
August 02 2022 16:56:59
root / root
0644
usr_toc.txt
9.002 KB
August 02 2022 16:56:59
root / root
0644
various.txt
28.176 KB
August 02 2022 16:56:59
root / root
0644
version4.txt
13.58 KB
August 02 2022 16:56:59
root / root
0644
version5.txt
301.312 KB
August 02 2022 16:56:59
root / root
0644
version6.txt
563.527 KB
August 02 2022 16:56:59
root / root
0644
version7.txt
658.951 KB
August 02 2022 16:56:59
root / root
0644
version8.txt
668.215 KB
August 02 2022 16:56:59
root / root
0644
vi_diff.txt
41.809 KB
August 02 2022 16:56:59
root / root
0644
visual.txt
21.331 KB
August 02 2022 16:56:59
root / root
0644
windows.txt
51.787 KB
August 02 2022 16:56:59
root / root
0644
workshop.txt
4.522 KB
August 02 2022 16:56:59
root / root
0644

GRAYBYTE WORDPRESS FILE MANAGER @ 2025
CONTACT ME
Static GIF