diff options
-rw-r--r-- | runtime/colors/darkblue.vim | 1 | ||||
-rw-r--r-- | runtime/colors/delek.vim | 1 | ||||
-rw-r--r-- | runtime/colors/desert.vim | 2 | ||||
-rw-r--r-- | runtime/colors/evening.vim | 1 | ||||
-rw-r--r-- | runtime/colors/morning.vim | 1 | ||||
-rw-r--r-- | runtime/colors/peachpuff.vim | 1 | ||||
-rw-r--r-- | runtime/colors/shine.vim | 1 | ||||
-rw-r--r-- | runtime/colors/slate.vim | 1 | ||||
-rw-r--r-- | runtime/doc/change.txt | 4 | ||||
-rw-r--r-- | runtime/doc/gui.txt | 34 | ||||
-rw-r--r-- | runtime/doc/gui_x11.txt | 528 | ||||
-rw-r--r-- | runtime/doc/help.txt | 1 | ||||
-rw-r--r-- | runtime/doc/message.txt | 2 | ||||
-rw-r--r-- | runtime/doc/nvim_clipboard.txt | 29 | ||||
-rw-r--r-- | runtime/doc/options.txt | 11 | ||||
-rw-r--r-- | runtime/doc/quickref.txt | 6 | ||||
-rw-r--r-- | runtime/doc/syntax.txt | 3 | ||||
-rw-r--r-- | runtime/doc/todo.txt | 7 | ||||
-rw-r--r-- | runtime/doc/usr_21.txt | 7 | ||||
-rw-r--r-- | runtime/doc/vim_diff.txt | 4 | ||||
-rw-r--r-- | runtime/optwin.vim | 2 | ||||
-rw-r--r-- | src/nvim/option.c | 5 |
22 files changed, 40 insertions, 612 deletions
diff --git a/runtime/colors/darkblue.vim b/runtime/colors/darkblue.vim index 4117122728..88f0bd73b9 100644 --- a/runtime/colors/darkblue.vim +++ b/runtime/colors/darkblue.vim @@ -17,7 +17,6 @@ let colors_name = "darkblue" hi Normal guifg=#c0c0c0 guibg=#000040 ctermfg=gray ctermbg=black hi ErrorMsg guifg=#ffffff guibg=#287eff ctermfg=white ctermbg=lightblue hi Visual guifg=#8080ff guibg=fg gui=reverse ctermfg=lightblue ctermbg=fg cterm=reverse -hi VisualNOS guifg=#8080ff guibg=fg gui=reverse,underline ctermfg=lightblue ctermbg=fg cterm=reverse,underline hi Todo guifg=#d14a14 guibg=#1248d1 ctermfg=red ctermbg=darkblue hi Search guifg=#90fff0 guibg=#2050d0 ctermfg=white ctermbg=darkblue cterm=underline term=underline hi IncSearch guifg=#b0ffff guibg=#2050d0 ctermfg=darkblue ctermbg=gray diff --git a/runtime/colors/delek.vim b/runtime/colors/delek.vim index 8c5f7f4fe3..dd3a33a9e8 100644 --- a/runtime/colors/delek.vim +++ b/runtime/colors/delek.vim @@ -39,7 +39,6 @@ hi StatusLineNC cterm=bold ctermbg=blue ctermfg=black guibg=gold guifg=blue hi Title ctermfg=DarkMagenta gui=bold guifg=Magenta hi VertSplit cterm=reverse gui=reverse hi Visual ctermbg=NONE cterm=reverse gui=reverse guifg=Grey guibg=fg -hi VisualNOS cterm=underline,bold gui=underline,bold hi WarningMsg ctermfg=DarkRed guifg=Red hi WildMenu ctermfg=Black ctermbg=Yellow guibg=Yellow guifg=Black diff --git a/runtime/colors/desert.vim b/runtime/colors/desert.vim index 7166220f26..542e5ae015 100644 --- a/runtime/colors/desert.vim +++ b/runtime/colors/desert.vim @@ -47,7 +47,6 @@ hi StatusLine guibg=#c2bfa5 guifg=black gui=none hi StatusLineNC guibg=#c2bfa5 guifg=grey50 gui=none hi Title guifg=indianred hi Visual gui=none guifg=khaki guibg=olivedrab -"hi VisualNOS hi WarningMsg guifg=salmon "hi WildMenu "hi Menu @@ -83,7 +82,6 @@ hi StatusLineNC cterm=reverse hi VertSplit cterm=reverse hi Title ctermfg=5 hi Visual cterm=reverse -hi VisualNOS cterm=bold,underline hi WarningMsg ctermfg=1 hi WildMenu ctermfg=0 ctermbg=3 hi Folded ctermfg=darkgrey ctermbg=NONE diff --git a/runtime/colors/evening.vim b/runtime/colors/evening.vim index 298fd24811..5dae08280e 100644 --- a/runtime/colors/evening.vim +++ b/runtime/colors/evening.vim @@ -23,7 +23,6 @@ hi StatusLine term=reverse,bold cterm=reverse,bold gui=reverse,bold hi StatusLineNC term=reverse cterm=reverse gui=reverse hi VertSplit term=reverse cterm=reverse gui=reverse hi Visual term=reverse ctermbg=black guibg=grey60 -hi VisualNOS term=underline,bold cterm=underline,bold gui=underline,bold hi DiffText term=reverse cterm=bold ctermbg=Red gui=bold guibg=Red hi Cursor guibg=Green guifg=Black hi lCursor guibg=Cyan guifg=Black diff --git a/runtime/colors/morning.vim b/runtime/colors/morning.vim index f1ab841416..fca9c2a742 100644 --- a/runtime/colors/morning.vim +++ b/runtime/colors/morning.vim @@ -23,7 +23,6 @@ hi StatusLine term=reverse,bold cterm=reverse,bold gui=reverse,bold hi StatusLineNC term=reverse cterm=reverse gui=reverse hi VertSplit term=reverse cterm=reverse gui=reverse hi Visual term=reverse ctermbg=grey guibg=grey80 -hi VisualNOS term=underline,bold cterm=underline,bold gui=underline,bold hi DiffText term=reverse cterm=bold ctermbg=Red gui=bold guibg=Red hi Cursor guibg=Green guifg=NONE hi lCursor guibg=Cyan guifg=NONE diff --git a/runtime/colors/peachpuff.vim b/runtime/colors/peachpuff.vim index 3c15305b00..1c0c2390f8 100644 --- a/runtime/colors/peachpuff.vim +++ b/runtime/colors/peachpuff.vim @@ -34,7 +34,6 @@ hi StatusLineNC term=reverse cterm=reverse gui=bold guifg=PeachPuff guibg=Gray45 hi VertSplit term=reverse cterm=reverse gui=bold guifg=White guibg=Gray45 hi Title term=bold ctermfg=5 gui=bold guifg=DeepPink3 hi Visual term=reverse cterm=reverse gui=reverse guifg=Grey80 guibg=fg -hi VisualNOS term=bold,underline cterm=bold,underline gui=bold,underline hi WarningMsg term=standout ctermfg=1 gui=bold guifg=Red hi WildMenu term=standout ctermfg=0 ctermbg=3 guifg=Black guibg=Yellow hi Folded term=standout ctermfg=4 ctermbg=7 guifg=Black guibg=#e3c1a5 diff --git a/runtime/colors/shine.vim b/runtime/colors/shine.vim index afc72b30fb..eedb9c9b25 100644 --- a/runtime/colors/shine.vim +++ b/runtime/colors/shine.vim @@ -24,7 +24,6 @@ hi StatusLine term=reverse,bold cterm=reverse,bold gui=reverse,bold hi StatusLineNC term=reverse cterm=reverse gui=reverse hi VertSplit term=reverse cterm=reverse gui=reverse hi Visual term=reverse cterm=reverse gui=reverse guifg=Grey guibg=fg -hi VisualNOS term=underline,bold cterm=underline,bold gui=underline,bold hi DiffText term=reverse cterm=bold ctermbg=Red gui=bold guibg=Red hi Cursor ctermbg=Green guibg=Green guifg=Black hi lCursor guibg=Cyan guifg=Black diff --git a/runtime/colors/slate.vim b/runtime/colors/slate.vim index f9a70b8777..ffc13b822a 100644 --- a/runtime/colors/slate.vim +++ b/runtime/colors/slate.vim @@ -45,7 +45,6 @@ let colors_name = "slate" :hi Todo guifg=orangered guibg=yellow2 :hi Directory ctermfg=darkcyan :hi ErrorMsg cterm=bold guifg=White guibg=Red cterm=bold ctermfg=7 ctermbg=1 -:hi VisualNOS cterm=bold,underline :hi WildMenu ctermfg=0 ctermbg=3 :hi DiffAdd ctermbg=4 :hi DiffChange ctermbg=5 diff --git a/runtime/doc/change.txt b/runtime/doc/change.txt index 122e76d0d3..a0ef627888 100644 --- a/runtime/doc/change.txt +++ b/runtime/doc/change.txt @@ -1161,10 +1161,6 @@ See |quotestar| and |quoteplus|. When the clipboard is not available or not working, the unnamed register is used instead. For Unix systems the clipboard is only available when the |+xterm_clipboard| feature is present. -Note that there is only a distinction between "* and "+ for X11 systems. For -an explanation of the difference, see |x11-selection|. Under MS-Windows, use -of "* and "+ is actually synonymous and refers to the |gui-clipboard|. - *quote_~* *quote~* *<Drop>* The read-only "~ register stores the dropped text from the last drag'n'drop operation. When something has been dropped onto Vim, the "~ register is diff --git a/runtime/doc/gui.txt b/runtime/doc/gui.txt index ba88ee242c..8c87e5e4ac 100644 --- a/runtime/doc/gui.txt +++ b/runtime/doc/gui.txt @@ -12,10 +12,8 @@ Vim's Graphical User Interface *gui* *GUI* 4. Making GUI Selections |gui-selections| 5. Menus |menus| 6. Extras |gui-extras| -7. Shell Commands |gui-shell| Other GUI documentation: -|gui_x11.txt| For specific items of the X11 GUI. |gui_w32.txt| For specific items of the Win32 GUI. ============================================================================== @@ -28,9 +26,6 @@ How to start the GUI depends on the system used. Mostly you can run the GUI version of Vim with: gvim [options] [files...] -The X11 version of Vim can run both in GUI and in non-GUI mode. See -|gui-x11-start|. - *gui-init* *gvimrc* *.gvimrc* *_gvimrc* *$MYGVIMRC* The gvimrc file is where GUI-specific startup commands should be placed. It is always sourced after the |vimrc| file. If you have one then the $MYGVIMRC @@ -97,12 +92,9 @@ The personal initialization files are searched in the order specified above and only the first one that is found is read. There are a number of options which only have meaning in the GUI version of -Vim. These are 'guicursor', 'guifont', 'guipty' and 'guioptions'. They are +Vim. These are 'guicursor', 'guifont', and 'guioptions'. They are documented in |options.txt| with all the other options. -If using the Motif or Athena version of the GUI (but not for the GTK+ or -Win32 version), a number of X resources are available. See |gui-resources|. - Another way to set the colors for different occasions is with highlight groups. The "Normal" group is used to set the background and foreground colors. Example (which looks nice): > @@ -423,8 +415,7 @@ You may make selections with the mouse (see |gui-mouse-select|), or by using Vim's Visual mode (see |v|). If 'a' is present in 'guioptions', then whenever a selection is started (Visual or Select mode), or when the selection is changed, Vim becomes the owner of the windowing system's primary selection -(on MS-Windows the |gui-clipboard| is used; under X11, the |x11-selection| is -used - you should read whichever of these is appropriate now). +(on MS-Windows the |gui-clipboard| is used). *clipboard* There is a special register for storing this selection, it is the "* @@ -443,13 +434,9 @@ selection (contents of the clipboard): > "*p -When using this register under X11, also see |x11-selection|. This also -explains the related "+ register. - Note that when pasting text from one Vim into another separate Vim, the type of selection (character, line, or block) will also be copied. For other -applications the type is always character. However, if the text gets -transferred via the |x11-cut-buffer|, the selection type is ALWAYS lost. +applications the type is always character. When the "unnamed" string is included in the 'clipboard' option, the unnamed register is the same as the "* register. Thus you can yank to and paste the @@ -988,19 +975,4 @@ This section describes other features which are related to the GUI. A recommended Japanese font is MS Mincho. You can find info here: http://www.lexikan.com/mincho.htm -============================================================================== -7. Shell Commands *gui-shell* - -For the X11 GUI the external commands are executed inside the gvim window. -See |gui-pty|. - -WARNING: Executing an external command from the X11 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! - -For the Win32 GUI the external commands are executed in a separate window. -See |gui-shell-win32|. - vim:tw=78:sw=4:ts=8:ft=help:norl: diff --git a/runtime/doc/gui_x11.txt b/runtime/doc/gui_x11.txt deleted file mode 100644 index 7f60ae2e10..0000000000 --- a/runtime/doc/gui_x11.txt +++ /dev/null @@ -1,528 +0,0 @@ -*gui_x11.txt* For Vim version 7.4. Last change: 2014 Mar 08 - - - 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. - -============================================================================== -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|. - -============================================================================== -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 -< -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* - -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.) - -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. - - *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. - -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. - - -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. - -============================================================================== -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 Makefile will by default first try to find the necessary -GTK+ files on your system. 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 requires that GTK+ be properly -installed. That is, the shell script 'gtk-config' must be in your PATH, and -you can already successful compile, build, and execute a GTK+ program. The -reason for this is that the compiler flags (CFLAGS) and link flags (LDFLAGS) -are obtained through the 'gtk-config' shell script. - -If you want to build with GTK+ 2 support pass the --enable-gtk2-check argument -to ./configure. Optionally, support for GNOME 2 will be compiled if the ---enable-gnome-check option is also given. - -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* -At the time of this writing, GTK+ version 1.0.6 and 1.2 are outdated. It -is suggested that you use GTK 2. The GTK 1 support will most likely be -dropped soon. - -For the GTK+ 2 GUI, using the latest release of the GTK+ 2.0 or GTK+ 2.2 -series is recommended. - -Lastly, although GTK+ has supposedly been ported to the Win32 platform, this -has not been tested with Vim and is also unsupported. Also, it's unlikely to -even compile since GTK+ GUI uses parts of the generic X11 code. This might -change in distant future; particularly because getting rid of the X11 centric -code parts is also required for GTK+ framebuffer support. - - *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 an 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: diff --git a/runtime/doc/help.txt b/runtime/doc/help.txt index 4265a81767..45d135a84d 100644 --- a/runtime/doc/help.txt +++ b/runtime/doc/help.txt @@ -148,7 +148,6 @@ Special issues ~ GUI ~ |gui.txt| Graphical User Interface (GUI) |gui_w32.txt| Win32 GUI -|gui_x11.txt| X11 GUI Interfaces ~ |if_cscop.txt| using Cscope with Vim diff --git a/runtime/doc/message.txt b/runtime/doc/message.txt index f5fc8ee03b..7d674ae4d7 100644 --- a/runtime/doc/message.txt +++ b/runtime/doc/message.txt @@ -317,7 +317,7 @@ You can switch the 'write' option on with ":set write". *E25* > Nvim does not have a built-in GUI -Neovim does not have a built in GUI, so |:gvim| and |:gui| don't work. +Neovim does not have a built in GUI, so `:gvim` and `:gui` don't work. *E49* > Invalid scroll size diff --git a/runtime/doc/nvim_clipboard.txt b/runtime/doc/nvim_clipboard.txt index cf63685499..1183ad7a3c 100644 --- a/runtime/doc/nvim_clipboard.txt +++ b/runtime/doc/nvim_clipboard.txt @@ -4,7 +4,13 @@ NVIM REFERENCE MANUAL by Thiago de Arruda -Clipboard integration for Nvim *nvim-clipboard* +Clipboard integration for Nvim *nvim-clipboard* + +1. Intro |nvim-clipboard-intro| +2. X11 selection mechanism |nvim-clipboard-x11| + +============================================================================== +1. Intro *nvim-clipboard-intro* Nvim has no direct connection to the system clipboard. Instead, it is accessible through the |nvim-provider| infrastructure, which transparently @@ -29,4 +35,25 @@ following option: See 'clipboard' for details and more options. ============================================================================== +2. X11 selection mechanism *nvim-clipboard-x11* *x11-selection* + +The clipboard providers for X11 store text in what is known as "selections". +Selections are "owned" by an application, so when the application is closed, +the selection text is lost. + +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). + + *quoteplus* *quote+* + +There are three documented X11 selections: `PRIMARY`, `SECONDARY`, and `CLIPBOARD`. +`CLIPBOARD` is typically used in X11 applications for copy/paste operations +(`Ctrl-c`/`v`), while `PRIMARY` is used for the last selected text, which is +generally inserted with the middle mouse button. + +Nvim's X11 clipboard providers only utilize the `PRIMARY` and `CLIPBOARD` +selections, used for the '*' and '+' registers, respectively. + +============================================================================== vim:tw=78:ts=8:noet:ft=help:norl: diff --git a/runtime/doc/options.txt b/runtime/doc/options.txt index 8f8f9ba152..b6ce83825a 100644 --- a/runtime/doc/options.txt +++ b/runtime/doc/options.txt @@ -3185,7 +3185,7 @@ A jump table for the options with a short description can be found at |Q_op|. - Examples: > :set guifont=courier_new:h12:w5:b:cRUSSIAN :set guifont=Andale_Mono:h7.5:w4.5 -< See also |font-sizes|. +< *'guifontset'* *'gfs'* *E250* *E252* *E234* *E597* *E598* @@ -3361,11 +3361,7 @@ A jump table for the options with a short description can be found at |Q_op|. *'guipty'* *'noguipty'* -'guipty' boolean (default on) - global - {only available when compiled with GUI enabled} - Only in the GUI: If on, an attempt is made to open a pseudo-tty for - I/O to/from shell commands. See |gui-pty|. +'guipty' Removed. |vim-differences| {Nvim} *'guitablabel'* *'gtl'* 'guitablabel' 'gtl' string (default empty) @@ -3496,9 +3492,6 @@ A jump table for the options with a short description can be found at |Q_op|. |hl-Title| t Titles for output from ":set all", ":autocmd" etc. |hl-VertSplit| c column used to separate vertically split windows |hl-Visual| v Visual mode - |hl-VisualNOS| V Visual mode when Vim does is "Not Owning the - Selection" Only X11 Gui's |gui-x11| and - |xterm-clipboard|. |hl-WarningMsg| w warning messages |hl-WildMenu| W wildcard matches displayed for 'wildmenu' |hl-Folded| f line used for closed folds diff --git a/runtime/doc/quickref.txt b/runtime/doc/quickref.txt index 14b241cae0..b9ee60318a 100644 --- a/runtime/doc/quickref.txt +++ b/runtime/doc/quickref.txt @@ -717,7 +717,6 @@ Short explanation of each option: *option-list* 'guifontwide' 'gfw' list of font names for double-wide characters 'guiheadroom' 'ghr' GUI: pixels room for window decorations 'guioptions' 'go' GUI: Which components and options are used -'guipty' GUI: try to use a pseudo-tty for ":!" commands 'guitablabel' 'gtl' GUI: custom label for a tab page 'guitabtooltip' 'gtt' GUI: custom tooltip for a tab page 'helpfile' 'hf' full path name of the main help file @@ -1113,8 +1112,6 @@ Context-sensitive completion on the command-line: Most useful Vim arguments (for full list see |startup-options|) -|-gui| -g start GUI (also allows other options) - |-+| +[num] put the cursor at line [num] (default: last line) |-+c| +{command} execute {command} after loading the file |-+/| +/{pat} {file} .. put the cursor at the first occurrence of {pat} @@ -1342,9 +1339,6 @@ Context-sensitive completion on the command-line: ------------------------------------------------------------------------------ *Q_gu* GUI commands -|:gui| :gui UNIX: start the GUI -|:gui| :gui {fname} .. idem, and edit {fname} .. - |:menu| :menu list all menus |:menu| :menu {mpath} list menus starting with {mpath} |:menu| :menu {mpath} {rhs} add menu {mpath}, giving {rhs} diff --git a/runtime/doc/syntax.txt b/runtime/doc/syntax.txt index 7e1488651e..6bc1b2873c 100644 --- a/runtime/doc/syntax.txt +++ b/runtime/doc/syntax.txt @@ -4836,8 +4836,7 @@ Title titles for output from ":set all", ":autocmd" etc. *hl-Visual* Visual Visual mode selection *hl-VisualNOS* -VisualNOS Visual mode selection when vim is "Not Owning the Selection". - Only X11 Gui's |gui-x11| and |xterm-clipboard| supports this. +VisualNOS Removed. |vim-differences| {Nvim} *hl-WarningMsg* WarningMsg warning messages *hl-WildMenu* diff --git a/runtime/doc/todo.txt b/runtime/doc/todo.txt index ca4a2e58d7..62cd199afd 100644 --- a/runtime/doc/todo.txt +++ b/runtime/doc/todo.txt @@ -583,9 +583,6 @@ Update Vim app icon (for Gnome). (Jakub Steiner, 2013 Dec 6) Patch to use .png icons for the toolbar on MS-Windows. (Martin Gieseking, 2013 Apr 18) -Patch for has('unnamedplus') docs. (Tony Mechelynck, 2011 Sep 27) -And one for gui_x11.txt. - ":cd" doesn't work when current directory path contains "**". finddir() has the same problem. (Yukihiro Nakadaira, 2012 Jan 10) Requires a rewrite of the file_file_in_path code. @@ -2573,10 +2570,6 @@ User Friendlier: 7 When Vim detects a file is being edited elsewhere and it's a gvim session of the same user it should offer a "Raise" button, so that the other gvim window can be displayed. (Eduard) -8 Support saving and restoring session for X windows? It should work to do - ":mksession" and use "-S fname" for the restart command. The - gui_x11_wm_protocol_handler() already takes care of the rest. - global_event_filter() for GTK. Tab pages: diff --git a/runtime/doc/usr_21.txt b/runtime/doc/usr_21.txt index f7555df071..2ce23f0abf 100644 --- a/runtime/doc/usr_21.txt +++ b/runtime/doc/usr_21.txt @@ -77,13 +77,6 @@ better at it. You can start a new shell this way: > This is similar to using CTRL-Z to suspend Vim. The difference is that a new shell is started. -When using the GUI the shell will be using the Vim window for its input and -output. Since Vim is not a terminal emulator, this will not work perfectly. -If you have trouble, try toggling the 'guipty' option. If this still doesn't -work well enough, start a new terminal to run the shell in. For example with: -> - :!xterm& - ============================================================================== *21.3* Remembering information; viminfo diff --git a/runtime/doc/vim_diff.txt b/runtime/doc/vim_diff.txt index 19f56c4e18..6ad3dab246 100644 --- a/runtime/doc/vim_diff.txt +++ b/runtime/doc/vim_diff.txt @@ -131,7 +131,11 @@ MS-DOS support: 'bioskey' 'conskey' +Highlight groups: + |hl-VisualNOS| + Other options: + 'guipty' 'macatsui' 'shelltype' 'shortname' diff --git a/runtime/optwin.vim b/runtime/optwin.vim index e172bbba10..636fa4b328 100644 --- a/runtime/optwin.vim +++ b/runtime/optwin.vim @@ -592,8 +592,6 @@ if has("gui") call append("$", "guiheadroom\troom (in pixels) left above/below the window") call append("$", " \tset ghr=" . &ghr) endif - call append("$", "guipty\tuse a pseudo-tty for I/O to external commands") - call <SID>BinOptionG("guipty", &guipty) if has("browse") call append("$", "browsedir\t\"last\", \"buffer\" or \"current\": which directory used for the file browser") call <SID>OptionG("bsdir", &bsdir) diff --git a/src/nvim/option.c b/src/nvim/option.c index 8ec5640b7a..113c47f112 100644 --- a/src/nvim/option.c +++ b/src/nvim/option.c @@ -366,7 +366,7 @@ typedef struct vimoption { "8:SpecialKey,~:EndOfBuffer,z:TermCursor,Z:TermCursorNC,@:NonText," \ "d:Directory,e:ErrorMsg,i:IncSearch,l:Search,m:MoreMsg,M:ModeMsg,n:LineNr," \ "N:CursorLineNr,r:Question,s:StatusLine,S:StatusLineNC,c:VertSplit,t:Title," \ - "v:Visual,V:VisualNOS,w:WarningMsg,W:WildMenu,f:Folded,F:FoldColumn," \ + "v:Visual,w:WarningMsg,W:WildMenu,f:Folded,F:FoldColumn," \ "A:DiffAdd,C:DiffChange,D:DiffDelete,T:DiffText,>:SignColumn,-:Conceal," \ "B:SpellBad,P:SpellCap,R:SpellRare,L:SpellLocal,+:Pmenu,=:PmenuSel," \ "x:PmenuSbar,X:PmenuThumb,*:TabLine,#:TabLineSel,_:TabLineFill," \ @@ -842,9 +842,6 @@ static vimoption_T (char_u *)NULL, PV_NONE, {(char_u *)NULL, (char_u *)0L} SCRIPTID_INIT}, - {"guipty", NULL, P_BOOL|P_VI_DEF, - (char_u *)NULL, PV_NONE, - {(char_u *)TRUE, (char_u *)0L} SCRIPTID_INIT}, {"guitablabel", "gtl", P_STRING|P_VI_DEF|P_RWIN, (char_u *)NULL, PV_NONE, {(char_u *)NULL, (char_u *)0L} |