将制表符复制和过去的代码复制到vim

时间:2017-05-23 23:43:38

标签: vim tabs

我希望能够将代码复制并粘贴到我正在使用vim编辑的文件中,并使用vim粘贴制表符而不是多个空格字符。

我试过了

:set noexpandtab
:set paste
:set noai

我仍然粘贴我的代码,标签字符变为单个空格字符

实施例: 当我复制并粘贴此代码时

read -p "Say hello? ";
if  [ $REPLY == "y" ]
then
         echo "Hello"
fi

我想要这个(< - tab - >代表一个制表符(\ t))

read -p "Say hello? ";
if  [ $REPLY == "y" ]
then
<--tab--> echo "Hello"
fi

不是这个(\ s表示一个空格字符)

read -p "Say hello? ";
if  [ $REPLY == "y" ]
then
\s\s\s\s\s echo "Hello"
fi
done

2 个答案:

答案 0 :(得分:2)

剪贴板中是否有标签?如果您要粘贴空格并希望它们变成标签,则可以:retab

答案 1 :(得分:1)

在终端中使用鼠标复制粘贴代码时,您将始终复制空格。

解决方案是使用vim的复制粘贴机制:

  1. 打开文件一

    vim file1.txt
    
  2. 转到第read ...

  3. 键入5yy(复制5行)
  4. 键入:open file2.txt以打开其他文件
  5. 将光标移动到要粘贴的上方的行
  6. 键入p(要粘贴)