1

In my local PC I use p in Vim command mode for pasting and it works fine and the :echo has('clipboard') returns 1.

But, in the cluster I am working p in command mode, which just inserts a 0 instead of pasting and echo has('clipboard') returns 0.

I suppose I have to modify my .vimrc file.

I tried:

nnoremap p "0p"

and:

"*p

but with no result.

:version

VIM - Vi IMproved 7.4 (2013 Aug 10, compiled Dec 15 2020 16:44:08) Included patches: 1-207, 209-629 Modified by <bugzilla@redhat.com> Compiled by <bugzilla@redhat.com> Huge version without GUI. Features included (+) or not (-): +acl +cscope +folding +menu +netbeans_intg -sniff +virtualedit +arabic +cursorbind -footer +mksession +path_extra +startuptime +visual +autocmd +cursorshape +fork() +modify_fname +perl +statusline +visualextra -balloon_eval +dialog_con +gettext +mouse +persistent_undo -sun_workshop +viminfo -browse +diff -hangul_input -mouseshape +postscript +syntax +vreplace ++builtin_terms +digraphs +iconv +mouse_dec +printer +tag_binary +wildignore +byte_offset -dnd +insert_expand +mouse_gpm +profile +tag_old_static +wildmenu +cindent -ebcdic +jumplist -mouse_jsbterm +python/dyn -tag_any_white +windows -clientserver +emacs_tags +keymap +mouse_netterm -python3 -tcl +writebackup -clipboard +eval +langmap +mouse_sgr +quickfix +terminfo -X11 +cmdline_compl +ex_extra +libcall -mouse_sysmouse +reltime +termresponse -xfontset +cmdline_hist +extra_search +linebreak +mouse_urxvt +rightleft +textobjects -xim +cmdline_info +farsi +lispindent +mouse_xterm +ruby/dyn +title -xsmp +comments +file_in_path +listcmds +multi_byte +scrollbind -toolbar -xterm_clipboard +conceal +find_in_path +localmap +multi_lang +signs +user_commands -xterm_save +cryptv +float -lua -mzscheme +smartindent +vertsplit -xpm system vimrc file: "/etc/vimrc" user vimrc file: "$HOME/.vimrc" 2nd user vimrc file: "~/.vim/vimrc" user exrc file: "$HOME/.exrc" fall-back for $VIM: "/etc" f-b for $VIMRUNTIME: "/usr/share/vim/vim74" Compilation: gcc -c -I. -Iproto -DHAVE_CONFIG_H -O2 -g -pipe -Wall -fexceptions -fstack-protector-strong --param=s sp-buffer-size=4 -grecord-gcc-switches -m64 -mtune=generic -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D__linux__ -D_REENT RANT -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1 Linking: gcc -L. -Wl,-z,relro -fstack-protector -rdynamic -Wl,-export-dynamic -Wl,--enable-new-dtags -Wl,-rpath,/usr /lib64/perl5/CORE -Wl,-z,relro -L/usr/local/lib -Wl,--as-needed -o vim -lm -lnsl -lselinux -lncurses -lacl -lattr -lgpm -ldl -Wl,--enable-new-dtags -Wl,-rpath,/usr/lib64/perl5/CORE -fstack-protector -L/usr/lib64/perl5/COR E -lperl -lresolv -lnsl -ldl -lm -lcrypt -lutil -lpthread -lc

I modified my .vimrc file as follows according to the comments:

set number
set shiftwidth=4
set clipboard=unnamed 
nnoremap p "*p nnoremap p <cmd>r !xclip -o -selection clipboard<CR> 

But, now p does nothing. I want p to paste.

Friedrich
  • 1,846
  • 1
  • 11
  • 21
  • Please [edit] and add the output of :version to your question. The clipboard feature is something that's compiled in - or not. My guess is your cluster has a minimal version of Vim installed. – Friedrich Dec 29 '23 at 15:52
  • So in your cluster, your Vim does not have acess to the system clipboard. And even if it had, it would be hard to access your system clipboard from your cluster (it may work using ssh -X or similar). However I suppose your actual problem is getting your system clipboard accessible from within your cluster. That is not a Vim problem however. – Christian Brabandt Dec 29 '23 at 15:57
  • Thanks for updating. Note how it says -clipboard and "HUGE version without GUI". I'd try and install a GUI version. On your local PC, you probably have a GUI version with +clipboard. On a side note: 7.4 from ten years ago? We're using Vim 9 these days. – Friedrich Dec 29 '23 at 16:50
  • Yes, you are right about + and - clipboard. Thanks a lot. The version of vim is provided in a cluster by the institution I work for. – Dimitris Tsiaousidis Dec 29 '23 at 17:09
  • So that's case closed? Does Vivian's answer work for you? If not, consider refining your question so we know what's still missing. – Friedrich Dec 29 '23 at 19:24

1 Answers1

0

My understanding of the 'clipboard' feature is that: It synchronizes:

  • The + register and the system clipboard
  • The * register and the selection clipboard (On Windows there are the same)

Remark:

  • When the 'clipboard' option is set to unnamed the * is the default register to yank (copy) and put (paste)
:set clipboard=unnamed
  • When the 'clipboard' option is set to unnamedplus the + is the default register to yank (copy) and put (paste)
:set clipboard=unnamedplus

You can use an external program (e.g. xclip) to read the content of the clipboard and insert it into your text:

nnoremap p <cmd>r !xclip -o -selection clipboard<CR>

You could be interested by the following questions:

Vivian De Smedt
  • 16,336
  • 3
  • 18
  • 37
  • You're talking about the 'clipboard' option while OP is asking about the +clipboard feature. – Friedrich Dec 29 '23 at 15:57
  • 1
    My intention was to describe both but my text was confused (and actually wrong). I have made a new version. I believe it is more correct. – Vivian De Smedt Dec 29 '23 at 16:00
  • Looks good. I doubt OP's problem can be fixed from within Vim but let's see if it helps. – Friedrich Dec 29 '23 at 16:06
  • Hello, i modified my .vimrc file as follows set number 2 set shiftwidth=4 3 4 5 set clipboard=unnamed 6 nnoremap p "*p 7 nnoremap p r !xclip -o -selection clipboard – Dimitris Tsiaousidis Dec 29 '23 at 16:58
  • Hello, i modified my .vimrc file as follows

    set number set shiftwidth=4 set clipboard=unnamed nnoremap p "*p nnoremap p r !xclip -o -selection clipboard

    But , now p do nothing. Thanks for the help.

    @VivianDeSmedt

    – Dimitris Tsiaousidis Dec 29 '23 at 17:13
  • Thanks for the feedback but my suggestion was slightly different: nnoremap p <cmd>r !xclip -o -selection clipboard<CR>. What is the result of xclip -o -selection clipboard on the command prompt (terminal)? – Vivian De Smedt yesterday – Vivian De Smedt Dec 31 '23 at 09:19
  • @VivianDeSmedt hello, $ xclip -o -selection clipboard bash: xclip: command not found – Dimitris Tsiaousidis Dec 31 '23 at 10:18
  • Thanks for the feedback. What is the output of xsel -ob? If you don't have the clipboard feature in Vim you need a program to read/write the clipboard content. Typical exemple are xclip or xsel. – Vivian De Smedt Dec 31 '23 at 10:35