如何使用vim来进行编辑文档和脚本
1.vim模式介紹
vim會(huì)有4種常見(jiàn)的模式,分別為普通模式、命令模式、插入模式、可視模式。
普通模式:利用vim打開(kāi)某個(gè)文件時(shí),即進(jìn)入普通模式。
普通模式轉(zhuǎn)為命令模式,使用 “:”。
普通模式轉(zhuǎn)為插入模式,在鍵盤(pán)上輸入以下字母:"i,I,a,A,o,O"中任意一個(gè)。
普通模式轉(zhuǎn)為可視模式,在鍵盤(pán)上輸入字母:“V”,注意是大寫(xiě)。
命令模式、插入模式、可視模式轉(zhuǎn)為普通模式,鍵盤(pán)上按下"Esc"按鍵。
2.常用命令
2.1 普通模式
2.1.1 移動(dòng)光標(biāo):
| k或向上箭頭 | 向上移動(dòng)光標(biāo) |
| j或向下箭頭 | 向下移動(dòng)光標(biāo) |
| h或向左箭頭 | 向左移動(dòng)光標(biāo) |
| l或向右箭頭 | 向右移動(dòng)光標(biāo) |
| gg | 文件首行的行首 |
| GG | 文件尾行的行首 |
| ngg | 移動(dòng)到第n行的行首 |
2.1.2 刪除操作:
注意,刪除時(shí)會(huì)將文本內(nèi)容進(jìn)行緩存,然后通過(guò)粘貼,實(shí)現(xiàn)剪切功能。
| x | 刪除光標(biāo)處的一個(gè)字符 |
| dd | 刪除光標(biāo)處的所在行 |
| ndd | 刪除從光標(biāo)所在行開(kāi)始的n行(包含光標(biāo)行),1dd等于dd |
| dw | 刪除從光標(biāo)位置開(kāi)始的一個(gè)單詞 |
| d$ | 刪除從光標(biāo)處到該行行尾的字符 |
| d^ | 刪除光標(biāo)處到該行行首的字符 |
| dG | 刪除光標(biāo)行到行尾的所有行 |
| dnG | 刪除從光標(biāo)行到第n行(包含第n行) |
2.1.3 復(fù)制:
| yy | 復(fù)制光標(biāo)所在行 |
| y$ | 復(fù)制從光標(biāo)處到該行行尾的字符 |
| y^ | 復(fù)制從光標(biāo)處到該行行首的字符 |
| nyy | 復(fù)制從光標(biāo)所在行開(kāi)始的n行(包含光標(biāo)行),1yy等于yy |
| yG | 復(fù)制從光標(biāo)行到行尾的所有行 |
| ynG | 復(fù)制從光標(biāo)行到第n行(包含第n行) |
2.1.4 粘貼:
| p | 將復(fù)制的內(nèi)容粘貼到光標(biāo)所在行的下一行(小寫(xiě),地位低,居下方) |
| P | 將復(fù)制的內(nèi)容粘貼到光標(biāo)所在行的上一行(大寫(xiě),地位高,居上方) |
2.1.5 替換:
| r | 替換光標(biāo)處的一個(gè)字符 |
| R | 從光標(biāo)處開(kāi)始往后連續(xù)替換 |
| cc | 替換光標(biāo)所在行 |
| c$ | 替換光標(biāo)處到該行行尾 |
| c^ | 替換光標(biāo)處到該行行首 |
| cG | 替換從光標(biāo)行到行尾 |
| cnG | 替換從光標(biāo)行到第n行(包含n行) |
2.1.6 可視塊操作:
| u | 撤銷(返回上一步) |
| ctrl+r | 重做,與u操作相反 |
| ctrl+v | 對(duì)可視化塊進(jìn)行批量操作 |
| ctrl+v,選取區(qū)塊,x | 批量刪除 |
| ctrl+v,選取區(qū)塊,shift+i,輸入內(nèi)容,Esc | 批量編輯 |
2.2 命令模式
2.2.1 文件的保存和退出:
| :w | 保存 |
| :q | 退出 |
| :wq | 保存并退出 |
| :x | 保存并退出 |
| :wq! | 強(qiáng)制保存并退出 |
| :q! | 不保存并退出 |
2.2.2 顯示文件名稱,切換文件:
:args,顯示該文件的名稱
2.2.3 編輯某文件時(shí),新打開(kāi)1.txt:
:e 1.txt
2.2.4 將正在操作的文件另存為~/2.txt:
:saveas ~/2.txt
2.2.5 切分窗口
| :split | 上下分屏 |
| :nsplit 1.txt | 打開(kāi)一個(gè)高度為3的窗口,并打開(kāi)1.txt |
| :vsplit | 左右分屏 |
可以利用ctrl+w將光標(biāo)在各窗口之間進(jìn)行切換
:qa! 或 :qa ,可退出所有窗口。
2.2.6 字符串替換
| :%s/old_string/new_string | 全局替換 |
| : s /old_string/new_string | 替換光標(biāo)所在行 |
| : n, $s /old_string/new_string | 替換第 n行開(kāi)始到最后一行中的第一個(gè)old_string |
| : n,$s /old_string/new_string/g | 替換第n行開(kāi)始到最后一行的所有old_string |
2.2.7 跳轉(zhuǎn)到某一行
:n,跳轉(zhuǎn)到第n行
2.2.8 設(shè)置選項(xiàng)
:set,設(shè)置選項(xiàng)
:set nonu,不顯示行號(hào)
:set nu,顯示行號(hào)
具體設(shè)置情況,可在~/.vimrc文件中進(jìn)行查看和設(shè)置,從而使配置永久生效。
2.3 插入模式
| i | 在光標(biāo)前插入 |
| I | 在光標(biāo)所在行的行首插入 |
| a | 在光標(biāo)后插入 |
| A | 在光標(biāo)所在行的行尾追加 |
| o | 在光標(biāo)所在位置的下一行打開(kāi)新行插入 |
| O | 在光標(biāo)所在位置的上一行打開(kāi)新行插入 |
2.4 可視模式
| v | 每次選擇一個(gè)字符 |
| V | 每次選擇一行 |
| ctrl+v | 批量編輯,詳見(jiàn)2.1.6 |
| gv | 重選上一次的高亮區(qū) |
| 選中后,按下d | 刪除所選中部分 |
| 選中后,按下D | 刪除所選中部分所在的行 |
| 選中后,按下v | 復(fù)制選中的部分 |
| 選中后,按下V | 復(fù)制所選中部分的所在行 |
| 選中后,按下c或C | 刪除所選中部分(選中部分所在行),并切換到輸入模式 |
| 選中后,按下J | 將選中部分合并為一行 |
| 選中后,按下r | 將選中的部分的每個(gè)字符替換為新字符 |
3.其他技巧
3.1 操作技巧
| 普通模式下ctrl+z | 將編輯的文檔掛起 |
| 普通模式下 /search_string | 在文檔中查找某些字符串,n向下查找,N向上查找 |
文檔掛起后:在終端輸入jobs,可以查看所有掛起的文檔;在終端輸入fg %n,可以進(jìn)入某個(gè)掛起的文檔進(jìn)行編輯;在終端輸入fg,可以快速進(jìn)入最后一個(gè)標(biāo)記掛起(前面有+)的文檔中。
3.2 提升技巧
3.2.1 內(nèi)置的訓(xùn)練模式
在終端輸入 vimtutor(英文模式) 或vim zh(漢化模式)
3.2.2 其他
可以在終端中,可以輸入man vim ,查看在線手冊(cè)。
3.3 常用命令舉例
#3顯示行號(hào)和不顯示行號(hào) set nu set nonu #取消高亮顯示 :nohl總結(jié)
以上是生活随笔為你收集整理的如何使用vim来进行编辑文档和脚本的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 听歌用什么降噪耳机好?骑行抗风噪最好的蓝
- 下一篇: day2-运算符和分支