標籤:vim
1. w [檔案名稱] 相當於另存新檔
2. r [檔案名稱] 將[檔案名稱]的內容加到游標行後面
3. n1,n2 w[filename] 將n1到n2的內容儲存為[filename]
4. 50dd 刪除50行 5x 刪除5個字元
5. 20下 向下移動20行
6. 50G 移動到第50行
7. 20右 向右移動20位
8. /word 尋找word字串
9. 文本替換
:50,100s/man/MAN/g 將50到100行之間的man 替換為MAN
:s/str1/str2 替換當前行第一個 str1 為 str2 -- s 代表當前行
:s/str1/str2/g 替換當前行中所有 str1 為 str2 -- s 代表當前行 g表示 該行所有 global
:m,ns/str1/str2 替換第 n 行開始到最後一行中每一行的第一個 str1 為 str2
:m,ns/str1/str2/g 替換第 n 行開始到最後一行中所有的 str1 為 str2
:%s/str1/str2/g 替換文中所有 str1 為 str2
10. u 恢複
11. nyy 複製 n行 p 粘貼
12. gg 第一行 G最後一行
13.:Tlist 開啟函數列表 ctrl + ww 完成視窗切換, 關閉同樣 Tlist
複製 刪除 塊操作
v 字元選擇
V 行選擇
ctrl+v 塊選擇
y 複製 p 粘貼 d 刪除
14. 同時 開啟多個文本
先開啟一個, 命令列 sp自身的分開
sp [filename] 再分開一個
Ctrl+w+ 上/下 切換視窗
退出 分別 q
vim file1 file2
:n
:N 來後檔案翻頁
:f 顯示當前正在編輯的文檔名稱
15. vim全選並複製 /刪除
全部刪除:按esc後,然後dG
全部複製:按esc後,然後ggyG
16. vim多行縮排技巧
關鍵字: vim indent
按 v 進入visual狀態,選擇多行,用 ‘>‘或‘< ‘縮排或縮出
17、顯示 TAB 鍵 (方便在 python 中對 table 個數的觀察)
檔案中有 TAB 鍵的時候,你是看不見的。要把它顯示出來:
:set list
現在 TAB 鍵顯示為 ^I,而 $顯示在每行的結尾,以便你能找到可能會被你忽略的空白字元在哪裡。
更改:
使用 ‘listchars’ 選項:
:set listchars=tab:>-,trail:-
現在,TAB會被顯示成 ">—" 而行尾多餘的空白字元顯示成 "-"。
18. vim 多行注釋與 取消注釋
:20,30s/^/# 第20到30行用 # 注釋掉。 也可以用別的字元
:20,30s/^#// 取消注釋
對//或/* 可以用替換 :20,30s/\/\// 用/ (空) 替換 \\ ( \/\/ 中有兩個專業符‘\‘)
:4,10s/^[^I ]\+// 去掉行首的空白字元
用 . 表示當前行。
: . ,30 s/^/#
可以看到 vim 命令針對當前行,在前面加個範圍就可以針對多行。
:co 12
把當前行 copy 到行 12 的地方。
19. 上述方法二
多行添加註釋
1). ctrl+v visual block模式,選中注釋行
2). 大寫I,插入注釋符,例如//
3). 按esc鍵就會全部注釋了
取消多行注釋
1). ctrl+v visual block模式,,選中刪除列
2).d 刪除該列即可
20. vim中調用shell命令
:!command
不退出vim,並執行shell命令command,將命令輸出顯示在vim的命令地區,不會改變當前編輯的檔案的內容
例:
1) :r !command
將shell命令command的結果插入到當前行的下一行
:r !date
讀取系統時間並插入到當前行的下一行。
2) 起始行號,結束行號 !command
將起始行號和結束行號指定的範圍中的內容輸入到shell命令command處理,並將處理結果替換起始行號和結束行號指定的範圍中的內容
例如 :62,72 !sort,將62行到72行的內容進行排序
:62 !tr [a-z] [A-Z],將62行的小寫字母轉為大寫字母
3):起始行號,結束行號 w !command
將起始行號和結束行號所指定的範圍的內容作為命令command的輸入。不會改變當前編輯的檔案的內容
例 :62,72 w !sort,將62行到72行的內容進行排序,但排序的結果並不會直接輸出到當前編輯的檔案中,而是顯示在vim敲命令的地區
vim 20條常用指令