Notepad++的列編輯功能

工慾善其事必先利其器,很多時候在解決問題的時候我們都會找各種各樣的工具來方便自己的工作,但是時間久了也許會養成一種只要有問題就去找一種強大工具的習慣,但很多時候我們目前已有的工具便可以解決問題。

之前使用notepad++都是編輯一些頁面內容,僅僅停留在格式好看,方便編輯。今天查閱、學習了notepad++的列編輯功能,很方便、很強大,使自己放棄了去探索一款新的文本編輯工具的想法,進而去深入學習這款軟件強大的功能,讓器變的更“利”而不是更多!

什麼是列編輯模式

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

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

阿斯蒂芬

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

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

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

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

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

例 3.13. 列編輯:多行輸入同樣內容

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


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

然後也可以同時刪除多行內容:

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

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


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

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

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

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

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

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

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

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

 

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

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

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

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

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

比如,我之前,需要得到這樣的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字符串內容的。

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

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

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

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

 

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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章