vim中(我用的是Windows下的gVim),我们知道u为撤销上一次的编辑操作的命令,那有没有撤销上一次的命令行操作的命令呢?比如我键入:set list之后,我想直接取消该操作,在不输入:set nolist的情况下,有其他更为直接的快捷键和命令吗?
vim中(我用的是Windows下的gVim),我们知道u为撤销上一次的编辑操作的命令,那有没有撤销上一次的命令行操作的命令呢?比如我键入:set list之后,我想直接取消该操作,在不输入:set nolist的情况下,有其他更为直接的快捷键和命令吗?
更准备的说, u
是撤销上次的修改操作. 所谓修改操作, 是指改变了文本, 包括文本内容和文本位置.
在此基础上, 如:s
替换操作, 命令行操作, 改变文本了, 所以u
可以还原.
但:set
是设置编辑器特性, 并不属于修改操作, 不改变文本, 所以u
并不起作用.
对于:set
没有别的快捷方式, 取消上次的认定.
2 回答2.5k 阅读✓ 已解决
1 回答1.4k 阅读
988 阅读
如果你要问按键映射的话还真没有,不过具体到你举的例子可以换用
:set list!
来切换开关状态,其实绝大部分的 vim options 都可以用这样的方法来切换,所以你也可以把常用的映射到按键上,这样会方便很多。Tim Pope 写过一个插件好像叫 unimpaired,这个插件就是把很多这种切换式的命令帮你做了预先的映射,对提高效率帮助很大。