2009-10-16 53 views

回答

28

格式化破壞信息。有很多不同的文本塊會被格式化成相同的文本塊。因此,沒有先驗知識(即撤銷),無法扭轉操作。

未格式化:

Unformatted text could start out as either all one line, or several, yet look the same when formatted. 

Unformatted text could start out as either all one line, or several, 
yet look the same when formatted. 

格式化:

Unformatted text could start out as 
either all one line, or several, 
yet look the same when formatted. 

如果你希望你的段落都在同一行,或者如果你沒事一點點手動擺弄,你可以使用J加盟回到一起。您可以使用視覺模式將J命令一次應用於多行,也可能與apip結合使用以選擇一個段落,例如, vipJ。再一次,你仍然會失去一些信息 - 在格式化之前的換行符處有多個空格將最終歸結爲單個空格。 (實際上,你可以加入不使用gJ代替J修改空間,但你已經失去了他們,當你格式化)

如果你用多餘的空格後的句子困擾(線結束!,?, 。或)關閉joinspaces:set nojoinspaces

+0

非常感謝。我已經嘗試加入線條,但讓我惱火的是在加入線條後,句子之間會突然出現多個空格。 – binOr 2009-10-16 16:24:09

+3

然後你的問題的答案是簡單地取消設置連接空間:':set nojoinspaces' – Cascabel 2009-10-16 16:29:57

+0

絕對是,謝謝!一句話之後我對這2個空格不熟悉。 – binOr 2009-10-16 16:38:03

54

我有一種感覺,這是你真正想要的:GJ

:h gJ

gJ   Join [count] lines, with a minimum of two lines. 
      Don't insert or remove any spaces. {not in Vi} 

如果您從終端複製了某些內容並將其作爲大矩形塊粘貼到vim中,而不是單一行,則此功能非常方便。

我通常在視覺模式下使用它。 Hilight stuff,gJ

+4

這是正確的答案。接受的答案不適合我。 – Jonah 2013-01-08 20:35:20

+1

相同。 nojoinspaces沒有任何效果。我不得不宏觀Jx刪除每個空間。 – 2013-11-12 13:46:31

6

This是最終爲我工作的答案,以上都沒有在我的用例中工作。

本質上,使用gJ像多個其他人所說,但突出顯示所有文件,所以在命令模式下鍵入ggVGgJ

4

我想簡單的解決方案加入了行不帶空格之間:

:j! 

隨着!的連接不插入或刪除任何空格。對於整個文件,請使用:%j!

參見::help :join

1

如果我們的工作線不以空間結束,我在加入後仍然有額外的一個空間。通常這是所需的行爲。例如

first line without space 
second line 

J加盟後,成爲

first line without space second line 

雖然在某些情況下,我們不希望應用它,

myInstance->methodA() 
      ->methodB() 

,我們將希望加入成爲myInstance->methodA()->methodB()兩者之間沒有任何空間!

這裏傭工映射我使用

nmap <leader>jj Jx 

<領導>鍵可以:let mapleader,默認情況下進行檢查,以鍵入\我相信。

所以在正常模式下,只需要\jj來執行連接,沒有任何額外的空間!

相關問題