2014-02-07 24 views
0

我想建立一個映射,使我能夠輕鬆地將行發送到vim中的系統剪貼板。如何在vim中編寫光標移動腳本?

我通常指定範圍,並編寫範圍pbcopy(我在OSX,其中pbcopy「粘貼到剪貼板」),像這樣:

:20,23w !pbcopy 

爲了使這更方便,我想建立一個映射來填充這個命令的大部分內容,但是然後返回到行首,讓我填寫我想要的範圍。

本質上這:

nnoremap <leader>g :w !pbcopy 

但還有光標在該行的末尾。有什麼辦法可以創建一個映射,添加文本並將光標留在行的開始位置以便插入範圍?

回答

1

爲了去的所以開始時,你可以輸入一個距離,你可以嘗試下面的映射:

nnoremap <leader>g :w !pbcopy<c-b> 

<c-b>將帶給光標移到行的開頭,以便您輸入距離。

或者你可以直觀地選擇你的文字,並具有下述順序的映射覆制您的選擇和恢復您的光標移動到它是在開始:

vnoremap <leader>g :w !pbcopy<cr>`[ 

`[可以用gv代替重新選擇行

+0

目視選擇,然後複製選擇將很好地工作,謝謝。我不會完全按照您設置的變化發生什麼,並返回到商標。你怎麼指定在這種情況下複製哪個區域? –

+0

我的歉意。我誤解了這個問題。我已經用適當的方法解決了原始問題 – Bambu

+0

太棒了。非常感謝您在我接受您的答案後提供更多信息!是的,現在對我來說更有意義。 –