2012-09-05 32 views
8

我嘗試保存Vim中的一些選定文本(部分行)。這是該行:保存來自Vim的選定文本(部分行)

這個測試STRING - SELECTED_TARGET_WORLD

其中粗體表示選擇文本。我這樣做:

:'<,'> w! test/selected_text 

但文件selected_text在我查找的字符串:

THIS TEST STRING - SELECTED_TARGET_WORLD 

我如何讓它只保存行的選定部分?

+0

可能重複,如何寫一個部分行到一個文件?](http://stackoverflow.com/questions/1953056/in-vim-how-to-write-a-partial-line-to-a-file) – Gilles

回答

4

:[range]w filename只適用於行,所以...你必須把選定的文本放在一行上。

使用:help :redir一種替代方案:

:'<,'>"ay 
:redir filename 
:echo @a 
:redir END 
4

這情況不是在幫助(:h :w),但:w記錄只處理行範圍(你會看到,在多線的例子)。

要做你想做的事情,你必須首先將你的選擇粘貼到一個臨時緩衝區(或者在它自己的行上,然後放回原處),然後保存該緩衝區。如果這是你經常要做的事情,那麼它很容易被自動化。

+6

它是記錄,但它與vi的豐富歷史混合在一起:所有Ex命令僅適用於全線範圍;視覺選擇是Vim的延伸,因此與底層模型有些不一致。 –

2

我不喜歡這樣,FYR〜

一旦你選擇的部分內容由「視覺模式」,按Ctrl-C來觸發它

vmap <C-c> y:new ~/.vimbuf<CR>VGp:x<CR> 
的[在VIM
相關問題