###vim的系统剪贴板 vim的 加号寄存器 "+ 是和系统剪贴板 相关联的. 加号寄存器和系统剪贴板之间的内容, 能够互相切换.php
他会在客户端浏览器链接时, 会自动监视. 并启动调试.vim
其中0, 是表示NUL, null字符. 其余控制字符, 能够用ctrl+一个字母 (A ~ Z) 或符号来表示, 好比: ctrl+J: ^J, 就表示换行符 LF (line feed)浏览器
vim中几个常见的不可见字符: ^J 0x0A, LF 表示换行, ^M表示回车, ^H表示退格 BS, 0x08, ^I表示水平制表符HT, 0x09, ^@ 表示 NULL.缓存
寄存器 用引号来表示, 引号表示引用, 表示 寄存的意思. 查看寄存器用:reg命令bash
"", 两个引号, 表示的无名 unnamed register, 存放最后一次操做的内容(多是复制的,也多是删除的内容), 并且能够是行内的内容, 也能够是 包含换行在内的 "整行内容"服务器
"0 到 "9 共10个数字寄存器, 其中 "0 缓存最近一次复制的内容. "1到"9 缓存最近9次的删除内容, 可是数字寄存器都要求是"整行"的内容. 即必定要包含^Jui
具名寄存器(跟前面的无名寄存器相对应), 即从 "a 到 "z 到 "A, 到 "Z, 咱们操做存放内容的时候, 主要就是使用这些 "具名"寄存器.spa
只读寄存器: ": 表示最后依次执行的命令, "% 表示当前文件名插件
行内(删除)寄存器, "- 缓存的是 在一行的内部 删除的内容.命令行
行内插入寄存器 ". 其中点号表示插入增长的意思. 他会把期间press的任何键都记录下来,包括BS ^@等退格, 回车等都做为符号记录下来.
模式寄存器 "/ 缓存的是最近依次进行模式搜索的内容.
黑洞寄存器 "_ 表示完全删除内容, 不进行缓存.
vim --version | grep 'clipboard'
表示最后一行, 在不一样的模式下要用不一样的符号: 在normal下, 最后一行, 用G表示, 而$表示的是 当前行的末尾 在命令模式下, 最后一行,就是用$ 表示的.
yy命令能够在normal下使用, 可是在命令模式下就不能用yy命令, 会报错说没有yy这个命令, 这时应该用 y命令
一种是在normal模式下, 先用v/V命令在visual模式下, 选择好内容, 而后 在normal下, 用 "ay 中间的a能够是其余任何一个 寄存器名称 , 包括加号寄存器等. 另外一种是, 在命令模式下, 直接用 冒火命令, :10,15y"z
, 即将10,15行的内容复制到z寄存器中. 这个里面 的引号 能够不用, 可是若是省略的话, y后面必定要有空格, 即: :10,15y z
你能够卸载vim , 而后下载源码, 从新编译安装, 配置时使用 ./configure --with-features=huge
就可使用加号寄存器和系统剪贴板了 可是, 没必要这样麻烦, 能够安装一个vim的 加强包. 可是, 不是vim-common(各个vim版本共用的库), 也不是什么vim-gui, 而是/并且只须要 安装 vim-X11(大写的X), 这个是为了补充/vim为X graphic system使用的. 安装vim-X11,会 安装一个 vim的图形程序,即 gvim, 可是这个通常都不习惯使用.(gvim也一样可使用vim的各类插件,包括 NERDTree等.) 同时, 会给vim添加 加号寄存器, 从而可使用系统剪贴板. vim-X11添加一些附加的命令, 好比 evim, gvim等, 最重要的是这个 vimx命令, 他就是 在vim的基础上增长x系统的支持. 即vimx 是命令行下的vim支持系统剪贴板的版本. 因此只要在 gnome-terminal下, 运行vimx就能使vim支持 加号寄存器.
使用 rpm -ql 'vim-X11'
能够查看 该软件包安装了哪些加强命令 就是下面这个图中的 vimx命令!
fc23自带的, 最基本的版本是vi (即vim -v就是 vi) , 而后安装 vim-enhanced, 就获得基本加强的vim版本, 可是还不能使用系统剪贴板和加号寄存器. 而后, 要安装,vim-X11, 就获得 gvim软件, 和 vimx的 +clipboard 和 +xterm-clipboard版本.
<br> ============================================ <br> #### 定义vim的映射leader 是使用 `let mapleader=',' 或者 let mapleader=';'` leader键能够是逗号或分号 . 使用leader是 用 `<leader>` 的方式
在启用了 +clipboard 的状况下, 星号寄存器表示的是 被选择的内容. 这个内容能够是你用鼠标选择的, 也能够是你用 visual模式下选择的. <font color="red"> 可是, 加号寄存器只能将你 在 visual模式下 选择的内容 复制到 系统剪贴板上, 你用鼠标拖选 的内容 不能 复制到系统剪贴板上??
</font> 因此, 最后的有效配置, 正确配置是:
"在visual模式下,复制到系统剪贴板上. vmap <leader>c "+y "在nmap或insert 模式下将系统剪贴板上的内容put到vim中 nmap <leader>v "+gp nmap <leader>gv "+p imap <leader>v <esc>"+gp imap <leader>gv <esc>"+p
alias vim=/usr/bin/vimx
注意 虽然安装了 vim-X11, 可是 /usr/bin/vim 和 /usr/bin/vimx 实际上仍是 两个互补相关的 应用, 在原来的vim中, 仍然并不支持 剪贴板, 查看 --version | grep 'clipboard', 仍然仍是没有启用剪贴板的特性. 只有 使用 vimx 才能启用 +clipboard, 和 +xterm_clipboard 特性. 估计 vimx启动时, 首先是去调用 了 /usr/bin/vim, 而后 再加载 了 / 添加了 加号寄存器的特性.