Vim命令高級(jí)用法
1.啟動(dòng)
-R 只讀方式打開,但打開后如果有權(quán)限,可以強(qiáng)制執(zhí)行保存。
-c (command) 加載后執(zhí)行命令,比如"vim -c /most myfirst" 打開該文件后直接向后搜索most。
更多的可以參考 -h
2.同時(shí)編輯多個(gè)文件
vim [file1] [file2] ...
此時(shí)
:ar 查看當(dāng)前編輯的文件名
:n 切換當(dāng)前編輯的文件
另外還有
:e 切換到新文件
:w 讀取已存在的文件并將其內(nèi)容放入正在編輯的文件中
:w [起始行][終結(jié)行] [文件名] 將當(dāng)前文件部分放于新文件中,若已存在則覆蓋。
3.文本重排
命令模式下
dd 刪除當(dāng)前行并存放于臨時(shí)緩沖區(qū)中(類似于剪切)
yy 復(fù)制當(dāng)前行并存放于臨時(shí)緩沖區(qū)中
p 將指定緩沖區(qū)內(nèi)容放到當(dāng)前光標(biāo)位置之下
P 將指定緩沖區(qū)內(nèi)容放到當(dāng)前光標(biāo)位置之上
4.域操作
操作符(d、y等)與域結(jié)合可以進(jìn)行域操作。
域 |
功能 |
$ |
標(biāo)識(shí)域?yàn)閺墓鈽?biāo)位置開始到當(dāng)前行尾 |
0 |
標(biāo)識(shí)域?yàn)閺墓鈽?biāo)位置前到當(dāng)前行首 |
e或w |
標(biāo)識(shí)域?yàn)閺墓鈽?biāo)位置開始到當(dāng)前字尾(其他用法:如3dw,刪除光標(biāo)后3個(gè)字) |
b |
標(biāo)識(shí)域?yàn)閺墓鈽?biāo)位置前到當(dāng)前字首 |
5.緩沖區(qū)的使用
5.1 數(shù)字編號(hào)緩沖區(qū)
雙引號(hào)+n(緩沖區(qū)號(hào),1至9)+(p或P)
例如"9p
其中對(duì)數(shù)字緩沖區(qū)的使用,刪除或復(fù)制時(shí),每次將所有區(qū)后移,1到2,2到3,......,9原有被清空并被8覆蓋。
5.2 字母編號(hào)緩沖區(qū)
雙引號(hào)+緩沖區(qū)名(從小寫字母a至z)+命令
練習(xí)用例:
"wdd 刪除當(dāng)前行,副本保存在緩沖區(qū)w
"wp 將緩沖區(qū)w內(nèi)容復(fù)制到光標(biāo)位置
"z7yy 復(fù)制7行到緩沖區(qū)z
"zp 將緩沖區(qū)z的內(nèi)容(7行)復(fù)制到光標(biāo)位置
6.光標(biāo)定位鍵
鍵 |
功能 |
[Ctrl-d] |
將光標(biāo)向下移動(dòng)到文件尾,通常每次移動(dòng)12行 |
[Ctrl-u] |
將光標(biāo)向上移動(dòng)到文件頭,通常每次移動(dòng)12行 |
[Ctrl-f] |
將光標(biāo)向下移動(dòng)到文件尾,通常每次移動(dòng)24行 |
[Ctrl-b] |
將光標(biāo)向上移動(dòng)到文件頭,通常每次移動(dòng)24行 |
7.Vim定制選項(xiàng)
7.1 :set
:set all 顯示所有選項(xiàng)
:set 只顯示修改過的選項(xiàng)
:set X? 顯示選項(xiàng)X的值
設(shè)置方式
布爾式選項(xiàng): set X選定,set noX禁止
數(shù)字式選項(xiàng): set X=12
串選項(xiàng):類似于數(shù)字式選項(xiàng),但賦值的是串
一些選項(xiàng):
選項(xiàng) |
縮寫 |
功能 |
autoindent |
ai |
將新行與前一行的行首對(duì)齊 |
ignorecase |
ic |
在搜索選項(xiàng)中忽略大小寫 |
number |
nu |
顯示行號(hào) |
shiftwidth |
sw |
設(shè)置縮進(jìn)的空格數(shù),與autoindent選項(xiàng)一起使用 |
wrapmargin |
wm |
設(shè)置右邊界為指定的字符數(shù) |
7.2縮寫
:ab uno UNIX Operating System 將uno設(shè)置為UNIX Operating System的縮寫,輸入uno加一個(gè)空格就會(huì)自動(dòng)替換。
:unab uno 取消縮寫
7.3宏操作
:map [宏名] [操作功能鍵序列]
宏是臨時(shí)的,只在當(dāng)前編輯會(huì)話中起作用。
本節(jié)所有設(shè)置(set、縮寫、宏)都是臨時(shí)的,如果需要長期使用,應(yīng)在當(dāng)前(工作)目錄下創(chuàng)建.exec文件,在其中保存設(shè)置。內(nèi)容形如
set report=0
ab uop UNIX Operating System
map q 5dd
8.其他命令
8.1 運(yùn)行shell命令
:!+命令 例如:!date
8.2 行連接 J
8.3搜索與替換
利用/或?+輸入+n+.+n+.+……可以實(shí)現(xiàn)批量替換
相關(guān)文章
CentOS服務(wù)器+監(jiān)控寶SNMP監(jiān)控全攻略分享
很多人和Sudu一樣都想使用監(jiān)控寶去監(jiān)控自己的linux服務(wù)器,但是因?yàn)榘惭bsnmp存在一些問題導(dǎo)致無法成功設(shè)置snmp的設(shè)置。2010-12-12阿里云Linux主機(jī)安裝WDCP管理面板(包含lamp+lnmp+lanmp環(huán)境)
這篇文章主要介紹了阿里云Linux主機(jī)安裝WDCP管理面板(包含lamp+lnmp+lanmp環(huán)境),需要的朋友可以參考下2017-08-08Centos 通過 Nginx 和 vsftpd 構(gòu)建圖片服務(wù)器的教程(圖文)
本篇文章主要介紹了Centos 通過 Nginx 和 vsftpd 構(gòu)建圖片服務(wù)器的教程(圖文),具有一定的參考價(jià)值,有興趣的可以了解一下2017-08-08每天一個(gè)linux命令(30): chown命令詳解
本篇文章主要介紹了linux chown命令。chown將指定文件的擁有者改為指定的用戶或組,感興趣的朋友可以了解一下。2016-11-11Linux解決RocketMQ中NameServer啟動(dòng)問題的方法詳解
這篇文章主要為大家詳細(xì)介紹了Linux解決RocketMQ中NameServer啟動(dòng)問題的方法,文中通過圖片和示例代碼進(jìn)行了詳細(xì)講解,需要的小伙伴可以參考下2023-08-08