Comments (16)
@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:
- Are you running inside tmux? Are there any other sessions, windows or panes? Do they contain any text you want to complete?
- Can you show me the output of
vim --version
? It should contain+lua
. - Inside Vim, does neocomplete work at all?
- Inside Vim, does tmux-complete work at all? Try removing the
g:tmuxcomplete#trigger
line (unrelated to neocomplete integration) and then in insert mode type C-XC-U - What's the output when you run these in Vim?
: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)
from tmux-complete.vim.
Thanks for the fast response and the further reproduction steps.
- Yup, have a only one tmux session running and vim is running there
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
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 753db29 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
.
- I will report these information too:
: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.
from tmux-complete.vim.
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.
from tmux-complete.vim.
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 😄 .
from tmux-complete.vim.
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.
from tmux-complete.vim.
zsh --version
zsh 5.0.2 (i686-pc-linux-gnu)
And tmux info
then echo $?
gives me 0
. Very interesting.
from tmux-complete.vim.
-
What's
/bin/sh --version
? -
Can you try changing the first line in
sh/tmuxcomplete
to#!/bin/bash
and see if that makes a difference (on cleanv0.1.0
still usingtmux 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
from tmux-complete.vim.
bash --version
GNU bash, version 4.3.11(1)-release (i686-pc-linux-gnu)
Is this the solution? Doesn't it "destroy" gvim and/or MacVim as mentioned in #61 or #58?
Bests Matthias
from tmux-complete.vim.
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!
from tmux-complete.vim.
@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
). 😉
@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. 👍
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.
from tmux-complete.vim.
/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.
from tmux-complete.vim.
@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?
from tmux-complete.vim.
It's working like a charm, thanks for the POSIX fix.
from tmux-complete.vim.
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!
from tmux-complete.vim.
@gkapfham: Thanks for confirming 👍
from tmux-complete.vim.
Glad that everyone is happy now with this plugin.
from tmux-complete.vim.
Related Issues (20)
- gvim support HOT 1
- License? HOT 1
- New release tag HOT 1
- hangs in osx HOT 5
- Strange behaviour HOT 5
- Integrate w/ deoplete? HOT 9
- tmux-complete outputs 'No tmux found' completion if no tmux instance is running HOT 3
- Flickering with deoplete HOT 3
- Cannot leave insert mode HOT 4
- Complete from all windows and all panes? HOT 4
- Provide an async api to work with other plugin like asyncomplete.vim HOT 9
- deoplete source: use async functionality HOT 3
- Trigger setting for coc? HOT 5
- deoplete source: expose relevant asynccomplete configuration options
- use allowlist for asyncomplete
- CoC specify suggest.completionItemKindLabels for Tmux source
- Only Completion for adjacent tmux panes
- Integrate with nvim-cmp
- Feature suggestion: copy all visible lines in specified tmux pane to buffer (I included a working implemention as example)
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from tmux-complete.vim.