我喜欢在插入和命令行模式下使用 shell 样式的快捷方式,例如 CTRL-K 来删除到行尾。此映射在插入模式下工作:
inoremap <C-K> <C-O>D
但我无法找出命令行模式的等效项。有任何想法吗?
我正在使用 Vrapper 以防万一。
答案1
替代方法
这:help command-line-window
是 Vim 鲜为人知的功能之一。<C-f>
当您已经在命令行上时,或者q:
从正常模式下,您可以默认输入它。与任何其他 Vim 缓冲区一样,您可以使用 Vim 命令编辑当前或先前的命令行,然后按<Enter>
执行并关闭它。在其中,您可以D
像其他地方一样使用。
映射
如果您希望直接在命令行本身中使用该功能,您可以定义这个简单的映射:
cnoremap <C-k> <C-\>e(strpart(getcmdline(), 0, getcmdpos() - 1))<CR>
请注意,您建议的左侧破坏了有用的有向图入口。
插入
我的CmdlineSpecialEdits 插件有(以及其他许多)一个CTRL-G D
映射,可以删除光标位置和行尾之间的所有字符。
答案2
您可以使用
:,.d$
删除从光标处到文件末尾。
希望这有帮助!