Vim 介紹
- Vim 官網:http://www.vim.org/
Vim 安裝
- CentOS:
sudo yum install -y vim - Ubuntu:
sudo apt-get install -y vim - Windows GVim 下載:http://www.xiazaiba.com/html/3347.html
Vim 配置(CentOS 環境)
- 編輯配置文件是:
sudo vim /etc/vimrc
Vim 基礎快捷鍵
- 注意
- 嚴格區分字母大小寫
- 含有
Ctrl字眼都表示 Ctrl 鍵盤按鈕 - 特定符號需要配合 Shift 鍵,比如字母鍵盤區上面的數字區:!@#%%^&*()
- 要按出冒號鍵
:也是需要 Shift 的
- 移動
j,下k,上h,左l,右v,按 v 之后按方向鍵可以選中你要選中的文字gg,跳到第 1 行G,跳到最后一行16G或:16,跳到第 16 行$,到本行 行尾0,到本行 行頭w,到下一個單詞的 開頭e,到下一個單詞的 結尾Ctrl + u,向文件 首翻 半屏Ctrl + d,向文件 尾翻 半屏Ctrl + f,向文件 尾翻 一屏Ctrl + b,向文件 首翻 一屏*,匹配光標當前所在的單詞,移動光標到 下一個 匹配單詞#,匹配光標當前所在的單詞,移動光標到 上一個 匹配單詞^,到本行第一個單詞頭g_,到本行最后一個單詞尾巴%,匹配括號移動,包括 (、{、[
- 插入
I,在當前 行首 插入A,在當前 行尾 插入i,在當前字符的 左邊 插入a,在當前字符的 右邊 插入o,在當前行 下面 插入一個新行O,在當前行 上面 插入一個新行
- 編輯
- 刪除
x,刪除 光標后 的 1 個字符2x,刪除 光標后 的 2 個字符X,刪除 光標前 的 1 個字符2X,刪除 光標前 的 2 個字符dd,刪除當前行cc,刪除當前行后進入 insert 模式dw,刪除當前光標下的單詞/空格d$,刪除光標至 行尾 所有字符dG,刪除光標至 文件尾 所有字符3dd,從當前光標開始,刪掉 3 行echo > aa.txt,從 bash 角度清空文件內容,這個比較高效
- 復制
y,復制光標所選字符yw,復制光標后單詞yy,復制當前行4yy,復制當前行及下面 4 行y$,復制光標位置至 行尾 的內容y^,復制光標位置至 行首 的內容
- 粘貼
p,將粘貼板中內容復制到 光標之后P,將粘貼板中內容復制到 光標之前
- 其他
ddp,交換當前光標所在行和下一行的位置u,撤銷:wq,退出並 保存:q!,退出並 不保存Ctrl + v,進入 Vim 列編輯guu,把當前行的字母全部轉換成 小寫gUU,把當前行的字母全部轉換成 大寫g~~,把當前行的字母是大寫的轉換成小寫,是小寫的轉換成大寫:saveas /opt/setups/text.txt,另存到 /opt/setups/text.txt
- 刪除
- 搜索
/YouMeek,從光標開始處向文件尾搜索 YouMeek 字符,按n繼續向下找,按N繼續向上找?YouMeek,從光標開始處向文件首搜索 YouMeek 字符,按n繼續向下找,按N繼續向上找
- 替換
:%s/YouMeek/Judasn/g,把文件中所有 YouMeek 替換為:Judasn:%s/YouMeek/Judasn/,把文件中所有行中第一個 YouMeek 替換為:Judasn:s/YouMeek/Judasn/,把光標當前行第一個 YouMeek 替換為 Judasn:s/YouMeek/Judasn/g,把光標當前行所有 YouMeek 替換為 Judasn:s#YouMeek/#Judasn/#,除了使用斜杠作為分隔符之外,還可以使用 # 作為分隔符,此時中間出現的 / 不會作為分隔符,該命令表示:把光標當前行第一個 YouMeek/ 替換為 Judasn/:10,31s/YouMeek/Judasn/g,把第 10 行到 31 行之間所有 YouMeek 替換為 Judasn
Vim 的特殊復制、黏貼
- Vim 提供了 12 個剪貼板,分別是:
0,1,2,3,4,5,6,7,8,9,a,",默認采用的是",也就是雙引號,可能你初讀感覺很奇怪。你可以用 Vim 編輯某個文件,然后輸入::reg。你可以看到如下內容: - 復制到某個剪切板的命令:
"7y,表示使用 7 號剪切板。 - 黏貼某個剪切板內容:
"7p,表示使用 7 號剪切板內容進行黏貼
Vim 配置
- 我個人本地不使用 Vim 的,基本上都是在操作服務器的時候使用,所以這里推薦這個配置文件
- vim-for-server
- 在假設你已經備份好你的 Vim 配置文件后,使用該配置文件:
curl https://raw.githubusercontent.com/wklken/vim-for-server/master/vimrc > ~/.vimrc - 效果如下:
- 需要特別注意的是,如果你平時粘貼內容到終端 Vim 出現縮進錯亂,一般需要這樣做:
- 進入 vim 后,按
F5,然后shift + insert進行粘貼。這種事就不會錯亂了。 - 原因是:
vim ~/.vimrc中有一行這樣的設置:set pastetoggle=<F5>
- 進入 vim 后,按
其他常用命令
- 對兩個文件進行對比:
vimdiff /opt/1.txt /opt/2.txt


