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

Posted PhoenixMY

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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。

以上是关于vim的共享系统剪贴板以及缩进相关问题的主要内容,如果未能解决你的问题,请参考以下文章

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

vim在系统剪切板的复制与粘贴

如何将tmux输出复制到系统剪贴板

如何禁用vim粘贴到/从系统剪贴板?

如何在CentOS 下改变 ‘Tab’ 键的缩进以及在Vim中自动补全括号

如何使用 Wayland 从 Vim 复制到系统剪贴板并且没有编译的 vim `+clipboard` 功能标志