Привет, я видел этот вопрос здесь на stackoverflow, но мой вопрос немного отличается.
Когда я использую следующую карту, я определяю удобную карту:
map <Leader>r :!screen -p run_and_test -X stuff '(cd /really/long/folder/data/gen_prob; epy gen_data.py)^V^V^M'<CR><CR>
Это становится очень длинной строкой, и я бы предпочел разбить ее на строки.
Я пробовал с:
let folder = '/really/long/folder/gen_prob'
let cmd = "'(cd " . folder . "; python gen_data.py)^V^V^M'"
map <Leader>r :execute "!screen -p run_and_test -X stuff" . cmd <cr><cr>
но это не работает.
Есть идеи, как разбить это начальное отображение на несколько строк?
edit: Окончательное решение, которое я реализовал:
function! Execute_screen()
let folder = '/really/long/folder/gen_prob'
let cmd = "'(cd " . folder . "; python gen_data.py)\r'"
execute "!screen -p run_and_test -X stuff " . cmd
endfunction
noremap <Leader>r :call Execute_screen()<cr><cr>