天天看點

Notepad++的列編輯模式_小技巧

本文網址:https://www.crifan.com/files/doc/docbook/rec_soft_npp/release/htmls/npp_function_column_mode.html

Notepad++介紹全目錄:https://www.crifan.com/files/doc/docbook/rec_soft_npp/release/htmls/index.html

3.6. Notepad++的列編輯功能

下面來解釋Notepad++中的強大且好用的列編輯功能。

3.6.1. 什麼是列編輯模式

普通編輯器,編輯文本的時候,選中一部分内容,都是在一行或多行的範圍内操作,從左到右的,是以,可以看做是行模式。

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

進入列模式後,操作順序和範圍,是在所選範圍内,從上到下的,比如全部插入某些字元等等,是在所選的列模式操作區域内,所涉及的每一行,都對應的插入這些字元。

當有些進階的操作,需要對不同的列,同時進行編輯的話,那麼列編輯模式,就非常有用了。

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

在Notepad++中,按住Alt鍵之後,就處于列(編輯)模式了。

比如,按住Alt鍵,此處從上到下,選擇多列:

Notepad++的列編輯模式_小技巧

例 3.20. 列編輯:多行輸入同樣内容

然後多行同時輸入同樣的内容,效果如下:

Notepad++的列編輯模式_小技巧

例 3.21. 列編輯:删除多行内容

然後也可以同時删除多行内容:

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

Notepad++的列編輯模式_小技巧

然後松掉Alt鍵,點選右鍵選擇删除,或者直接按鍵盤上面的Delete鍵,都可以實作删除所選的多行中對應部分的内容:

Notepad++的列編輯模式_小技巧

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

進入列編輯模式後,除了可以手動輸入内容外,也可以通過插入,實作輸入多行内容:

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

Notepad++的列編輯模式_小技巧

然後松掉Alt鍵,點選 編輯(E) ⇒ 列編輯 Alt+C:

Notepad++的列編輯模式_小技巧

然後在“插入文本”處,填寫你所要插入的内容:

Notepad++的列編輯模式_小技巧

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

Notepad++的列編輯模式_小技巧

同樣,可以看到,上面還有個“插入數字”的功能,可以插入自己所想要的某種序列的數字:

Notepad++的列編輯模式_小技巧

然後就可以看到插入了想要的數字了:

Notepad++的列編輯模式_小技巧

雖然上面隻是一些基本操作,但是對于很多人,如果需要用到此功能,也會覺得很友善了。

3.6.3. Notepad++的列編輯模式的進階用法

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

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

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

比如,我之前,需要得到這樣的xml内容:

Notepad++的列編輯模式_小技巧

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

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

Notepad++的列編輯模式_小技巧

對此,一般傳統的辦法,那無外乎,一個個數字,和字母的從word中拷貝,然後粘貼到xml檔案中對應的兩個entry的位置中去。

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

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

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

首先目前是在目标xml檔案中,已經有了對應的entry了:

Notepad++的列編輯模式_小技巧

然後,是想要通過列編輯的複制與粘貼,實作将word中對應表格中的内容,一列列粘貼過來的。

但是,之前由于對于列模式編輯不是很熟悉,導緻直接從word中選中一列:

Notepad++的列編輯模式_小技巧

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

Notepad++的列編輯模式_小技巧

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

Notepad++的列編輯模式_小技巧

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

同樣先是去word中拷貝對應的列的内容:

Notepad++的列編輯模式_小技巧

然後在Notepad++中,建立一個頁面,将拷貝的内容,粘貼到建立頁面中:

Notepad++的列編輯模式_小技巧

然後再用列模式去選取此部分内容:

Notepad++的列編輯模式_小技巧

然後Ctrl+C複制所選内容,再回到要粘貼的地方,同樣先是進入列模式:

Notepad++的列編輯模式_小技巧

然後再按Ctrl+V,這樣才可以正确的将通過列模式選取的内容通過(Ctrl+V)粘貼到列模式所選取的範圍内,即所選取的每一行的内容,粘貼到目标的每一行的位置:

Notepad++的列編輯模式_小技巧
Notepad++的列編輯模式_小技巧
列模式粘貼的時候,會自動幫你去掉所選内容中的空白處,即可以調整被粘貼後的内容的寬度
此處,可以注意到,原先列模式去選取内容的時候,0到9的那些行,(至少顯示出來的效果中)是包含了多餘的空格的:
Notepad++的列編輯模式_小技巧

以及0a到1f的行,是正常選取的全部内容,不包含空白的。

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

Notepad++的列編輯模式_小技巧

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

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

是以,這方面,個人覺得,其做得還是很人性化,或者說很符合使用者需求的。

按照上述方法,你可以去接着一列列的,去粘貼word中别的列的内容。

但是,如果你接着這麼做的話,你卻發現,有些問題了。

因為經過上面第一列的粘貼,上面的0到9的那些行是一個字元寬度,而0a到1f卻是2個字元寬度,這導緻接下來的想要選取第二列的所有的entry,以進入列編輯模式的話,就無法正确全部選擇對應的位置了:

Notepad++的列編輯模式_小技巧

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

如此,想要接着實作列拷貝粘貼的話,一般人所能想到的,那就隻是,先拷貝粘貼0到9列的,然後再拷貝粘貼0a到1f列的。

如果這麼做的話,其對于此處隻是被分為2個不同的列的位置去操作,也還算能接受。

但是如果被粘貼的内容,像後面的同一列中,既有1個字元寬度的,又有2個和3個字元寬度的,甚至其他更多字元的,那麼一個完全的列,就被分為多個不連續的,可供列編輯操作的列了。

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

是以,還是要找到更好的解決辦法,盡量實作盡可能多的列,都實作一次性的列操作,這樣才能真正提高效率。

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

之是以想到如此去做,是因為,右邊的列,即使每一列的内容寬度不同,但是不會影響到左邊的列的對齊,是以,就可以規避此問題了。

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

在word中,先複制最後一列的内容:

Notepad++的列編輯模式_小技巧

同樣的,粘貼到建立的Notepad++的頁面中,并以列模式去選取該内容:

Notepad++的列編輯模式_小技巧

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

Notepad++的列編輯模式_小技巧

然後Ctrl+V去粘貼此内容:

Notepad++的列編輯模式_小技巧

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

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

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

Notepad++的列編輯模式_小技巧

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

Notepad++的列編輯模式_小技巧

此處,看起來是隔行的列選擇,實際仍是每個行的列選擇,即,其實是不影響繼續列操作的。

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

Notepad++的列編輯模式_小技巧

實際上,看起來“穿”過了字元串"entry",而實際上,是不影響的entry字元串内容的。

如此繼續操作,就處理完畢所有的列了:

Notepad++的列編輯模式_小技巧

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

而如此的列操作,其實隻是對于每一列,去複制粘貼一下,就可以實作,整個列的内容錄入了。

通過此列操作實作的多列同時錄入,不僅效率很高,而且還不容易出錯。

總之,有效利用列編輯模式,可以大幅度的提高做事情的效率和準确度。