2014-04-09 37 views
0

我試圖將一個按行的跳過的寄存器轉換爲字符。問題是,使用:call setreg('"', @", 'v')使未命名的寄存器沿行方向在寄存器末尾留下「額外」換行符。有什麼辦法擺脫這個?在寄存器的末尾刪除換行符

回答

1
:call setreg('"', substitute(@", "\n", "", ""), 'v') 
+1

如果你經常這樣,你可能想看看英戈Karkat的[UnconditionalPaste(http://www.vim.org/scripts/script.php?script_id=3355)插件 –

+1

,將刪除第一換行符,而不是尾隨的。我認爲':call setreg(''',@「,'v')| let @「= substitute(@」,'\ n $','','')'或':call setreg(''',substitute(@「,」\ n $「,」「,」「), 'v')'會起作用。請注意,'\ n $''和'「\ n $」'略有不同,但結果相同。 – benjifisher

+0

@benjifisher;是的,這很有用,非常感謝!我正在搞替補,但無法讓自己完全正確... 接受這個問題編輯:@Peter Rincker;是的,我正在使用它,非常棒的插件。只是需要永久的改變。 –