追記2016-03-30
Yahoo! 知恵袋で参照されてゐるのを見て了ったので、当時のわたしの勘違ひを訂正しておく。
<C-k>云々はdigraphsと云ふもの。<C-k>に関しては:h c_CTRL-K
と:h i_CTRL-K
を参照。digraphsに就いては:h digraphs
を参照。Non-breaking spaceは<C-k>NS
で打てると書いてある。此れはinsertモードに限らずcommandモードでも打てるので、下記の置換は:%s/<C-k>NS//g
でできる。此れが第一の勘違ひ。
第二の勘違ひはyankとクリップボードに関するもの。:h clipboard
や:h registers
や:h c_CTRL-R
を参照。クリップボードの効かない環境では、yl
すると 0 と云ふレジスタにyankされるので、commandモードや検索モードで<C-r>0
でyankしたもをの挿入できる。下記で紹介したset clipboard=unnamed
の設定は此のデフォルトで 0 に保存する動作を * に保存するやう変更するものだ。当然レジスタ名を指定して、例へば"ayl
とレジスタ a を指定してあげれば/<C-r>a<CR>
でyankした文字を検索できる。
Facebookとかから文章をコピペしてVimに持って来ると、<200b>と云う謎の特殊文字がずらずら並ぶ。うざい。此れはZERO WIDTH NO-BREAK SPACE () と云う特殊文字。
[ノーブレークスペース - Wikipedia http://ja.wikipedia.org/wiki/%E3%83%8E%E3%83%BC%E3%83%96%E3%83%AC%E3%83%BC%E3%82%AF%E3%82%B9%E3%83%9A%E3%83%BC%E3%82%B9 ]
此れをさっさと消したい。
<200b>にカーソルを合わせ(画面上では6文字に見えてるけど、内部的には1文字として扱われてる)、yl
でヤンク (.vimrcにset clipboard=unnamed
で、標準ヤンクをクリップボードに設定してる)。コマンドモードに移り、:%s/<C-r>*//g
で消せる。
:%s/A/B/g
で、当バッファ内全てのAを、Bに置換。
<C-r>*
は、Ctrl + rに続けて*を打つ。コマンドエリアに、クリップボードの中身を貼付け。
Non-braking space自体は、Vimでinsert mode時に、<C-k>NS
で打てる。[Non-breaking space - Wikipedia, the free encyclopedia http://en.wikipedia.org/wiki/Non-breaking_space#Keyboard_entry_methods ]
<C-v>u〜
とか<C-v>U〜〜
とか<C-k>○○
とかで、色んな特殊文字打てるのね。[Working with Unicode - Vim Tips Wiki http://vim.wikia.com/wiki/Working_with_Unicode ]