Vim 将标记行替换为选定行

Vim 将标记行替换为选定行,vim,Vim,有可能做到以上几点吗 我通常以相同的方式编写所有软件(省略TDD部分): 迭代伪代码,直到它足够细粒度,每个部分都可以在20分钟内编写 实现每个“伪”组件 人为的例子: # Get file # Open file # Verify integrity # Parse # Close file 为了鼓励模块化,我通常不在“一”块中编写这些函数。我将它们写在单独的文件或至少单独的块中,然后“粘贴”它们。这是为了确保不鼓励我添加不必要的依赖项。现在,我正在复制->移动到伪代码行->用代码块、函数或

有可能做到以上几点吗

我通常以相同的方式编写所有软件(省略TDD部分):

  • 迭代伪代码,直到它足够细粒度,每个部分都可以在20分钟内编写
  • 实现每个“伪”组件
  • 人为的例子:

    # Get file
    # Open file
    # Verify integrity
    # Parse
    # Close file
    
    为了鼓励模块化,我通常不在“一”块中编写这些函数。我将它们写在单独的文件或至少单独的块中,然后“粘贴”它们。这是为了确保不鼓励我添加不必要的依赖项。现在,我正在复制->移动到伪代码行->用代码块、函数或方法名或任何副本表示的内容粘贴到它上面。这对我来说非常有效,代码也很好。然而,由于懒惰,我不想触摸鼠标或做太多,如果有一种方法可以用更少的努力来做。 我正在寻找一种方法来选择->复制->用所选代码替换伪代码行:

    在Parse.c文件中:

    int ParseMyFile(char* fileName)
    {
      # Get file
      return 0;
    }
    
    然后,我会将#Get file写入另一个文件或缓冲区:

    {GetFileSomehow}
    
    作为下一步,我希望只标记这段代码,并替换
    #Get file
    使用要生成的块:

    int ParseMyFile(char* fileName)
    {
      {GetFileSomehow}
      return 0;
    }
    
    我试着用标记复制粘贴到标记上,但效果不够好。我复制了->移动到标记->替换行。我很想把这个记录下来,复制->替换。 我不能下载扩展。我只能使用标准Vim。
    它必须比物理标记块、导航到正确的伪线并粘贴它要省力。这听起来可能不是很多工作,但我编写的代码即使是非常小的代码块,也只有2-3行,如果这有助于我对代码进行推理的话。它会累加起来。

    在剪贴板中找到要替换的文本后,您可以执行以下操作:

    :.s/#.*/\=@+
    
    .  ............. current line
    #.*  ........... starting at this point
    \=@+  .......... beloved vim replace using the clipboard
    
    要跳回onece,我们可以:

    :%s/#.*/\=@+/ | exec "normal! \<c-o>"
    
    :%s/#.*/\=@+/|执行“正常!”
    
    在剪贴板中找到要替换的文本后,可以执行以下操作:

    :.s/#.*/\=@+
    
    .  ............. current line
    #.*  ........... starting at this point
    \=@+  .......... beloved vim replace using the clipboard
    
    要跳回onece,我们可以:

    :%s/#.*/\=@+/ | exec "normal! \<c-o>"
    
    :%s/#.*/\=@+/|执行“正常!”
    
    我的尝试:

    标记好要替换的行后(在本例中,使用标记
    a
    )。 选择要复制的文本,然后输入:

    :'<,'>y | norm!'aVp``
    
    :”我的尝试:

    标记好要替换的行后(在本例中,使用标记
    a
    )。 选择要复制的文本,然后输入:

    :'<,'>y | norm!'aVp``
    

    <代码>:'<代码>:R>代码>代码>读取/>代码>命令将文件的内容读入光标位置…可能有帮助。考虑使用堆栈交换来对VIM提出问题。在这里重新张贴:难道你不能用可视化的线模式来标记要替换的行(<代码> Shift +V< /代码>)然后通过
    p
    ?这正是我试图避免的。这就是我目前正在做的。我想在视觉模式下标记我要复制的内容,并让它自动粘贴和替换给定的标签(例如,使用标记实现)。这里有
    :r
    :read
    )命令读取一个文件的内容到光标位置…可能有帮助吗?考虑使用堆栈交换在VIM上的问题。在这里重新张贴:你不能只是用可视化的线模式来标记要替换的行(<代码> Shift +V)然后通过
    p
    ?这正是我试图避免的。这就是我目前正在做的。我想在视觉模式下标记我要复制的内容,并让它自动粘贴和替换给定的标签(例如,使用标记实现)。你能提供一个工作示例吗?我很难看出这不涉及我的光标位置或我必须主动写入该行。你是否建议我编写一个带有标记作为参数的宏/函数?附加说明:要从vim寄存器粘贴,请将'\=@'中的'+'更改为寄存器id。例如:':s/\.*/\=@a'要粘贴寄存器“a”的内容。若要跳回,可以使用
    Ctrl-o
    您能提供一个工作示例吗?我很难看出这不涉及光标位置或我必须主动写入该行。您是否建议我编写一个宏/函数,并将该标记作为参数?附加说明:要从vim寄存器粘贴,chang将'\=@+'中的'+'添加到寄存器id。例如:':s/\*/\=@a'粘贴寄存器'a'的内容。要向后跳转,可以使用
    Ctrl-o