貿(mào)易公司做網(wǎng)站愛鏈網(wǎng)中可以進(jìn)行鏈接買賣
善為理者,舉其綱,疏其網(wǎng)。
vim
- 1、vim介紹
- 2、命令模式詳情
- 3、底行模式詳情
- 4、困難問(wèn)題
- 5、歷史存疑問(wèn)題
- 6、vim配置問(wèn)題
- 6、1、配置的原理
- 6、2、一鍵式配置
1、vim介紹
如果我面想要在Linux上編寫代碼的話,我就需要vim來(lái)幫助我們編寫代碼。但是vim并不像是在Windows上的vs集成軟件把所有的東西都集成起來(lái)但是呢,如果不進(jìn)行配置的話,vim和其他是相互獨(dú)立的,vim就是寫代碼的編輯器,編譯代碼就是gcc/g++的編譯器,調(diào)試代碼就有g(shù)db的調(diào)試器。自動(dòng)化構(gòu)建就有make和makefile構(gòu)建的工具。
vim是款編輯器,同時(shí)也是多模式的編輯器—命令模式,底行模式,插入模式。
簡(jiǎn)單編譯一個(gè)hello vim程序
vim剛開始打開的時(shí)候,暫時(shí)是無(wú)法正常輸入的,因?yàn)閯偞蜷_的時(shí)候是命令模式,默認(rèn)打開的時(shí)候,目前所輸入的都會(huì)看成是命令,當(dāng)然,如果命令不對(duì)當(dāng)然什么操作都沒有咯。
從命令模式進(jìn)入插入模式輸入 i。
如果編輯完了,想要退出去,該怎么辦呢?首先需要從插入模式退出到命令模式,按一下Esc,現(xiàn)在在命令模式,此時(shí)想要退出的話,需要按:() ,從命令模式進(jìn)入到底行模式之后,繼續(xù)按wq就能夠退出。如果是在底行模式不想退出的話,也能夠通過(guò)按Esc重新命令模式。
概括介紹:
插入模式:編輯模式
命令模式:允許使用者通過(guò)命令,來(lái)進(jìn)行文本的編輯控制。
底行模式:如果前兩個(gè)模式是對(duì)于文本內(nèi)容的控制,底行模式就是讓vim進(jìn)行包括但不限于和shell進(jìn)行交互的。
2、命令模式詳情
命令模式:沒必要進(jìn)入插入模式才能對(duì)文本進(jìn)行操作。
yy:復(fù)制當(dāng)前行
p:粘貼到當(dāng)前光標(biāo)的下一行
u:撤銷
dd:剪切/刪除
n dd:剪切/刪除n行
n p:粘貼n行
n yy:復(fù)制n行
$:快速定位光標(biāo)到當(dāng)前行的最末尾
^:快速定位光標(biāo)到當(dāng)前行的最開頭
gg:將光標(biāo)定位到文本的最開頭
G:將光標(biāo)定位到文本的最末尾
n G:定位到指定的n行
h:光標(biāo)向左一位
j:光標(biāo)向下一位
k:光標(biāo)向上一位
l:光標(biāo)向右一位n h:光標(biāo)向左n位
n j:光標(biāo)向下n位
n k:光標(biāo)向下n位
n l:光標(biāo)向右n位
快速記住hjkl方向鍵的意義。
h最左邊,所以h表示向左。l在最右邊,所以l表示向右。k(king高高在上),所以k表示向上。j(jump向下跳),所以j表示向下。
w:按照單詞為單位,進(jìn)行光標(biāo)后移
b:按單詞為單位,進(jìn)行光標(biāo)前移
ctrl r:撤銷撤銷的動(dòng)作
shift~:shift按住不動(dòng),連續(xù)按~能讓光標(biāo)定位的字母快速進(jìn)行大小寫切換
x:刪除光標(biāo)所在位置的字符,先向后刪,刪完后向前刪
n x:刪除光標(biāo)所在位置的n個(gè)
X:刪除光標(biāo)之前的字符
r:對(duì)光標(biāo)指定的位置,進(jìn)行一個(gè)字符的替換
n r:對(duì)光標(biāo)指定的位置,進(jìn)行n個(gè)字符的替換
R:進(jìn)入replace模式,能夠進(jìn)行多次替換
i:直接進(jìn)入插入模式
o:進(jìn)入編輯模式的同時(shí)還新增一行
a:進(jìn)入編輯模式,同時(shí)向后一位字符
3、底行模式詳情
進(jìn)入底行模式,是在命令模式情況下按:。
q!:強(qiáng)制退出。
q:退出,但是如果不保存的話,會(huì)警告沒有保存。
wq:保存并退出
wq!:保存并強(qiáng)制退出
set nu:調(diào)出行號(hào)
set nonu:去掉行號(hào)
還可以進(jìn)行批量化的替換
s/prinf/PRINTF/g:進(jìn)行printf全部替換成PRINTF
/XXX:進(jìn)行XXX的全文搜索,并且高亮
!command:不退出vim,可以進(jìn)行shell命令的執(zhí)行
(最常用的能夠man指令,這樣就不用退出后再去查看)
vim不會(huì)新建文件,只有當(dāng)我們保存的時(shí)候,才會(huì)首次被創(chuàng)建。(vim 文件(新文件))。
在windows上的圖形化界面,想要多文件同時(shí)編輯的話,只需要點(diǎn)擊相對(duì)應(yīng)的文件圖形就能夠切換,那么在Linux中怎么實(shí)現(xiàn)呢?難不成還是保存完之后再進(jìn)行編輯另一個(gè)文件?
vs filename:分屏,多文件操作
ctrl ww:光標(biāo)在兩個(gè)編輯窗口切換
左右兩個(gè)窗口可以互相拷貝粘貼。
底行模式不能直接進(jìn)入插入模式,插入模式也不能直接進(jìn)入底行模式。
命令模式時(shí)候怎么快速的退出?ZZ即可
4、困難問(wèn)題
怎么注釋?
換句話說(shuō)困難的問(wèn)題是,如何批量注釋?
ctrl+v:先進(jìn)入視圖模式
//進(jìn)入視圖模式后選擇需要批量化編輯的區(qū)域
I:大寫的i進(jìn)入編輯模式
編寫完成之后按Esc兩次,就能夠進(jìn)行多行的注釋
怎么批量化去注釋
ctrl+v:進(jìn)入視圖模式
//選擇需要進(jìn)行編輯的區(qū)域
d:刪除/去注釋
5、歷史存疑問(wèn)題
解決歷史問(wèn)題:普通用戶無(wú)法進(jìn)行sudo提權(quán)(其中Linux用戶章節(jié)留下的問(wèn)題)
如果沒有提前解決白名單黑名單類似的問(wèn)題的話,會(huì)出現(xiàn)這樣的報(bào)錯(cuò)。
首先如果想要修改這個(gè)文件的話,必須要是root才能。利用root打開/etc/sudoers文件。進(jìn)行修改。
找到這里并添加用戶
可是此時(shí)也會(huì)出現(xiàn)報(bào)錯(cuò),會(huì)有系統(tǒng)來(lái)提醒是否需要保存。這是就必須要用到**wq!**來(lái)強(qiáng)制保存并退出。
這樣就成功了,能夠?qū)崿F(xiàn)sudo命令。
6、vim配置問(wèn)題
6、1、配置的原理
vim不是簡(jiǎn)單的執(zhí)行可執(zhí)行程序,在啟動(dòng)執(zhí)行的時(shí)候也會(huì)讀取若干可執(zhí)行的配置文件。通常來(lái)說(shuō)沒配置的話讀取的都包含 .vimrc。
如果本身沒有的話,可以創(chuàng)建一個(gè).vimrc文件并在里面進(jìn)行配置。這樣的話也符合Linux多用戶操作系統(tǒng)的作用,每一個(gè)人都可以個(gè)性化配置vim。可以但不限于set nu。
6、2、一鍵式配置
在網(wǎng)上尋找例如gitte或者github上的教程。