背景介紹
====
Vim使用者可能常常會有一個很大的困擾,
對一般的editor來說刪除跟剪下(Cut)是兩個不同的概念,
但在Vim裡所有的刪除(dd, df, x系列) default都會被視為剪下,
也就是你只要想刪掉的東西都會被存到Vim default的剪貼簿(clipboard)裡。
Vim的剪貼簿又叫作register (see :help registers<CR>)
但實際上Vim有不只一個剪貼簿(register),
每個剪貼簿用一個a-z, 1-9還有一堆特殊符號的字母表示,
如果想要存取這些剪貼簿就可以用"符號加上剪貼簿名稱去存取。
e.g.
複製一行到a剪貼簿: "ayy
讀取a剪貼簿並貼上: "ap
如果不指定剪貼簿名稱,那就是使用某個特殊字元為名的default剪貼簿。
技巧篇
=====
所以刪除跟貼上撞在一起的解法很簡單:
就是當你要刪除東西就讓東西被送到defualt register裡。
如果你要剪下東西,那就使用windows中<C-x>的快捷鍵。
讓<C-x> map到刪除東西到除了default register以外的register (a-z 1-9任君挑選)
然後在用y貼上的時候也map掉原本的貼上,
而改指定從<C-x>時用的register貼上。
詳細腳本
====
待補....
對一般的editor來說刪除跟剪下(Cut)是兩個不同的概念,
但在Vim裡所有的刪除(dd, df, x系列) default都會被視為剪下,
也就是你只要想刪掉的東西都會被存到Vim default的剪貼簿(clipboard)裡。
Vim的剪貼簿又叫作register (see :help registers<CR>)
但實際上Vim有不只一個剪貼簿(register),
每個剪貼簿用一個a-z, 1-9還有一堆特殊符號的字母表示,
如果想要存取這些剪貼簿就可以用"符號加上剪貼簿名稱去存取。
e.g.
複製一行到a剪貼簿: "ayy
讀取a剪貼簿並貼上: "ap
如果不指定剪貼簿名稱,那就是使用某個特殊字元為名的default剪貼簿。
技巧篇
=====
所以刪除跟貼上撞在一起的解法很簡單:
就是當你要刪除東西就讓東西被送到defualt register裡。
如果你要剪下東西,那就使用windows中<C-x>的快捷鍵。
讓<C-x> map到刪除東西到除了default register以外的register (a-z 1-9任君挑選)
然後在用y貼上的時候也map掉原本的貼上,
而改指定從<C-x>時用的register貼上。
詳細腳本
====
待補....