Closed wikimatze closed 8 years ago
@wikimatze: I can't reproduce. I installed vim with lua via homebrew:
brew install vim --with-lua
I updated my .vimrc to have the contents you posted above (replacing Plug
with NeoBundle
):
set runtimepath+=~/.vim/bundle/neobundle.vim/
call neobundle#begin(expand('~/.vim/bundle/'))
NeoBundleFetch 'Shougo/neobundle.vim'
NeoBundle 'Shougo/neocomplete.vim'
NeoBundle 'wellle/tmux-complete.vim'
NeoBundleCheck
call neobundle#end()
let g:neocomplete#enable_at_startup = 1
" ...
Then I ran it like this:
/usr/local/Cellar/vim/7.4.884/bin/vim
I started typing and it started completing:
A couple of things to check:
vim --version
? It should contain +lua
.g:tmuxcomplete#trigger
line (unrelated to neocomplete integration) and then in insert mode type C-XC-U:set runtimepath?
:echo exists("g:tmuxcomplete#loaded")
:function neocomplete#sources#tmuxcomplete#define
(try after using neocomplete):echo neocomplete#sources#tmuxcomplete#define()
(try after the one above)Thanks for the fast response and the further reproduction steps.
VIM - Vi IMproved 7.4 (2013 Aug 10, compiled Nov 12 2015 06:16:07)
Included patches: 1-922
Compiled by wm@wm
Huge version with GTK2 GUI. Features included (+) or not (-):
+acl +farsi +mouse_netterm +syntax
+arabic +file_in_path +mouse_sgr +tag_binary
+autocmd +find_in_path -mouse_sysmouse +tag_old_static
+balloon_eval +float +mouse_urxvt -tag_any_white
+browse +folding +mouse_xterm -tcl
++builtin_terms -footer +multi_byte +terminfo
+byte_offset +fork() +multi_lang +termresponse
+cindent -gettext -mzscheme +textobjects
+clientserver -hangul_input -netbeans_intg +title
+clipboard +iconv +path_extra +toolbar
+cmdline_compl +insert_expand -perl +user_commands
+cmdline_hist +jumplist +persistent_undo +vertsplit
+cmdline_info +keymap +postscript +virtualedit
+comments +langmap +printer +visual
+conceal +libcall +profile +visualextra
+cryptv +linebreak +python +viminfo
+cscope +lispindent -python3 +vreplace
+cursorbind +listcmds +quickfix +wildignore
+cursorshape +localmap +reltime +wildmenu
+dialog_con_gui +lua +rightleft +windows
+diff +menu +ruby +writebackup
+digraphs +mksession +scrollbind +X11
+dnd +modify_fname +signs -xfontset
-ebcdic +mouse +smartindent +xim
+emacs_tags +mouseshape -sniff +xsmp_interact
+eval +mouse_dec +startuptime +xterm_clipboard
+ex_extra +mouse_gpm +statusline -xterm_save
+extra_search -mouse_jsbterm -sun_workshop +xpm
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"
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/i386-linux-gnu/gtk-2.0/include -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/pango-1.0 -I/usr/include/gio-unix-2.0/ -I/usr/include/freetype2 -I/usr/include/glib-2.0 -I/usr/lib/i386-linux-gnu/glib-2.0/include -I/usr/include/pixman-1 -I/usr/include/libpng12 -I/usr/include/harfbuzz -g -O2 -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1
Linking: gcc -L. -fstack-protector -rdynamic -Wl,-export-dynamic -L/usr/local/lib -Wl,--as-needed -o vim -lgtk-x11-2.0 -lgdk-x11-2.0 -latk-1.0 -lgio-2.0 -lpangoft2-1.0 -lpangocairo-1.0 -lgdk_pixbuf-2.0 -lcairo -lpango-1.0 -lfontconfig -lgobject-2.0 -lglib-2.0 -lfreetype -lSM -lICE -lXpm -lXt -lX11 -lXdmcp -lSM -lICE -lm -lselinux -lncurses -lacl -lattr -lgpm -ldl -L/usr/lib -llua5.2 -L/usr/lib/python2.7/config-i386-linux-gnu -lpython2.7 -lpthread -ldl -lutil -lm -Xlinker -export-dynamic -Wl,-O1 -Wl,-Bsymbolic-functions -Wl,-R/home/wm/.rvm/rubies/ruby-2.2.1/lib -L/home/wm/.rvm/rubies/ruby-2.2.1/lib -lruby -lpthread -lgmp -ldl -lcrypt -lm -L/home/wm/.rvm/rubies/ruby-2.2.1/lib
C-X CI
gives me the following menu:
Checking your plugin sh/tmuxcomplete
brought me to the line:
if ! tmux info &> /dev/null; then
echo "[tmux-complete.vim]"
echo "No tmux found!"
exit 0
fi
And tmux version
has the following output:
started Thu Nov 12 06:22:53 2015
socket path /tmp/tmux-1000/default
debug level 0
protocol version 8
Terminal 0: screen-256color [references=1, flags=0x1]:
0: AX: (flag) true
1: acsc: (string) ++,,--..00``aaffgghhiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~
2: bce: (flag) false
3: bel: (string) \007
4: blink: (string) \033[5m
5: bold: (string) \033[1m
6: civis: (string) \033[?25l
7: clear: (string) \033[H\033[J
8: cnorm: (string) \033[34h\033[?25h
9: colors: (number) 256
10: Cr: [missing]
11: Cs: [missing]
12: csr: (string) \033[%i%p1%d;%p2%dr
13: cub: (string) \033[%p1%dD
14: cub1: (string) \010
15: cud: (string) \033[%p1%dB
16: cud1: (string) \012
17: cuf: (string) \033[%p1%dC
18: cuf1: (string) \033[C
19: cup: (string) \033[%i%p1%d;%p2%dH
20: cuu: (string) \033[%p1%dA
21: cuu1: (string) \033M
22: cvvis: (string) \033[34l
23: dch: (string) \033[%p1%dP
24: dch1: (string) \033[P
25: dim: [missing]
26: dl: (string) \033[%p1%dM
27: dl1: (string) \033[M
28: E3: [missing]
29: ech: [missing]
30: el: (string) \033[K
31: el1: (string) \033[1K
32: enacs: (string) \033(B\033)0
33: fsl: (string) \007
34: home: (string) \033[H
35: hpa: [missing]
36: ich: (string) \033[%p1%d@
37: ich1: [missing]
38: il: (string) \033[%p1%dL
39: il1: (string) \033[L
40: invis: [missing]
41: is1: [missing]
42: is2: (string) \033)0
43: is3: [missing]
44: kcbt: (string) \033[Z
45: kcub1: (string) \033OD
46: kcud1: (string) \033OB
47: kcuf1: (string) \033OC
48: kcuu1: (string) \033OA
49: kDC: [missing]
50: kDC3: [missing]
51: kDC4: [missing]
52: kDC5: [missing]
53: kDC6: [missing]
54: kDC7: [missing]
55: kdch1: (string) \033[3~
56: kDN: [missing]
57: kDN3: [missing]
58: kDN4: [missing]
59: kDN5: [missing]
60: kDN6: [missing]
61: kDN7: [missing]
62: kend: (string) \033[4~
63: kEND: [missing]
64: kEND3: [missing]
65: kEND4: [missing]
66: kEND5: [missing]
67: kEND6: [missing]
68: kEND7: [missing]
69: kf1: (string) \033OP
70: kf10: (string) \033[21~
71: kf11: (string) \033[23~
72: kf12: (string) \033[24~
73: kf13: [missing]
74: kf14: [missing]
75: kf15: [missing]
76: kf16: [missing]
77: kf17: [missing]
78: kf18: [missing]
79: kf19: [missing]
80: kf2: (string) \033OQ
81: kf20: [missing]
82: kf21: [missing]
83: kf22: [missing]
84: kf23: [missing]
85: kf24: [missing]
86: kf25: [missing]
87: kf26: [missing]
88: kf27: [missing]
89: kf28: [missing]
90: kf29: [missing]
91: kf3: (string) \033OR
92: kf30: [missing]
93: kf31: [missing]
94: kf32: [missing]
95: kf33: [missing]
96: kf34: [missing]
97: kf35: [missing]
98: kf36: [missing]
99: kf37: [missing]
100: kf38: [missing]
101: kf39: [missing]
102: kf4: (string) \033OS
103: kf40: [missing]
104: kf41: [missing]
105: kf42: [missing]
106: kf43: [missing]
107: kf44: [missing]
108: kf45: [missing]
109: kf46: [missing]
110: kf47: [missing]
111: kf48: [missing]
112: kf49: [missing]
113: kf5: (string) \033[15~
114: kf50: [missing]
115: kf51: [missing]
116: kf52: [missing]
117: kf53: [missing]
118: kf54: [missing]
119: kf55: [missing]
120: kf56: [missing]
121: kf57: [missing]
122: kf58: [missing]
123: kf59: [missing]
124: kf6: (string) \033[17~
125: kf60: [missing]
126: kf61: [missing]
127: kf62: [missing]
128: kf63: [missing]
129: kf7: (string) \033[18~
130: kf8: (string) \033[19~
131: kf9: (string) \033[20~
132: kHOM: [missing]
133: kHOM3: [missing]
134: kHOM4: [missing]
135: kHOM5: [missing]
136: kHOM6: [missing]
137: kHOM7: [missing]
138: khome: (string) \033[1~
139: kIC: [missing]
140: kIC3: [missing]
141: kIC4: [missing]
142: kIC5: [missing]
143: kIC6: [missing]
144: kIC7: [missing]
145: kich1: (string) \033[2~
146: kLFT: [missing]
147: kLFT3: [missing]
148: kLFT4: [missing]
149: kLFT5: [missing]
150: kLFT6: [missing]
151: kLFT7: [missing]
152: kmous: (string) \033[M
153: knp: (string) \033[6~
154: kNXT: [missing]
155: kNXT3: [missing]
156: kNXT4: [missing]
157: kNXT5: [missing]
158: kNXT6: [missing]
159: kNXT7: [missing]
160: kpp: (string) \033[5~
161: kPRV: [missing]
162: kPRV3: [missing]
163: kPRV4: [missing]
164: kPRV5: [missing]
165: kPRV6: [missing]
166: kPRV7: [missing]
167: kRIT: [missing]
168: kRIT3: [missing]
169: kRIT4: [missing]
170: kRIT5: [missing]
171: kRIT6: [missing]
172: kRIT7: [missing]
173: kUP: [missing]
174: kUP3: [missing]
175: kUP4: [missing]
176: kUP5: [missing]
177: kUP6: [missing]
178: kUP7: [missing]
179: Ms: [missing]
180: op: (string) \033[39;49m
181: rev: (string) \033[7m
182: ri: (string) \033M
183: rmacs: (string) \017
184: rmcup: (string) \033[?1049l
185: rmkx: (string) \033[?1l\033>
186: Se: [missing]
187: setab: (string) \033[%?%p1%{8}%<%t4%p1%d%e%p1%{16}%<%t10%p1%{8}%-%d%e48;5;%p1%d%;m
188: setaf: (string) \033[%?%p1%{8}%<%t3%p1%d%e%p1%{16}%<%t9%p1%{8}%-%d%e38;5;%p1%d%;m
189: sgr0: (string) \033[m\017
190: sitm: [missing]
191: smacs: (string) \016
192: smcup: (string) \033[?1049h
193: smkx: (string) \033[?1h\033=
194: smso: (string) \033[3m
195: smul: (string) \033[4m
196: Ss: [missing]
197: tsl: (string) \033]0;
198: vpa: [missing]
199: xenl: (flag) true
200: XT: (flag) true
So I think I have tmux in my shell. I'm using the zsh instead of bash. I checked your commit https://github.com/wellle/tmux-complete.vim/commit/753db29fb260e732a6f11491b1e31973036554db and that's the exactly the line of code you changed from
-if [ -z "$TMUX_PANE" ]; then
+if ! tmux info &> /dev/null; then
- echo "Not running inside tmux!" 1>&2
+ echo "[tmux-complete.vim]"
- exit 1
+ echo "No tmux found!"
+ exit 0
fi
If I remove that newline, than your plugin is working. Im using the latest tmux 2.1
.
:set runtimepath?
:er
echo exists("g:tmuxcomplete#loaded")
: 1 - that's fine:function neocomplete#sources#tmuxcomplete#define
- nothing special:echo neocomplete#sources#tmuxcomplete#define()
gives me{'rank': 4, 'name': 'tmux-complete', 'mark': '[tmux]', 'kind': 'keyword', 'gather_candidates':
function('27')}
Hope, we can find a solution for this problem. As mentioned the solution lies in my eyes in step 4 with the c-x
c-u
. I will try now tmux 1.9 and see if it happens as well.
I tried tmux 1.9
and tmux 2.0
and got the same errors. I think you should use to check if tmux is running if [ -z "$TMUX_PANE" ];
instead of ! tmux info &> /dev/null;
. At least, this work on my zsh.
I tried bash
instead of zsh
in tmux and got the same error. I'm pretty sure that I found the error with the line above :smile: .
I'm using zsh as well. The script is running /bin/sh though. Can you tell me your versions of sh and zsh?
Also can you check the exit code of tmux info
by running echo $?
afterwards?
That was changed in #61 for #58.
zsh --version
zsh 5.0.2 (i686-pc-linux-gnu)
And tmux info
then echo $?
gives me 0
. Very interesting.
/bin/sh --version
?sh/tmuxcomplete
to #!/bin/bash
and see if that makes a difference (on clean v0.1.0
still using tmux info
)?What happens if you use this check instead (again from clean v0.1.0
using sh)?
tmux info &> /dev/null
if [ "$?" -ne "0" ]; then
echo "[tmux-complete.vim]"
echo "No tmux found!"
exit 0
fi
1)
bash --version
GNU bash, version 4.3.11(1)-release (i686-pc-linux-gnu)
2) Still got the same error
3) Wow, it is actually working in sh as well as in zsh - I'm more than happy.
Is this the solution? Doesn't it "destroy" gvim and/or MacVim as mentioned in #61 or #58?
Bests Matthias
Hello @wellle! First, I wanted to write to thank you for developing this plugin. I use it on a very regular basis and find that it is an important component of my workflow when editing files in vim.
Although my time is very constrained today, I also wanted to let you know that I am seeing exactly the behavior that is outlined in this issue. I noticed that the tmux-complete
plugin stopped worked exactly at the point when you changed the code mentioned earlier in this issue.
Like the other people who have reported concerns, I am also using tmux
1.9 and zsh
5.0.7, with the oh-my-zsh
enhancement. The only way in which my configuration seems different than that of the others is that I am using youcompleteme
instead of the other completion programs.
For the record, I am also running vim
in a terminal window with the Ubuntu 15.04 LTS operating system. As needed, I can provide additional details to help you to debug the plugin and ultimately find and commit a fix. Please let us know how you would like us all to further assist you!
@wikimatze: It seems like my initial implementation using if ! tmux info
is not portable. According to your success with approach (3) I opened PR #64 which implements this change. Please try using that branch
Plug 'wellle/tmux-complete.vim', { 'branch': '63-compatibility' }
and report if that works. In that case I'll merge and release it as v0.1.1
.
This doesn't break support for gvim/MacVim, because the important change there was not to rely on the environment variable $TMUX_PANE
(which is not set in gvim) but by calling a tmux command like tmux info
to see if a tmux is running (which works from gvim). We still do the latter, but in a more portable way.
And for the record: I'd still like to know what version of sh
is installed on your machine (not bash
). :wink:
@gkapfham: Thank you for your kind words! I hope this resolves the issue and allows you to get back into your workflow! Feel free to open follow up issues if you run into problems again or feel like something is missing. :+1:
If you want to help, you could also try running tmux-complete from the branch 63-compatibility
and let me know if that works for you.
/bin/sh --version
/bin/sh: 0: Illegal option --
According to https://groups.google.com/forum/#!topic/gnu.bash/hmPVGXDApL8 this should be okay. But I still wonder about the output.
The code from your branch is working. Thanks for the fix.
@wikimatze: Thanks for confirming. I went for a slightly different fix in #64. It's merged and I just released v0.1.1. Could you check that once again?
It's working like a charm, thanks for the POSIX fix.
Helllo again @wellle and others. I am also writing to confirm that this fix has now resolved all of the problems that I was facing with this plugin. Everything is now once again working as it was before. Again, thanks for this great vim
plugin --- I use it on a very regular basis!
@gkapfham: Thanks for confirming :+1:
Glad that everyone is happy now with this plugin.
I've updated from tmux-complete 0.0.7 on 0.1.0 and the completion is not working anymore. Here is my minimal vimrc:
I tried different things in the
g:tmuxcomplete#trigger
but that didn't work. If I switch back to tmux-complete 0.0.7 everything works. I have tmux 2.1 on my xubuntu 14.10 machine.