0
こんにちは私はこれを見たことがありますquestionここでstackoverflow、しかし私の質問は少し異なります。vim map long GNU Screenコマンド
私は、次のマップを使用する場合、私は便利なマップを定義します。
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>
は、これは本当に長いラインでbecames、と私は線で、これを分割することを好むだろう。 私は試しました:
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>
しかし、動作しません。
この初期マッピングをいくつかの行に分割する方法はありますか?
編集:最終的な解決策は、私が実装さ:
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>
ありがとうZyX、私はあなたの答えを使用し、関数で実装しました。私はまた、私のvimrcファイルを調べて、すべてのマップをnoremapで置き換えました。 – skeept