網(wǎng)站服務(wù)器證書有問題超級外鏈發(fā)布工具
vim介紹
? vim是Linux的一款文本編輯器,可以用來編輯代碼,而且支持語法高亮,還可以進(jìn)行一系列配置使vim更多樣化。也可以運行于windows,mac os上。
? vim有多種模式,但目前我們只介紹絕大多數(shù)場景用的到的模式,也就是命令模式,插入模式和底行模式,其他模式以后用到了會介紹。
- 正常/普通/命令模式(Normal mode)
控制屏幕光標(biāo)的移動,字符、字或行的刪除,移動復(fù)制某區(qū)段及進(jìn)入Insert mode下,或者到 last line mode
- 插入模式(Insert mode)
只有在Insert mode下,才可以做文字輸入,按「ESC」鍵可回到命令行模式。該模式是我們后面用的最頻繁的編輯模式。
- 末行模式(last line mode)
文件保存或退出,也可以進(jìn)行文件替換,找字符串,列出行號等操作。 在命令模式下,shift+: 即可進(jìn)入該模
式。要查看你的所有模式:打開vim,底行模式直接輸入
:help vim-modes
vim的基本操作
- 在命令行輸入
vim 文件名
后就會進(jìn)入vim全屏幕編輯畫面,進(jìn)入vim后處于正常模式,想要編輯文本需要切換到插入模式
vim 文件名 n
:打開文件并且讓光標(biāo)直接跳轉(zhuǎn)到第n行
- 正常模式切換到插入模式
- 輸入a(光標(biāo)會跳轉(zhuǎn)到下一個位置)
- 輸入i (光標(biāo)會在當(dāng)前位置)
- 輸入o(光標(biāo)會跳轉(zhuǎn)到下一行)
- 插入模式和末行模式切換到正常模式需要按
esc
- 正常模式切換到末行模式需要按
shift + ;
,也就是:
- 退出vim需要進(jìn)入末行模式
- 輸入w (保存當(dāng)前文件)
- 輸入wq (保存當(dāng)前文件并且退出)
- 輸入q! (不保存當(dāng)前文件并且強(qiáng)制退出)
- 插入模式和末行模式不能互相切換
- 末行模式下的一些指令
set nu/nonu
:顯示行號!cmd
:在不退出vim的情況下進(jìn)行查看,編譯,運行等動作/關(guān)鍵字
:搜索關(guān)鍵字,n表示下一個
? 一下是一圖流:
注意,如果在vim界面時直接關(guān)閉XShell會生成一個隱藏的臨時文件
文件名.swp
,以后再vim這個文件時會提示你,不想提示刪除這個隱藏文件即可
vim命令模式指令集
記住以下操作都是在vim的命令模式下才能有效!
- 光標(biāo)的操作
hjkl
:分別是讓光標(biāo)往 左/下/上/右 移動gg
:定位代碼第一行n+shift+g
:定位代碼第n行,沒有n就是最后一行shift+6
(^):移動到當(dāng)前行的開始shift+4
($):移動到當(dāng)前行的結(jié)尾w
:以單詞為單位,向后移動,支持跨行b
:以單詞為單位,向前移動,支持跨行e
:光標(biāo)跳到下個單詞的詞尾
- 復(fù)制
n+yy
:復(fù)制包含當(dāng)前行的n行到緩沖區(qū),沒有n就是1行n+p
:粘貼n次緩沖區(qū)的內(nèi)容到當(dāng)前行之后,沒有n就是粘貼1次n+yw
:復(fù)制光標(biāo)開始n個單詞到緩沖區(qū),沒有n就是1個
- 刪除
n+dd
:從當(dāng)前行開始剪切n行,沒有n就是1行,剪切也相當(dāng)于刪除n+x
:向后刪除n個字符,如果沒有n就是1個n+shift+x
:向前刪除n個字符,如果沒有n就是1個
- 替換
n+r
:替換光標(biāo)所在處的字符,或者n個字符shift+'`'
:可以讓字母在大小寫之間轉(zhuǎn)換shift+r
:進(jìn)入替換模式(esc退回命令模式),替換光標(biāo)所到之處的字符,直到按下esc為止
- 撤銷上一次操作
u
:和windows的ctrl+z
功能一樣,撤銷上一次操作ctrl+r
:撤銷的恢復(fù)不小心刪除了一段代碼用
u
撤回,代碼就回來了,然后用ctrl+r
撤回了我剛才的撤回,所以代碼又回到了刪除的時候,左右橫跳😄
- 查找
shift+3
(#):查找同名單詞,n單次跳轉(zhuǎn)
視圖模式
? 命令模式下輸入ctrl+v
進(jìn)入視圖模式進(jìn)行批量化注釋:
- 通過
jk
進(jìn)行光標(biāo)上下移動選中區(qū)域 - 輸入
shift+i
進(jìn)入插入模式 - 輸入
//
- esc即可完成注釋
? 批量化刪除注釋:
ctrl+v
進(jìn)入視圖模式hjkl
進(jìn)行光標(biāo)上下移動選中區(qū)域- 輸入d完成刪除
vim的其他應(yīng)用
- vim打開一個不存在的文件并且保存退出就會創(chuàng)建這個文件
- vim多文件編輯
- 底行模式
vs+文件名
:就可以多開文件
- 無論打開多少文件,光標(biāo)只有一個,光標(biāo)在一個區(qū)域就表示當(dāng)前正在編輯哪一個文件。在文件之間切換光標(biāo)是
ctrl+ww
vim簡單配置
? 首先vim在啟動的時候會自動掃描當(dāng)前用戶家目錄下的vimrc
文件,讓.vimrc
文件里的選項生效。vim配置實際上就是向.vimrc
文件里添加更多的配置選項。
? 配置vim:
- 首先輸入
cd ~
進(jìn)入當(dāng)前用戶家目錄 - 輸入
ls -al
看看有沒有.vimrc
文件,如果沒有就創(chuàng)建一個 - 百度搜索vim配置,就可以把別人的配置復(fù)制添加到
.vimrc
文件里,就完成配置啦
? 或者直接下載別人已經(jīng)配置好的.vimrc
然后拷貝到我們的家目錄即可。
這里我推薦點我這個網(wǎng)址的vim配置,用普通賬戶在前面加上sudo
運行一下代碼即可配置完成,放心沒有安全問題!(下面是成果預(yù)覽)
curl -sLf https://gitee.com/HGtz2222/VimForCpp/raw/master/install.sh -o ./install.sh && bash ./install.sh
sudo添加用戶信任列表
? 如果用戶沒有被加入到sudo用戶白名單是用不了sudo指令的,所以這里我們來演示如何添加用戶到信任列表里。首先需要登錄root賬號
vim /etc/sudoers
進(jìn)入sudoers
文件
往下翻直到看見
root ALL=(ALL) ALL
為止
然后在復(fù)制
root ALL=(ALL) ALL
,在下面粘貼,把root改為自己用戶的名字即可,記得底行模式輸入wq!
退出(我的用戶名字是normal)
然后你就可以使用sudo了,試試去運行我上面寫的代碼自動化配置vim吧😊