2012-03-29 31 views
8

我用Vim來編輯> 10.000單詞和長段英文文本文件。這些文件被格式化爲純文本,每個段落都是很長的一行。我用wrap選項,我分別結合jkgjgk所以我可以由顯示行移動。Vim的,長行和滾動

如果我的光標位於屏幕的頂部(但不是文檔的開頭),並且向上移動光標(使用gk),屏幕向上滾動以顯示整個長行(一個300字的段落)。問題是,由於線的長度,這使得屏幕滾動一半的屏幕。這是迷惑,因爲我不知道屏幕會移動多少。滾動^Y也有同樣的問題。

有沒有辦法使用gk及其同類時只用一個顯示行,使得Vim滾動?對於編輯非源代碼和大多數文本編輯器以及文字處理器中的默認行爲來說,這更自然,但在Vim中卻不行。我認爲這意味着Vim將不得不停止堅持顯示我正在編輯的整個行。

+0

有關於這個問題已經有幾個問題;我現在不記得結論是什麼,但你是否嘗試過分段。對於一個句子(或關於該問題的段落),10000個單詞並不是真正的定義。 – Rook 2012-03-29 09:35:49

+0

段落長度爲300字,句子明顯短於此;對於Vim,段落只是一條線(一條線與句子不相同)。整個文檔包含10,000個單詞。由於所使用的編輯器的滾動行爲,顯然不能編寫較短的段落!如果你還記得我的問題的先前的討論,我將是一個指針感激 - 我能找到大約'wrap','gj'和'gk'問題。 – loevborg 2012-03-29 10:03:24

+0

這是Vim長久以來的限制。谷歌搜索「vim滾動包裝線」:它似乎是過去10年或15年的共同要求。沒有已知的優雅解決方案,也許Vim不適合這項工作? – romainl 2012-03-29 11:51:08

回答

-1

我建議你定義一個宏來滾動頁面。如果你有50的屏幕高度,你可能會喜歡的東西去:

map zp 48gj 
0

我已經切換到硬纏散文文件親自解決了這個問題。我不相信有任何其他解決方案。這裏有一篇文章首先讓我知道這個想法:http://alols.github.io/2012/11/07/writing-prose-with-vim/

我必須承認,在開始時,將所有文檔轉換成這種老式的文本文件寫法的想法看起來讓人討厭,它也可能對你也是。但我很快意識到,通過嘗試其他現代編輯,他們沒有一個像Vim那樣強大和穩定。所有這一切都讓我覺得完全自然是一些formatoptions調整。在我而言,這效果最好:

setlocal formatoptions=wat 

而且,這裏是我發現了回去軟包在任何時候,你可能會發現有用的一個方便的功能:Unwrap text in vim