为什么VIM在预期位置下方粘贴1行?

为什么VIM在预期位置下方粘贴1行?,vim,vi,Vim,Vi,一个简单的配方来演示在Vim/Vi中粘贴的行为 运行vim 进入插入模式 向文件中添加3行不同的垃圾 退出插入模式(按escape) 将插入符号移动到第二行 输入命令dd(删除行) 输入命令p(粘贴) 请注意,粘贴的线插入到您可能希望放置它的下方 为什么Vim/Vi用这种行为编程,有没有办法改变它?(即:在默认位置上方粘贴一行。)使用p。它将粘贴在光标上方而不是下方。p将粘贴在当前行下方,p将粘贴在该行上方。如果需要,可以交换P和P的行为,将以下内容添加到vimrc中 nnoremap p P

一个简单的配方来演示在Vim/Vi中粘贴的行为

  • 运行vim
  • 进入插入模式
  • 向文件中添加3行不同的垃圾
  • 退出插入模式(按escape)
  • 将插入符号移动到第二行
  • 输入命令
    dd
    (删除行)
  • 输入命令
    p
    (粘贴)
  • 请注意,粘贴的线插入到您可能希望放置它的下方


    为什么Vim/Vi用这种行为编程,有没有办法改变它?(即:在默认位置上方粘贴一行。)

    使用
    p
    。它将粘贴在光标上方而不是下方。

    p
    将粘贴在当前行下方,
    p
    将粘贴在该行上方。如果需要,可以交换
    P
    P
    的行为,将以下内容添加到vimrc中

    nnoremap p P
    nnoremap P p
    

    一个有用的提示,谢谢-我会将它重新映射到像[(在p旁边)这样的东西,而不是p本身,这可能会使人混淆。这方面的帮助在
    :help paste
    :help p
    中,可能会给某人打勾。。。