社区维基:“Vim:yanking机制的高级用法”

时间:2010-05-04 10:45:20

标签: vim workflow text-editor

社区维基

正如yank系统的文档所示(感谢Michal),Vim yank系统似乎比标准剪贴板更复杂。因此,我认为如果vim退伍军人可能向我们展示一些利用这种机制的不同风格,这是有益的。特别是对于复杂项目使用vim而不使用重量级IDE(比如C ++?)。

原始问题

现在我正在为我输入的所有内容使用vim,而不仅仅是为了配置服务器,我不想理清以下琐事。我试图制定谷歌搜索查询,但结果没有解决我的问题:D。

问题一:如何多次猛拉和更换?

一旦我在抽奖历史中有了一些东西(如果这就是它的名字),然后在命令模式中突出显示并使用'p'字符,则替换的文本将放在抽奖历史的前面;因此,后续更换操作不会使用我想要的文本。我认为这在某些情况下是一个有用的功能,但我在我的工作流程中并不需要它。

问题二:如何在不导致线路向前波动的情况下键入文本?

我使用硬标签以某种方式对我的代码进行分配 - 例如,

FunctionNameX     ( lala * land               );
FunctionNameProto (                           );

当我弄清楚需要进入第二个功能的内容时,如何在不移动文本的情况下插入它?

问题三有没有办法在同一台机器上的gvim实例之间提供统一的抽奖历史记录?我有> 1台显示器。只是想知道,我正在使用高亮+鼠标中键点击。

2 个答案:

答案 0 :(得分:4)

回答一句:来自Vim文档的相关(如果不是特别令人鼓舞)qoute(参见:help put-Visual-mode):

  

使用像| p |这样的put命令时或| P |在可视模式下,Vim会尝试   用寄存器的内容替换选定的文本。不管这个   效果很好取决于选择的类型和文本的类型   寄存器。通过块选择,它还取决于块的大小   以及角落是否在现有角色上。 (实施细节:   它实际上是通过首先在选择后放置寄存器然后工作   删除选择。)
  先前选择的文本放在未命名的寄存器中。如果你想   将相同的文本放入Visual选择中需要多次使用   另一个注册。例如,将要复制的文本拉出,以视觉方式选择要复制的文本   替换并使用“0p。你可以多次重复这个,你可以   未命名的注册表每次都会被更改。

回答二: R (大写'R')让你进入替换模式。

我很想答案三,我很害怕。

答案三:不完全匹配“统一抽奖历史”规范,但“+ y 猛拉到剪贴板,”+ p 粘贴如果剪贴板可用,则从剪贴板中。

答案 1 :(得分:4)

进入缓冲区

:y b

进入缓冲区b

并且

:p b 

放置它。

我认为有更多可用的命名缓冲区。