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

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

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‘ 选项的热键。

时间: 2025-01-03 22:10:44

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

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

解决vi/vim中粘贴时行首出现很多缩进和空格的问题 http://www.jbxue.com/LINUXjishu/12232.html 由于在secureCRT中会将原来的文本原封不动的按照字符串的样式发送给服务器. 所以服务器上的vim设置为autoindent的话,在i模式下,那么它会将secureCRT传输而来的这些字符串再进行一下缩进. 若拷贝的文本中已有表示缩进的空格或者制表符的话,它们也会被当成字符串,而被缩进. 解决办法: 1,在拷贝前输入:set paste (这样的话,vi

老男孩教育每日一题-2017-05-15-说说你在vi/vim中常用的命令或快捷键

1.题目 2.参考答案 01:学会在vim中查询帮助 :help 或:h即可 :help G :help :wq 02.vi/vim 使用最基本方法 第一个里程碑-使用vi打开oldboy.txtvi /data/oldboy.txt默认是命令模式.第二个里程碑i  ->insert插入模式(编辑模式)  ->然后输入文本I am studying linux.第三个里程碑-按esc键我不想编辑了,退出编辑模式(插入模式),再次进入到命令模式第四个里程碑-保存并退出:wqw write 写入q

vim中粘贴数据的时候如何取消自动缩进

vim中在粘贴剪贴板中的数据时会自动增加缩进,这对python这种对缩进要求严格的语言来说简直是恶梦.如何让它不缩进,保持原格式呢?答案就是paste模式. 在粘贴数据之前,输入下面指定开启paste模式 :set paste 粘贴完毕后,输入下面指定关闭paste模式 :set nopaste 每次都需要输入是不是太麻烦,那么在.vimrc中加入下面内容吧: "Paste toggle - when pasting something in, don't indent. set pasteto

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

在vim中,我们只需要简单配置一下就ok了,打开~/.vimrc加上下面的几行(如果已经有了,修改一下数值就行了). set tabstop=4set softtabstop=4set shiftwidth=4set expandtab http://www.cnblogs.com/lihaozy/archive/2012/08/01/2618640.html

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

行首 :%s/^/your_word/ 行尾 :%s/$/your_word/ 按键操作: 注释:ctrl+v 进入列编辑模式,向下或向上移动光标,把需要注释的行的开头标记起来,然后按大写的I,再插入注释符,比如"#",再按Esc,就会全部注释了. 删除:先按v,进入visual模式,横向选中列的个数(如"#"注释符号,需要选中两列),再按Esc,再按ctrl+v 进入列编辑模式,向下或向上移动光标,选中注释部分,然后按d, 就会删除注释符号(#). PS:当然不一

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

Vi/Vim 是所有 Unix/Linux 操作系统默认配备的编辑器.因其强大的功能和高效的操作,Vi/Vim 也成为众多 Unix/Linux 用户.管理员必须掌握并熟练使用的编辑工具之一.尤其是在没有图形界面的情况下,更是离不开 Vi/Vim.Vi/Vim 命令非常多.用法极为灵活,掌握起来有一定的难度.本文作者将结合自己的使用经验,分七个方面着重介绍哪些原则.途径或命令能快速提高 Vi/Vim 文件编辑效率,从而达到事半功倍的效果. 引言 Vi 最初是由 Bill Joy 在 1976 年

Vi/Vim查找替换使用方法

vi/vim 中可以使用 :s 命令来替换字符串.该命令有很多种不同细节使用方法,可以实现复杂的功能,记录几种在此,方便以后查询.    :s/vivian/sky/ 替换当前行第一个 vivian 为 sky    :s/vivian/sky/g 替换当前行所有 vivian 为 sky    :n,$s/vivian/sky/ 替换第 n 行开始到最后一行中每一行的第一个 vivian 为 sky    :n,$s/vivian/sky/g 替换第 n 行开始到最后一行中每一行所有 vivi

vi/vim 查找替换使用方法

http://wzgyantai.blogbus.com/logs/28117977.html vi/vim 中可以使用 :s 命令来替换字符串.该命令有很多种不同细节使用方法,可以实现复杂的功能,记录几种在此,方便以后查询.    :s/vivian/sky/ 替换当前行第一个 vivian 为 sky    :s/vivian/sky/g 替换当前行所有 vivian 为 sky    :n,$s/vivian/sky/ 替换第 n 行开始到最后一行中每一行的第一个 vivian 为 sky

vim中替换命令(转)

vi/vim 中可以使用 :s 命令来替换字符串.该命令有很多种不同细节使用方法,可以实现复杂的功能,记录几种在此,方便以后查询.    :s/vivian/sky/ 替换当前行第一个 vivian 为 sky    :s/vivian/sky/g 替换当前行所有 vivian 为 sky    :n,$s/vivian/sky/ 替换第 n 行开始到最后一行中每一行的第一个 vivian 为 sky    :n,$s/vivian/sky/g 替换第 n 行开始到最后一行中每一行所有 vivi