解决vi/vim中粘贴时行首出现很多缩进和空格的问题 http://www.jbxue.com/LINUXjishu/12232.html

由于在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' 选项的热键。

VIM: 解决vi/vim中粘贴时行首出现很多缩进和空格的问题的更多相关文章

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

    解决vi/vim中粘贴会在行首多很多缩进和空格的问题 secureCRT会将你原来的文本原封不动的按照字符串的样式发送给服务器.所以当你的服务器上的vim设置为autoindent的话,在i模式下,那 ...

  2. 在Excel中粘贴时怎样跳过隐藏行

    http://www.excel123.cn/Article/exceljichu/201203/932.html 有时在筛选后需要将其他区域中的连续行数据复制粘贴到筛选区域,以替换筛选后的数据.由于 ...

  3. 防止vi粘贴时自动添加缩进的方法

    使用Xshell连接Linux服务器,使用vi打开文件进行粘贴时,会自动在行首添加很多空格,导致格式错乱.可以用如下方法剞劂 在拷贝前输入:set paste (这样的话,vim就不会启动自动缩进,而 ...

  4. 快速提高 Vi/Vim 使用效率的原则与途径

    Vi/Vim 是所有 Unix/Linux 操作系统默认配备的编辑器.因其强大的功能和高效的操作,Vi/Vim 也成为众多 Unix/Linux 用户.管理员必须掌握并熟练使用的编辑工具之一.尤其是在 ...

  5. Linux上vi(vim)编辑器使用教程

    vi(vim)是上Linux非常常用的编辑器,很多Linux发行版都默认安装了vi(vim).vi(vim)命令繁多但是如果使用灵活之后将会大大提高效率.vi是“visual interface”的缩 ...

  6. 【转】Linux上vi(vim)编辑器使用教程

    Linux上vi(vim)编辑器使用教程 ------------------------------------------------------------ ikong ------------ ...

  7. 新手指南:Linux上vi(vim)编辑器使用教程

    vi(vim)是上Linux非常常用的编辑器,很多Linux发行版都默认安装了vi(vim).vi(vim)命令繁多但是如果使用灵活之后将会大大提高效率.vi是“visual interface”的缩 ...

  8. -Git Linux vi/vim 命令 按键 MD

    目录 目录 Linux vi/vim 简介 vi/vim 的使用 命令模式 输入模式 底线命令模式 vi/vim 使用实例 使用 vi/vim 进入一般模式 按下 i 进入输入模式,开始编辑文字 按下 ...

  9. Linux下Vi/Vim使用笔记

    启动和关闭vim vi 打开 Vi/Vim 打开 Vi/Vim 并加载文件 <file> vi <file> vim编辑器的三种模式:一般模式.编辑模式和命令行模式在一般模式中 ...

随机推荐

  1. BZOJ 4010: [HNOI2015]菜肴制作( 贪心 )

    把图反向,然后按拓扑序贪心地从大到小选, 最后输出.set比priority_queue慢... --------------------------------------------------- ...

  2. Linux内核学习笔记-1.简介和入门

    原创文章,转载请注明:Linux内核学习笔记-1.简介和入门 By Lucio.Yang 部分内容来自:Linux Kernel Development(Third Edition),Robert L ...

  3. C# Mutex

    Mutex Mutex 类似于C# lock, 区别在于一个Mutex可以在多个进程间使用.也就是说Mutex既是computer-wide又是application-wide. 注意: 获取和释放M ...

  4. PHP新手必须掌握的入门与实战技巧

    作为当今主流的开发语言,PHP集简单.免费.高效等特点于一身.对于想加入PHP大军的新手来说,从何学起.如何学习? 你需要掌握PHP的基础知识.常用功能模块.面向对象.MVC等相关技能.学会了这些技能 ...

  5. OutputDebugString 输出信息到调试器

    #include <Windows.h>#include <stdio.h>#include <stdarg.h> void __cdecl odprintf(co ...

  6. HTTP协议中POST、GET、HEAD、PUT等请求方法以及一些常见错误 #Reprinted#

    请求方法是请求一定的Web页面的程序或用于特定的URL. 可选用下列几种: GET: 请求指定的页面信息,并返回实体主体. HEAD: 只请求页面的首部. POST: 请求服务器接受所指定的文档作为对 ...

  7. npm常用命令详解

    ~~~https://www.npmjs.org/有比较全的api文档 NPM是一个Node包管理和分发工具,已经成为了非官方的发布Node模块(包)的标准.有了NPM,可以很快的找到特定服务要使用的 ...

  8. C++模板:二分查找

    bool find(int x,int l,int r){ if(l>r)return false; int mid=(l+r)/2; if(s[mid]==x) return true; el ...

  9. 使用Lock实现信号量

    public class SemaphoreOnLock {     private final Lock lock = new ReentrantLock();         private fi ...

  10. 【翻译】探究Ext JS 5和Sencha Touch的布局系统

    原文:Exploring the Layout System in Ext JS 5 and Sencha Touch 布局系统是Sencha框架中最强大和最有特色的一个部分. 布局要处理应用程序中每 ...