在 vim (tmux) 中粘贴时在行首插入新行

Posted

技术标签:

【中文标题】在 vim (tmux) 中粘贴时在行首插入新行【英文标题】:New lines being inserted at the start of the lines when pasted in vim (tmux) 【发布时间】:2016-10-09 11:46:36 【问题描述】:

我使用 Tmux 打开我的终端。当我在 Tmux 中复制和粘贴时,会在行的开头附加新行。例如,如果我复制:

Line1 to be copied.
Line2 to be copied.
Line3 to be copied. 

如果我粘贴上面的文字。会变成

Line1 to be copied.
    Line2 to be copied.
         Line3 to be copied.

我在 mac 上使用它。我在按下“alt”键的同时选择要复制的文本,然后粘贴它。关于如何避免开头的空格有什么建议吗?

注意:有关环境的更多详细信息。 我有一个自定义的 tmux.conf 文件。以下是我在 tmux conf 中使用的一些设置。

# more settings to make copy-mode more vim-like
unbind [
bind Escape copy-mode
unbind p
bind p paste-buffer
bind -t vi-copy 'v' begin-selection
bind -t vi-copy 'y' copy-selection
bind -t vi-copy 'z' copy-pipe "reattach-to-user-namespace pbcopy"
# Buffers to/from Mac clipboard, yay tmux book from pragprog
bind C-c run "tmux save-buffer - | reattach-to-user-namespace pbcopy"
bind C-v run "tmux set-buffer $(reattach-to-user-namespace pbpaste); tmux paste-buffer")

【问题讨论】:

Google 是你的朋友。 【参考方案1】:

问题似乎已经被问过了。

Turning off auto indent when pasting text into vim

总结: 尝试输入:

    :set paste

在粘贴剪贴板之前,然后将其返回给

    :set nopaste

之后,为了在输入换行符时恢复正常格式。

【讨论】:

【参考方案2】:

要自动执行此操作,您可以使用 vim-bracketed-paste

【讨论】:

以上是关于在 vim (tmux) 中粘贴时在行首插入新行的主要内容,如果未能解决你的问题,请参考以下文章

vim编辑器

解决vi/vim中粘贴会在行首多很多缩进和空格的问题

vim

Vi/Vim的快捷方式

vim基础操作合集

vim基础命令