Closed ntjn closed 6 years ago
The + and " registers should work. What OS and Vim version are you using?
I'm using Arch Linux with 4.15.14-1-ARCH
kernel.
Full vim --version
output:
VIM - Vi IMproved 8.0 (2016 Sep 12, compiled Dec 23 2017 12:10:41) Included patches: 1-1422 Compiled by ntj@archlinux Huge version with GTK2 GUI. Features included (+) or not (-): +acl +farsi +mouse_sgr -tag_any_white +arabic +file_in_path -mouse_sysmouse -tcl +autocmd +find_in_path +mouse_urxvt +termguicolors -autoservername +float +mouse_xterm +terminal +balloon_eval +folding +multi_byte +terminfo +balloon_eval_term -footer +multi_lang +termresponse +browse +fork() -mzscheme +textobjects ++builtin_terms +gettext +netbeans_intg +timers +byte_offset -hangul_input +num64 +title +channel +iconv +packages +toolbar +cindent +insert_expand +path_extra +user_commands +clientserver +job -perl +vertsplit +clipboard +jumplist +persistent_undo +virtualedit +cmdline_compl +keymap +postscript +visual +cmdline_hist +lambda +printer +visualextra +cmdline_info +langmap +profile +viminfo +comments +libcall -python +vreplace +conceal +linebreak -python3 +wildignore +cryptv +lispindent +quickfix +wildmenu +cscope +listcmds +reltime +windows +cursorbind +localmap +rightleft +writebackup +cursorshape -lua -ruby +X11 +dialog_con_gui +menu +scrollbind -xfontset +diff +mksession +signs +xim +digraphs +modify_fname +smartindent +xpm +dnd +mouse +startuptime +xsmp_interact -ebcdic +mouseshape +statusline +xterm_clipboard +emacs_tags +mouse_dec -sun_workshop -xterm_save +eval +mouse_gpm +syntax +ex_extra -mouse_jsbterm +tag_binary +extra_search +mouse_netterm +tag_old_static system vimrc file: "$VIM/vimrc" user vimrc file: "$HOME/.vimrc" 2nd user vimrc file: "~/.vim/vimrc" user exrc file: "$HOME/.exrc" system gvimrc file: "$VIM/gvimrc" user gvimrc file: "$HOME/.gvimrc" 2nd user gvimrc file: "~/.vim/gvimrc" defaults file: "$VIMRUNTIME/defaults.vim" system menu file: "$VIMRUNTIME/menu.vim" fall-back for $VIM: "/usr/local/share/vim" Compilation: gcc -c -I. -Iproto -DHAVE_CONFIG_H -DFEAT_GUI_GTK -pthread -I/usr/include/gtk-2.0 -I/usr/lib/gtk-2.0/include -I/usr/include/pango-1.0 -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/pango-1.0 -I/usr/include/freetype2 -I/usr/include/libpng16 -I/usr/include/harfbuzz -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I/usr/include/freetype2 -I/usr/include/libpng16 -I/usr/include/harfbuzz -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -O2 -fno-strength-reduce -Wall -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1 Linking: gcc -L/usr/local/lib -Wl,--as-needed -o vim -lgtk-x11-2.0 -lgdk-x11-2.0 -lpangocairo-1.0 -latk-1.0 -lcairo -lgdk_pixbuf-2.0 -lgio-2.0 -lpangoft2-1.0 -lpango-1.0 -lgobject-2.0 -lglib-2.0 -lfontconfig -lfreetype -lSM -lICE -lXpm -lXt -lX11 -lXdmcp -lSM -lICE -lm -ltinfo -lelf -lnsl -lacl -lattr -lgpm -ldl
Neither +
nor any other register is working. I'm using "+<normal>
, but it isn't even shown on the status bar.
Sorry for flooding, but yanking seems to work inside of athame, but can't use data in "+
register outside of it, neither inside with Shift+Ins
.
Are you using the version in AUR?
Shift+Ins normally uses the "* register.
Something to note: if you don't have ATHAME_VIM_PERSIST on and you yank and then press enter to run a bash command or whatever, the value of "+ will persist between lines, but it will no longer be accessible outside of Vim until you yank to it again. (Without ATHAME_VIM_PERSIST, each bash line is a new instance of Vim, and "+ leaves the X11 clipboard when Vim closes.)
Nothing shows up on the Athame status bar except mode, ex commands, searches, and errors. That doesn't mean registers aren't working.
I tried both the AUR version and built one as well.
Tried to use the "*
register recently.
I haven't been executing any command, just tried to copy some bullshit to X11 clipboard. Tried to enable ATHAME_VIM_PERSIST as well. The register is now available in every line, but still not outside of vim.
Do you use any fancy plugins? some hijack registers (e.g. for autocompletion, etc). Maybe link a gist of your current .vimrc for easier debugging.
For testing purposes could you set clipboard=unnamedplus
This tells all commands like yank and delete to use the +
register.
If you can access your clipboard with that in athame you probably have some program (e.g. your terminal, shell, ghost) stealing some keys from you
Doesn't work either.
I don't think anything is stealing keys, because I'm able to use the +
register inside athame, so keystrokes are recognized.
I'm using bash
built for athame, and plain xterm
, wm is i3
, that isn't stealing anything either.
I am going to dig down the rabbit hole, despite the cause of this issue seems far from trivial.
What are $DISPLAY and $TERM set to in Athame’s vim? You can use “= from Athame to get the value.
DISPLAY=:0
and TERM=xterm-256color
Solved by accident. After building another vim I've realised /usr/local/bin/vim
is the preferred location over /usr/bin/vim
where vim is installed on Arch by default, and athame have been using another with X11 disabled.
Give the dates of last commit and last PR, I suppose this amzing project is essentially abandoned.
Nonetheless, I'll provide this repro steps that show something is not quite right with registers +
and *
. As you can see in the following screencast I do the following
*
register+
register
Result: the *
register has the same content as the +
register, i.e. the content of the +
register has been yanked to the *
register. However, if you invert step 1 and 2, then *
is copied into +
. Therefore my observation is that the last register between +
and *
in which you have yanked is put into the other register if you send Vim to background and then to foreground again.
Does this follow from the architecture trivially, or is it just not implemented? If it's not against the design, do you think it would be hard to implement?
I mostly need the
+
register to be able to yank into X11 clipboard.does not copy either.