secureCRT会将你原来的文本原封不动的按照字符串的样式发送给服务器。所以当你的服务器上的vim设置为autoindent的话,在i模式下,那么它会将secureCRT传输而来的这些字符串再进行一下缩进。若你拷贝的文本中已经有表示缩进的空格或者制表符的话,它们也会被当成字符串,而被缩进。
解决办法:
1. 在拷贝前输入:set paste (这样的话,vim就不会启动自动缩进,而只是纯拷贝粘贴)
2. 拷贝完成之后,输入:set nopaste (关闭paste)

附 paste 知识
 'paste'                 布尔型  (缺省关闭)
                         全局
                         {Vi 无此功能}
         将 Vim 切换到粘贴模式。可用于从一个窗口剪切或复制文本并粘贴到 Vim。它
         的使用会避免一些意想不到的效果。
         设置此选项可用于终端上运行的 Vim,因为那里 Vim 没法区别输入和粘贴的文
         本。在 GUI 里,Vim 知道何者来自粘贴,即使不打开 'paste' 也基本上不会做
         错。对 Vim 能自己处理鼠标点击的终端也是如此。
         启动 GUI 时复位本选项。所以如果你在 .vimrc 里置位它,可以使它在终端里
         工作,但不是在 GUI 里。在 GUI 里置位 'paste' 有副作用: 例如,Paste 工
         具栏按钮在插入模式下不能工作,因为它使用了映射。
         打开 'paste' 选项时 (包括它本来就是打开的也会如此):
                 - 屏蔽插入模式和命令行模式的映射
                 - 屏蔽缩写
                 - 'textwidth' 设为 0
                 - 'wrapmargin' 设为 0
                 - 'autoindent' 被复位
                 - 'smartindent' 被复位
                 - 'softtabstop' 设为 0
                 - 'revins' 被复位
                 - 'ruler' 被复位
                 - 'showmatch' 被复位
                 - 'formatoptions' 的使用方式就像它为空一样
         下面这些选项保持原来的值,但没有实际的效果:
                 - 'lisp'
                 - 'indentexpr'
                 - 'cindent'
         注意: 打开 'paste' 选项时如果你开始编辑别的文件,模式行或者自动命令可
         能会再次改变这些设置,从而在粘贴文本时造成麻烦。这时,你可能需要再次置
         位 'paste' 选项。
         'paste' 选项复位时,上面提到的选项被复原为上次 'paste' 从关到开时的设
         置。置位 'paste' 之前复位 'paste' 没有任何效果。因为 'paste' 激活时不
         能用映射,'pastetoggle' 选项可以用来指定切换 'paste' 选项的热键。

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

  1. VIM: 解决vi/vim中粘贴时行首出现很多缩进和空格的问题

    解决vi/vim中粘贴时行首出现很多缩进和空格的问题 http://www.jbxue.com/LINUXjishu/12232.html 由于在secureCRT中会将原来的文本原封不动的按照字符串 ...

  2. vi/vim复制粘贴命

    1. 选定文本块.使用v进入可视模式,移动光标键选定内容. 2.复制的命令是y,即yank(提起) ,常用的命令如下:     y      在使用v模式选定了某一块的时候,复制选定块到缓冲区用:   ...

  3. vi/vim复制粘贴命令

    1. 选定文本块.使用v进入可视模式,移动光标键选定内容. 2.复制的命令是y,即yank(提起) ,常用的命令如下:     y      在使用v模式选定了某一块的时候,复制选定块到缓冲区用:   ...

  4. 在vi vim中使用正则表达式与 普通perl正则的区别?

    参考这篇文章很好 vim中的正则表达式常用的命令有种, 即搜索和替换 /: 搜索 :s 替换 在vim中的正则表达式和perl编程的正则表达式还是有区别的: 正则表达式中的内容包括: 字面字符... ...

  5. 在vim中设置将tab自动转化为4个空格

    在vim中,我们只需要简单配置一下就ok了,打开~/.vimrc加上下面的几行(如果已经有了,修改一下数值就行了). set tabstop=4set softtabstop=4set shiftwi ...

  6. 解决在Vim中鼠标右键不能粘贴问题

    最近维护一台服务器,使用putty登录后,用vim时,鼠标右键不能 粘贴而是进入了visual模式.网上查找一番找到了解决方法: 方 法一:在普通模式下键入" :set mouse-=a&q ...

  7. vi/vim 中如何在每行行首或行尾插入指定字符串

    行首 :%s/^/your_word/ 行尾 :%s/$/your_word/ 按键操作: 注释:ctrl+v 进入列编辑模式,向下或向上移动光标,把需要注释的行的开头标记起来,然后按大写的I,再插入 ...

  8. vi/vim 中批量在行插入或删除指定字符

    1. 在每行的行首行尾插入指定字符      行首::%s/^/insert_word/ 行尾::%s/$/insert_word/  2. 在某些行的行进行替换       在2~50行首添加//号 ...

  9. 解决vim中鼠标右键无法复制的问题

    转:http://www.cnblogs.com/jianyungsun/archive/2011/03/19/1988855.html 这是我的vim配置文件:jeffy-vim-v2.4.tar ...

随机推荐

  1. ecshop 默认图处理

    function get_banner_path($img) { $img = empty($img) ? C('no_picture') : $img; return $img;}

  2. json最简单的跨域

    html代码 <html> <head> <title>index.html</title> <script type="text/ja ...

  3. 常用的JS HTML DOM 事件

    HTML DOM 事件 HTML DOM 事件允许Javascript在HTML文档元素中注册不同事件处理程序. 事件通常与函数结合使用,函数不会在事件发生前被执行! (如用户点击按钮). 提示: 在 ...

  4. C# WinForm中将Form显示在Panel中(C#)

    信息来自:http://blog.csdn.net/renyouprince/article/details/4136176 当我们在做WinForm的程序时,总是要弹出一些窗体,但弹出窗体看起来效果 ...

  5. C语言二维数组中的指针问题

    #include "stdio.h" void main() { int a[5][5]; int i,j; for (i=0;i<5;i++) { for (j=0;j&l ...

  6. Ajax 局部刷新

    方式一:function hits1(troops) {    var troops = troops;    var ajax=Ajax();    var url = 'xxx.php';    ...

  7. PhpStorm 快捷键

    不容易记住的: Ctrl + Shift + F  查找文本,在项目目录或指定的目录 Ctrl + Shift + R  查找文本并替换,在项目目录或指定的目录 Ctrl + E    打开最近关闭的 ...

  8. 让Xcode的控制台支持LLDB类型的打印

    这个技巧个人认为非常有用 当Xcode在断点调试的时候,在控制台中输入 po self.view.frame 类似这样的命令会挂掉,不信可以亲自去试试(Xcode7 以后支持LLDB类型的打印) 那么 ...

  9. .NET Framework源码查看及下载

    一.资源 1.http://referencesource.microsoft.com/ 二.备注 1.可在线预览.Net Framework 4.6.1源码实现

  10. UTF-8-BOM

    https://www.zhihu.com/question/20167122 知乎 「带 BOM 的 UTF-8」和「无 BOM 的 UTF-8」有什么区别?网页代码一般使用哪个? http://b ...