我的 vimrc 中有以下内容:
nnoremap <F1> :!screen -S foo -p run -X stuff '!!^M'
但是,当单击 F1 时,我收到错误:没有上一个命令。
我想要的是告诉名为“foo”的 screen session 中的“运行”窗口运行我之前运行的任何内容。
最佳答案
如果您的意思是 !!
由 bash 执行(因此“运行我之前在该 screen 实例中运行的任何内容”),那么您必须转义它:
nnoremap <F1> :!screen -S foo -p run -X stuff $'\!\!\n'<CR>
或使用system()
:
nnoremap <F1> :call system('screen -S foo -p run -X stuff $''!!\n''')<CR>
。因为 !
在任何 bang thingie 中都意味着“将我之前在 vim 中使用其他 bang thingie 运行的任何内容放置在这里”
关于vim - 告诉 screen 窗口运行上一个命令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13165946/