###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, 而後 再加載 了 / 添加了 加號寄存器的特性.