我想在输入某个命令后在vim命令提示符中粘贴被拉动的行。
我看到了一个解决方案,他们要求输入<Ctrl-R><Shift-">
来粘贴vim命令提示符中的拉线,但是我遇到了以下问题:
当我尝试:tabnew
,然后输入<Ctrl-R><Shift-">
时,无论是什么线条被粘贴之后:tabnew line。
Eg: :tabnew /disk/bin/hello.lo
克
如果我在vimrc中映射相同的上述命令,则上述解决方案不起作用。我尝试在.vimrc中添加以下地图:
:map <S-P> :<C-R><S-">
当我尝试:tabnew
并输入<S-P>
时,它没有粘贴被拉动的线,即映射的命令不起作用。
任何人都可以帮我解决上述情况吗?
跟进查询:
是否可以混合正常模式和命令行模式操作?
对于Eg: 一个。我在文本文件中有一行,它是一个目录路径,想在vim中打开该目录。
湾而不是Yanking [S-Y]行,然后执行映射命令[map <C-T><C-O> :tabnew <C-R><S-"><bs><CR>]
来打开vim的目录,是否可以执行下面给出的操作?
nnoremap <F7> <S-Y>cnoremap:tabnew <C-R><S-"><bs><CR>
请放弃你的意见/建议?
答案 0 :(得分:3)
:
命令行提示符为“命令行模式”(请参阅:h Command-line-mode
,:h cmdline
或:h :
[均显示相同的帮助])。您可以使用:cnoremap
在该模式下映射密钥。所以你似乎在寻找这个:
:cnoremap <s-p> <c-r>"<bs>
末尾的退格删除了(可能)在缓冲区末尾的尾随行尾字符。
我强烈建议您使用与<s-p>
不同的映射,因为每次尝试键入大写“P”时都会触发该映射。