Notepad++的列編輯功能

更多使用Notepad++的技巧查看:http://www.crifan.com/files/doc/docbook/rec_soft_npp/release/htmls/index.html html

 


3.6.1. 什麼是列編輯模式

普通編輯器,編輯文本的時候,選中一部份內容,都是在一行或多行的範圍內操做,從左到右的,因此,能夠看作是行模式。 編輯器

與此相對應的,就是上下方向的列模式了。 spa

進入列模式後,操做順序和範圍,是在所選範圍內,從上到下的,好比所有插入某些字符等等,是在所選的列模式操做區域內,所涉及的每一行,都對應的插入這些字符。 xml

當有些高級的操做,須要對不一樣的列,同時進行編輯的話,那麼列編輯模式,就很是有用了。 htm

3.6.2. Notepad++的列編輯模式的基本操做

在Notepad++中,按住Alt鍵以後,就處於列(編輯)模式了。 文檔

好比,按住Alt鍵,此處從上到下,選擇多列: 字符串

例 3.20. 列編輯:多行輸入一樣內容 get

而後多行同時輸入一樣的內容,效果以下: it


例 3.21. 列編輯:刪除多行內容 table

而後也能夠同時刪除多行內容:

先按住Alt鍵,選後同時選取多列:

而後鬆掉Alt鍵,點擊右鍵選擇刪除,或者直接按鍵盤上面的Delete鍵,均可以實現刪除所選的多行中對應部分的內容:


例 3.22. 列編輯:多行中插入相同或不一樣的內容

進入列編輯模式後,除了能夠手動輸入內容外,也能夠經過插入,實現輸入多行內容:

按住Alt鍵進入列編輯模式後:

而後鬆掉Alt鍵,點擊 編輯(E) ⇒ 列編輯 Alt+C:

而後在「插入文本」處,填寫你所要插入的內容:

此處填入想要插入的內容,便可同時插入多行內容:

一樣,能夠看到,上面還有個「插入數字」的功能,能夠插入本身所想要的某種序列的數字:

而後就能夠看到插入了想要的數字了:


雖然上面只是一些基本操做,可是對於不少人,若是須要用到此功能,也會以爲很方便了。

3.6.3. Notepad++的列編輯模式的高級用法

其實,列編輯的功能的好處,在於相對更加複雜一點的用法。

下面就介紹一下,我以前所遇到的狀況,以及如何利用列編輯模式,來提升工做效率的:

例 3.23. 列編輯:同時複製和粘貼多列

好比,我以前,須要獲得這樣的xml內容:

即,須要在多個entry中,一點點輸入對應的數字和字母。

而數據來源,是來自另外已有的word文檔中的表格:

對此,通常傳統的辦法,那無外乎,一個個數字,和字母的從word中拷貝,而後粘貼到xml文件中對應的兩個entry的位置中去。

此種方法,效率及其低下不說,還很容易出錯,因此確定不是好辦法。

可是若是不會用列編輯的話,那麼好像也只能用此很笨的辦法,慢慢的去拷貝粘貼了。

下面就來看看,若是使用Notepad++的列編輯,是如何提升效率和準確度的:

首先當前是在目標xml文件中,已經有了對應的entry了:

而後,是想要經過列編輯的複製與粘貼,實現將word中對應表格中的內容,一列列粘貼過來的。

可是,以前因爲對於列模式編輯不是很熟悉,致使直接從word中選中一列:

而後在Notepad++中先進入列編輯模式:

再直接去用Ctrl+V去粘貼,結果卻只是粘貼到第一個entry中,而不是整個列分別粘貼到對應的位置:

後來才知道,原來應該這麼作:

一樣先是去word中拷貝對應的列的內容:

而後在Notepad++中,新建一個頁面,將拷貝的內容,粘貼到新建頁面中:

而後再用列模式去選取此部份內容:

而後Ctrl+C複製所選內容,再回到要粘貼的地方,一樣先是進入列模式:

而後再按Ctrl+V,這樣才能夠正確的將經過列模式選取的內容經過(Ctrl+V)粘貼到列模式所選取的範圍內,即所選取的每一行的內容,粘貼到目標的每一行的位置:

[提示] 列模式粘貼的時候,會自動幫你去掉所選內容中的空白處,便可以調整被粘貼後的內容的寬度

此處,能夠注意到,原先列模式去選取內容的時候,0到9的那些行,(至少顯示出來的效果中)是包含了多餘的空格的:

以及0a到1f的行,是正常選取的所有內容,不包含空白的。

而粘貼出來的效果,能夠看到,對應的0到9的行,是沒有多餘的空格,是一個字符的寬度的,沒有被變成2個字符的寬度:

即,列編輯的時候,所選擇的內容中,顯示出來的效果中,好像是包含了空格,實際沒有,因此在粘貼出來後,不會多餘出於的空格的。

話句話說,列編輯模式下,選取內容,和粘貼內容,會自動幫你計算好對應的內容的,不會(像我覺得的)多餘的插入(那些在選取時顯示出來的多餘的)空格的

因此,這方面,我的以爲,其作得仍是很人性化,或者說很符合用戶需求的。

按照上述方法,你能夠去接着一列列的,去粘貼word中別的列的內容。

可是,若是你接着這麼作的話,你卻發現,有些問題了。

由於通過上面第一列的粘貼,上面的0到9的那些行是一個字符寬度,而0a到1f倒是2個字符寬度,這致使接下來的想要選取第二列的全部的entry,以進入列編輯模式的話,就沒法正確所有選擇對應的位置了:

即,0到9列,是能夠正確的選擇了兩個"<entry>"中間的,可是0a到1f的列,卻都選擇了y和>之間了,位置錯了。

如此,想要接着實現列拷貝粘貼的話,通常人所能想到的,那就只是,先拷貝粘貼0到9列的,而後再拷貝粘貼0a到1f列的。

若是這麼作的話,其對於此處只是被分爲2個不一樣的列的位置去操做,也還算能接受。

可是若是被粘貼的內容,像後面的同一列中,既有1個字符寬度的,又有2個和3個字符寬度的,甚至其餘更多字符的,那麼一個徹底的列,就被分爲多個不連續的,可供列編輯操做的列了。

那結果就又幾乎回到了以前的手工慢慢的複製粘貼的效果了。

因此,仍是要找到更好的解決辦法,儘可能實現儘量多的列,都實現一次性的列操做,這樣才能真正提升效率。

後來,偶發現了一個辦法,那就是,能夠先操做左右邊的列,而後依次向左處理每一列,這樣就能夠避免此問題。

之因此想到如此去作,是由於,右邊的列,即便每一列的內容寬度不一樣,可是不會影響到左邊的列的對齊,因此,就能夠規避此問題了。

其具體作法很簡單,只是換個順序處理而已:

在word中,先複製最後一列的內容:

一樣的,粘貼到新建的Notepad++的頁面中,並以列模式去選取該內容:

而後用快捷鍵Ctrl+C去複製此內容,再回到要粘貼的地方,先以列模式選擇所要插入的位置:

而後Ctrl+V去粘貼此內容:

如此,就不會影響左邊的列了。

而後依次方法,依次處理每一列。

不過,當你處理到40那列的時候,你會發現,有些內容,卻折回到開始顯示了,即內容顯示出來,是換行的了:

可是看起來也是不影響繼續使用列模式的,可是當想要繼續選擇多列時,選中的效果卻變成了隔行的效果:

此處,看起來是隔行的列選擇,實際還是每一個行的列選擇,即,實際上是不影響繼續列操做的。

和上述的隔行選擇的效果相似的,是處理到最後一列的時候:

實際上,看起來「穿」過了字符串"entry",而實際上,是不影響的entry字符串內容的。

如此繼續操做,就處理完畢全部的列了:

這也就是咱們最開始所看的效果。

而如此的列操做,其實只是對於每一列,去複製粘貼一下,就能夠實現,整個列的內容錄入了。

經過此列操做實現的多列同時錄入,不只效率很高,並且還不容易出錯。

相關文章
相關標籤/搜索