Cannot send `--` into tmux panes from vim
I've the following function and accompanying key-bindings to send texts from vim in one tmux pane to other:
" copy yanked text to tmux pane
function! Send_to_tmux(count) abort
let _count = (a:count == 0) ? 2 : a:count
let text = @z
let text = substitute(text, ';', '\;', 'g')
let text = substitute(text, '"', '\"', 'g')
let text = substitute(text, 'n', '" Enter "', 'g')
let text = substitute(text, '!', '\!', 'g')
let text = substitute(text, '%', '\%', 'g')
let text = substitute(text, '#', '\#', 'g')
silent execute "!tmux send-keys -t " . _count . " "" . text . """
silent execute "!tmux send-keys -t " . _count . "Enter"
unlet _count
unlet text
endfunction
nnoremap <expr> <Leader>p '"zyip:call Send_to_tmux('.v:count.')<CR>'
xnoremap <expr> <Leader>p '"zy:call Send_to_tmux('.v:count.')<CR>'
I basically use this function when I use SQL. Now, SQL has commenting structure of two types:
(written in the structure of :h 'commentstring')
- /* %s */
- -- %s
I always used the first type of comment, and didn't set up the substitute command for second type of comment. And now I see that I can't send texts into other tmux panes of structure -- texts. I have tried it in bare bash, and MySQL command line, same result. So, I guess bash is not taking string of that structure, or tmux is eating it itself.
I've removed all tmux configurations and tried to do it, same result. So, I don't think it's a problem with my tmux config.
How do I send -- to tmux panes from vim?
tmux
add a comment |
I've the following function and accompanying key-bindings to send texts from vim in one tmux pane to other:
" copy yanked text to tmux pane
function! Send_to_tmux(count) abort
let _count = (a:count == 0) ? 2 : a:count
let text = @z
let text = substitute(text, ';', '\;', 'g')
let text = substitute(text, '"', '\"', 'g')
let text = substitute(text, 'n', '" Enter "', 'g')
let text = substitute(text, '!', '\!', 'g')
let text = substitute(text, '%', '\%', 'g')
let text = substitute(text, '#', '\#', 'g')
silent execute "!tmux send-keys -t " . _count . " "" . text . """
silent execute "!tmux send-keys -t " . _count . "Enter"
unlet _count
unlet text
endfunction
nnoremap <expr> <Leader>p '"zyip:call Send_to_tmux('.v:count.')<CR>'
xnoremap <expr> <Leader>p '"zy:call Send_to_tmux('.v:count.')<CR>'
I basically use this function when I use SQL. Now, SQL has commenting structure of two types:
(written in the structure of :h 'commentstring')
- /* %s */
- -- %s
I always used the first type of comment, and didn't set up the substitute command for second type of comment. And now I see that I can't send texts into other tmux panes of structure -- texts. I have tried it in bare bash, and MySQL command line, same result. So, I guess bash is not taking string of that structure, or tmux is eating it itself.
I've removed all tmux configurations and tried to do it, same result. So, I don't think it's a problem with my tmux config.
How do I send -- to tmux panes from vim?
tmux
add a comment |
I've the following function and accompanying key-bindings to send texts from vim in one tmux pane to other:
" copy yanked text to tmux pane
function! Send_to_tmux(count) abort
let _count = (a:count == 0) ? 2 : a:count
let text = @z
let text = substitute(text, ';', '\;', 'g')
let text = substitute(text, '"', '\"', 'g')
let text = substitute(text, 'n', '" Enter "', 'g')
let text = substitute(text, '!', '\!', 'g')
let text = substitute(text, '%', '\%', 'g')
let text = substitute(text, '#', '\#', 'g')
silent execute "!tmux send-keys -t " . _count . " "" . text . """
silent execute "!tmux send-keys -t " . _count . "Enter"
unlet _count
unlet text
endfunction
nnoremap <expr> <Leader>p '"zyip:call Send_to_tmux('.v:count.')<CR>'
xnoremap <expr> <Leader>p '"zy:call Send_to_tmux('.v:count.')<CR>'
I basically use this function when I use SQL. Now, SQL has commenting structure of two types:
(written in the structure of :h 'commentstring')
- /* %s */
- -- %s
I always used the first type of comment, and didn't set up the substitute command for second type of comment. And now I see that I can't send texts into other tmux panes of structure -- texts. I have tried it in bare bash, and MySQL command line, same result. So, I guess bash is not taking string of that structure, or tmux is eating it itself.
I've removed all tmux configurations and tried to do it, same result. So, I don't think it's a problem with my tmux config.
How do I send -- to tmux panes from vim?
tmux
I've the following function and accompanying key-bindings to send texts from vim in one tmux pane to other:
" copy yanked text to tmux pane
function! Send_to_tmux(count) abort
let _count = (a:count == 0) ? 2 : a:count
let text = @z
let text = substitute(text, ';', '\;', 'g')
let text = substitute(text, '"', '\"', 'g')
let text = substitute(text, 'n', '" Enter "', 'g')
let text = substitute(text, '!', '\!', 'g')
let text = substitute(text, '%', '\%', 'g')
let text = substitute(text, '#', '\#', 'g')
silent execute "!tmux send-keys -t " . _count . " "" . text . """
silent execute "!tmux send-keys -t " . _count . "Enter"
unlet _count
unlet text
endfunction
nnoremap <expr> <Leader>p '"zyip:call Send_to_tmux('.v:count.')<CR>'
xnoremap <expr> <Leader>p '"zy:call Send_to_tmux('.v:count.')<CR>'
I basically use this function when I use SQL. Now, SQL has commenting structure of two types:
(written in the structure of :h 'commentstring')
- /* %s */
- -- %s
I always used the first type of comment, and didn't set up the substitute command for second type of comment. And now I see that I can't send texts into other tmux panes of structure -- texts. I have tried it in bare bash, and MySQL command line, same result. So, I guess bash is not taking string of that structure, or tmux is eating it itself.
I've removed all tmux configurations and tried to do it, same result. So, I don't think it's a problem with my tmux config.
How do I send -- to tmux panes from vim?
tmux
tmux
edited Mar 29 at 15:14
klaus
asked Mar 29 at 14:31
klausklaus
1,144220
1,144220
add a comment |
add a comment |
1 Answer
1
active
oldest
votes
Looks more like a shell related question than a Vim related question. I would try the following (not tested, so might be wrong):
silent execute "!tmux send-keys -t " . _count . " -- "" . text . """
Add a -- before the text. Most Unix commands stop option processing as soon as they see a -- and everything after it is handled as parameter.
It worked! Sorry, I couldn't figure out where to actually post this question, i.e. Unix or Stackoverflow. And can I just change the mapping, i.e. always send ` -- ` before sending the text, irrespective of whether the text has--inside itself? I'm currently doing that, no problem yet occurred. If you have any comment, please let me know.
– klaus
Mar 29 at 15:58
1
@klaus if, as Ralf describes, the SQL cli youre using is well-behaved under unix, it should work if you just always send--before your literal input
– D. Ben Knoble
Mar 29 at 16:25
In particular, the SQL CLI should conform to Guideline 10 of the Utility Syntax Guidelines (IEEE Std 1003.1-2001, Section 12.2).
– wchargin
Mar 29 at 19:35
add a comment |
StackExchange.ready(function() {
var channelOptions = {
tags: "".split(" "),
id: "599"
};
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function() {
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled) {
StackExchange.using("snippets", function() {
createEditor();
});
}
else {
createEditor();
}
});
function createEditor() {
StackExchange.prepareEditor({
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: false,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: null,
bindNavPrevention: true,
postfix: "",
imageUploader: {
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
},
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
});
}
});
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fvi.stackexchange.com%2fquestions%2f19365%2fcannot-send-into-tmux-panes-from-vim%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
1 Answer
1
active
oldest
votes
1 Answer
1
active
oldest
votes
active
oldest
votes
active
oldest
votes
Looks more like a shell related question than a Vim related question. I would try the following (not tested, so might be wrong):
silent execute "!tmux send-keys -t " . _count . " -- "" . text . """
Add a -- before the text. Most Unix commands stop option processing as soon as they see a -- and everything after it is handled as parameter.
It worked! Sorry, I couldn't figure out where to actually post this question, i.e. Unix or Stackoverflow. And can I just change the mapping, i.e. always send ` -- ` before sending the text, irrespective of whether the text has--inside itself? I'm currently doing that, no problem yet occurred. If you have any comment, please let me know.
– klaus
Mar 29 at 15:58
1
@klaus if, as Ralf describes, the SQL cli youre using is well-behaved under unix, it should work if you just always send--before your literal input
– D. Ben Knoble
Mar 29 at 16:25
In particular, the SQL CLI should conform to Guideline 10 of the Utility Syntax Guidelines (IEEE Std 1003.1-2001, Section 12.2).
– wchargin
Mar 29 at 19:35
add a comment |
Looks more like a shell related question than a Vim related question. I would try the following (not tested, so might be wrong):
silent execute "!tmux send-keys -t " . _count . " -- "" . text . """
Add a -- before the text. Most Unix commands stop option processing as soon as they see a -- and everything after it is handled as parameter.
It worked! Sorry, I couldn't figure out where to actually post this question, i.e. Unix or Stackoverflow. And can I just change the mapping, i.e. always send ` -- ` before sending the text, irrespective of whether the text has--inside itself? I'm currently doing that, no problem yet occurred. If you have any comment, please let me know.
– klaus
Mar 29 at 15:58
1
@klaus if, as Ralf describes, the SQL cli youre using is well-behaved under unix, it should work if you just always send--before your literal input
– D. Ben Knoble
Mar 29 at 16:25
In particular, the SQL CLI should conform to Guideline 10 of the Utility Syntax Guidelines (IEEE Std 1003.1-2001, Section 12.2).
– wchargin
Mar 29 at 19:35
add a comment |
Looks more like a shell related question than a Vim related question. I would try the following (not tested, so might be wrong):
silent execute "!tmux send-keys -t " . _count . " -- "" . text . """
Add a -- before the text. Most Unix commands stop option processing as soon as they see a -- and everything after it is handled as parameter.
Looks more like a shell related question than a Vim related question. I would try the following (not tested, so might be wrong):
silent execute "!tmux send-keys -t " . _count . " -- "" . text . """
Add a -- before the text. Most Unix commands stop option processing as soon as they see a -- and everything after it is handled as parameter.
edited Mar 29 at 17:04
klaus
1,144220
1,144220
answered Mar 29 at 15:27
RalfRalf
3,2751317
3,2751317
It worked! Sorry, I couldn't figure out where to actually post this question, i.e. Unix or Stackoverflow. And can I just change the mapping, i.e. always send ` -- ` before sending the text, irrespective of whether the text has--inside itself? I'm currently doing that, no problem yet occurred. If you have any comment, please let me know.
– klaus
Mar 29 at 15:58
1
@klaus if, as Ralf describes, the SQL cli youre using is well-behaved under unix, it should work if you just always send--before your literal input
– D. Ben Knoble
Mar 29 at 16:25
In particular, the SQL CLI should conform to Guideline 10 of the Utility Syntax Guidelines (IEEE Std 1003.1-2001, Section 12.2).
– wchargin
Mar 29 at 19:35
add a comment |
It worked! Sorry, I couldn't figure out where to actually post this question, i.e. Unix or Stackoverflow. And can I just change the mapping, i.e. always send ` -- ` before sending the text, irrespective of whether the text has--inside itself? I'm currently doing that, no problem yet occurred. If you have any comment, please let me know.
– klaus
Mar 29 at 15:58
1
@klaus if, as Ralf describes, the SQL cli youre using is well-behaved under unix, it should work if you just always send--before your literal input
– D. Ben Knoble
Mar 29 at 16:25
In particular, the SQL CLI should conform to Guideline 10 of the Utility Syntax Guidelines (IEEE Std 1003.1-2001, Section 12.2).
– wchargin
Mar 29 at 19:35
It worked! Sorry, I couldn't figure out where to actually post this question, i.e. Unix or Stackoverflow. And can I just change the mapping, i.e. always send ` -- ` before sending the text, irrespective of whether the text has
-- inside itself? I'm currently doing that, no problem yet occurred. If you have any comment, please let me know.– klaus
Mar 29 at 15:58
It worked! Sorry, I couldn't figure out where to actually post this question, i.e. Unix or Stackoverflow. And can I just change the mapping, i.e. always send ` -- ` before sending the text, irrespective of whether the text has
-- inside itself? I'm currently doing that, no problem yet occurred. If you have any comment, please let me know.– klaus
Mar 29 at 15:58
1
1
@klaus if, as Ralf describes, the SQL cli youre using is well-behaved under unix, it should work if you just always send
-- before your literal input– D. Ben Knoble
Mar 29 at 16:25
@klaus if, as Ralf describes, the SQL cli youre using is well-behaved under unix, it should work if you just always send
-- before your literal input– D. Ben Knoble
Mar 29 at 16:25
In particular, the SQL CLI should conform to Guideline 10 of the Utility Syntax Guidelines (IEEE Std 1003.1-2001, Section 12.2).
– wchargin
Mar 29 at 19:35
In particular, the SQL CLI should conform to Guideline 10 of the Utility Syntax Guidelines (IEEE Std 1003.1-2001, Section 12.2).
– wchargin
Mar 29 at 19:35
add a comment |
Thanks for contributing an answer to Vi and Vim Stack Exchange!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fvi.stackexchange.com%2fquestions%2f19365%2fcannot-send-into-tmux-panes-from-vim%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
