sas*_*s08 3 vi macos vim copy-paste
我在OSX中使用Vim时遇到了一些问题:每当我在Vim和COMMAND + P之外复制粘贴文本时,复制文本的一些字符就会被删除.
复制:Function(){......+20行
PASTE n(){.....+ 20行)
我知道Vim有很多细节......我在Ubuntu设置上使用它没有任何问题.但我还不是很专业,我觉得这是mac用户会遇到的一个基本问题.但是,我正在浏览论坛并搜索它,我似乎无法找到答案.
非常感谢任何帮助.
编辑:我知道这是一个非常基本的问题,有人可能会问,如果他们不了解Vi插入模式的基础知识,并且不喜欢运行Vimtutor.对我来说这不是问题; 我实际上已经在Vim工作了一段时间,但是这个默认行为早就改变了(所以我从未注意到它).
在考虑插入模式如何工作的基础知识之前,我肯定会浪费很多时间,所以真的非常感谢你的真棒,及时的回复!我希望这个帖子对其他一些人来说很有用,他们可能不太可能从互联网上取下一些"样板".vimrc,或者已经习惯了其他人配置的Vim ......因为Stack Overflow的意思不是向人们解释他们应该在10秒钟内从手册或其他内容中选择的东西.
当你粘贴时看起来你没有处于插入模式,所以Vim将文本解释为命令,直到一个字母(例如i或o)意外切换到插入模式.[1]
您需要先进入插入模式(i也要考虑:set paste,并'pastetoggle'选择; :help 'paste'有一些背景信息).
或者(当支持时),从Vim内部访问剪贴板,例如通过"+p(正常模式)或<C-R><C-R>+(插入模式).
由于只有基于终端的Vim版本存在区分键入和粘贴键的问题,切换到GUI GVIM(我认为在那里称为MacVim)也可以避免这个问题.
[1] Vim将这个例子理解为:
Fu:向后找人物 un:下一个搜索匹配cti:更改到下一个字符之前i(当没有这样的字符时中止插入模式)o:光标下方的新行并插入文本