vim的共享系统剪贴板以及缩进相关问题

http://www.cnblogs.com/end/archive/2012/06/01/2531147.html

:reg 

可以显示可用的寄存器,其中注意两个特殊的寄存器:”* 和 “+。这两个寄存器是和系统相通的,前者关联系统选择缓冲区,后者关联系统剪切板。通过它们可以和其他程序进行数据交换。若寄存器列表里无”* 或 “+ 寄存器,则可能是由于没有安装vim的图形界面所致。Debian/Ubuntu下可以通过安装vim-gnome解决。


$ sudo apt-get install vim-gnome 

有时编写代码,发现在Vim中粘贴代码后,缩进就全乱了。仔细研究了以下,原来是自动缩进的缘故,于是做如下设置:

:set noai nosi 

取消了自动缩进和智能缩进,这样粘贴就不会错行了。但在有的vim中不行,还是排版错乱。

后来发现了更好用的设置:

:set paste 

进入paste模式以后,可以在插入模式下粘贴内容,不会有任何变形。这个真是灰常好用,情不自禁看了一下帮助,发现它做了这么多事:

  • textwidth设置为0
  • wrapmargin设置为0
  • set noai
  • set nosi
  • softtabstop设置为0
  • revins重置
  • ruler重置
  • showmatch重置
  • formatoptions使用空值

下面的选项值不变,但却被禁用:

  • lisp
  • indentexpr
  • cindent

怪不得之前只设置noai和nosi不行,原来与这么多因素有关!

但这样还是比较麻烦的,每次要粘贴的话,先set paste,然后粘贴,然后再set nopaste。

时间: 2024-12-22 18:56:51

vim的共享系统剪贴板以及缩进相关问题的相关文章

Ubuntu12.04无法使用vim系统剪贴板解决方法

以前在 vim 下工作需要在 vim 和其它的编辑器之间复制东西,使用 Shift + Ctrl + v/c.感觉这样很不方便,今天在网上搜索了以下可以用 “+y/p,但是自己实验怎么也不行,在命令模式下输入reg之后看不到 "+. 原来用 apt-get install安装的vim不能使用系统剪贴板,即复制:"+y,和粘贴"+p不能用: 软件环境: 我使用的是ubuntu 12.04 解决办法 首先安装相关软件包,然后再安装 vim. 在这之前先把以前安装的相关软件包用 a

VI/VIM 无法使用系统剪贴板(clipboard)

来自: http://www.bubuko.com/infodetail-469867.html vim 系统剪贴板 "+y 复制到系统剪切板 "+p 把系统粘贴板里的内容粘贴到vim 在 Ubuntu 中使用VI/VIM时,发现无法使用系统的剪贴板. 上网一查,原来是少装了几个东西. 使用如下命令,安装相关的包.安装成功后,就可以使用系统剪贴板了. sudo apt-get install vim vim-scripts vim-gtk vim-gnome 使用如下命令查看: vim

VI/VIM 无法使用系统剪贴板(clipboard)?(已解决)

在 Ubuntu 中使用VI/VIM时,发现无法使用系统的剪贴板. 上网一查,原来是少装了几个东西. 使用如下命令,安装相关的包.安装成功后,就可以使用系统剪贴板了. sudo apt-get install vim vim-scripts vim-gtk vim-gnome 如何查看当前的 VI/VIM 是否支持系统的剪切板? 使用如下命令查看: vim --version | grep clipboard 得到结果如下图: 注意 clipboard 和 xterm_clipboard 前面的

基于SSM框架下的JAVA校园闲置物品共享系统

每天记录学习,每天会有好心情.*^_^* 今天和一个朋友共同完成了一个校园闲置物品共享系统项目,我们在开发时选用的框架是SSM(MYECLIPSE)框架.我这个朋友知识有限,只会这个框架,哈哈,都是为了方便他.和往常一样选用简单又便捷的MYECLIPSE作为开发工具,这是一个 后台项目.这个系统的介绍是这样的:在校大学生的生活和学习用品丰富,更新速度极快,导致大量的闲置物品被搁置而无法被利用.“不差钱校园闲置物品互换公益网”针对这一现象,为在校师生提供了一个旧物交换的平台,本网站采用五层构架设计

BX2001: IE 支持使用 window.clipboardData 访问系统剪贴板,Chrome 和 Safari 中存在类似的 Clipboard 对象但尚未实现,Firefox 和 Opera 不支持这类对象

http://www.w3help.org/zh-cn/causes/BX2001 标准参考 无 问题描述 IE 支持使用 window.clipboardData 对象内的一系列方法访问系统剪贴板:Chrome 和 Safari 中存在类似的 Clipboard 对象,且有与 IE 中类似的方法,但其功能尚未实现:Firefox 和 Opera 不支持这类对象. 造成的影响 若作者在需要访问剪贴板时仅仅考虑 IE 浏览器而使用了其专有的 clipboardData 对象,则在其他浏览器中可能导

Ubuntu Vim 复制到系统粘贴板

/************************************************************************* * Ubuntu Vim 复制到系统粘贴板 * 说明: * 将Vim中的内容复制到别的应用程序,之前一般都是使用鼠标,现在还是换成 * 直接使用Vim自带功能,这样效率会高那么一点点. * * 2016-11-22 深圳 南山平山村 曾剑锋 ******************************************************

Android 复制文本内容到系统剪贴板(自由复制)

直接上代码:(对应的类:android.content.ClipboardManager) //获取剪贴板管理器: ClipboardManager cm = (ClipboardManager) getSystemService(Context.CLIPBOARD_SERVICE); // 创建普通字符型ClipData ClipData mClipData = ClipData.newPlainText("Label", "这里是要复制的文字"); // 将Cl

UnityEditor扩展-右键拷贝资源路径到系统剪贴板

要点速记 命令添加到右键菜单 [MenuItem("Assets/Copy Asset Path")] 或 [MenuItem("Assets/Copy Asset Path",priority = 0)] (priority值决定命令在菜单中的排序) 获取选中文件或者夹 AssetDatabase.GUIDToAssetPath(Selection.assetGUIDs[0]) 获取的路径写入系统剪贴板 GUIUtility.systemCopyBuffer =

Vim复制文件全部内容到系统剪贴板

参考:http://vim.wikia.com/wiki/%22copy_all_to_clipboard%22_howto vim中有两个buffer为系统的剪贴板,它们为: * (primary selection) 和 + (clipboard),其中 + 就是我们平常可以用Ctrl-C 和 Ctrl-V 的缓冲区,而要取出 * 缓冲区的内容,点击鼠标中间划轮即可. 查看缓冲区内容可以用命令 :reg ,上面两个buffer显示为 "* 和 "+ 1.Normal Mode gg