我如何添加行號的範圍VIM行?不在「:set nu」中 - 這只是顯示數字,但不會將它們添加到文件中。添加行號的源代碼在vim
回答
隨着
:%s/^/\=line('.')/
編輯:總結評論。
該命令可以根據需要調整。
比方說,你想從一個目測可供選擇(V
+移動)的行前加數字,要編號開始在42
:'<,'>s/^/\=(line('.')-line("'<")+42)/
如果您想要在行和行之間添加一個字符串,只需連接(與VimL中的.
)它與數字表達式:
:'<,'>s/^/\=(line('.')-line("'<")+42).' --> '/
如果您需要此排序爲文本,你可能要填零的結果,可使用printf
爲0001, 0002
做...而不是1, 2
...如:
:%s/^/\=printf('%04d', line('.'))/
無論如何,如果你想了解更多信息,只需打開vim的幫助::h :s
,並按照鏈接(|subreplace-special|
,...,|submatch()|
)
cat -n
添加行號的輸入。您可以將當前文件傳輸到cat -n
,並將當前緩衝區替換爲輸出到stdout的內容。好在這個複雜的解決方案是在vim少於10個字符:
:%!cat -n
或者,如果你想只是部分選定,直觀地選擇該地區,並輸入:
:!cat -n
,它會自動把視覺選擇標記中,並且看起來像這樣你輸入之後:
:'<,'>!cat -n
爲了擦除的行號,我建議使用control-v
,這將使你可以直觀地選擇一個矩形,然後你可以用x
刪除那個矩形。
使用類似於UNIX的環境中,你可以使用cat或awk來容易產生行號,因爲Vim與外殼界面友好,所以一切工作的vim,以及它在外殼。
從Vim Tip28:
:%!cat -n
或
:%!awk '{print NR,$0}'
但是,如果你在MS-DOS使用vim,WIN9X,WIN2000,你虧這些工具包。 這裏只有通過VIM歸檔這是一個非常簡單的方法:
fu! LineIt()
exe ":s/^/".line(".")."/"
endf
或者,用字母組成的序列是那麼容易,因爲上面:
exe "s/^/".nr2char(line("."))."/"
您也可以使用SUBST:
:g/^/exe ":s/^/".line(".")."^I/"
也只能想打印線,而不將其添加到文件:
「有時候可能會很有用,尤其是編輯大型源文件以在紙上打印行號。
要做到這一點,你可以使用選項:set printoptions=number:y
激活和:set printoptions=number:n
停用此功能。
如果行號應該總是打印,放置線set printoptions=number:y
在vimrc
「
在第一個例子中,您是不是指「貓」而不是「呼叫」? – 2011-01-12 19:02:17
在一個GNU系統:與外部nl
二進制:
:%!nl
的"VisIncr"插件適用於插入一般(或字母,日期,羅馬數字等)遞增數字的列。您可以控制數字格式,填充等。因此,在每行的前面插入「1」(通過:s
或:g
或可視塊插入),在可視塊模式下突出顯示該列,然後運行插件中的其中一個命令。
首先,你可以,如果你需要刪除現有的行號:
:%s/^[0-9]*//
然後,您可以添加行號。 NR
指的是從當前行號開始,所以你可以做一些數學來獲得你想要的編號。下面的命令給你四位數的行號:
:%!awk '{print 1000+NR*10,$0}'
- 1. 代碼和行號之間的Vim行
- 2. 用vim在多行中添加引號
- 3. NLog ::將源代碼行號添加到日誌中
- 4. eclipse ASTNode源代碼行號
- 5. vim 1.14源代碼undo.c
- 6. 在代碼中添加新行代碼
- 7. 使用vim在指定的行號處快速添加空行?
- 8. 添加星號用vim
- 9. 在代碼後面添加資源
- 10. 未找到源代碼:添加源代碼附件查看源代碼
- 11. 源代碼Vim中的麪包屑
- 12. 添加軟墊遞增編號在VIM
- 13. 添加Android源代碼來的IntelliJ
- 14. 使用HTML敏捷包在HTML源代碼中添加換行
- 15. 如何在CKEditor中添加源代碼換行符4.4
- 16. 在<table>中添加新行後查看源代碼
- 17. 如何在多行代碼前添加#號?
- 18. 從vim運行ruby代碼
- 19. 從源代碼編譯VIM - 失敗libncurses6
- 20. 如何從源代碼構建vim 7.3.285
- 21. 添加源代碼構建路徑?
- 22. Vim添加並對齊新行並自動在引號內
- 23. 動態添加按鈕和添加他們的源代碼
- 24. 如何在Vim中同時添加代碼和評論?
- 25. 有沒有辦法在運行時用C代碼獲取源代碼行號?
- 26. 添加/分配號碼重複的行
- 27. Python:在代碼塊的每一行添加代碼例程
- 28. 直接在Vim中運行python代碼
- 29. Vim在C/C++代碼行中搜索
- 30. 如何添加代碼在運行時
如果你想讓行號從0開始而不是1? – Nils 2011-05-11 08:34:16
刪除第一行,爲其餘的編號。之後以首位'0'讀取第一行。 ;) – sjas 2012-07-20 08:13:13
這就是答案! – user3751385 2017-07-28 04:27:15