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行的小寫字母轉爲大寫字母
將起始行號和結束行號所指定的範圍的內容作爲命令command的輸入。不會改變當前編輯的文件的內容
例 :62,72 w !sort,將62行到72行的內容進行排序,但排序的結果並不會直接輸出到當前編輯的文件中,而是顯示在vim敲命令的區域
轉自:http://blog.csdn.net/youxin2012/article/details/38980533