天天看點

vim 常用操作設定

vim第一個小技巧:有時當我們使用普通使用者打開一個檔案,修改了很多内容,在儲存的時候才發現沒有權限,此時需要使用sudo來寫入,指令如下:

:w !sudo tee %
           

vim常用設定:(寫入 /etc/vimrc 檔案或者~/.vimrc,永久生效)

set nu!            " 顯示行号
set tabstop=4      " tab鍵為4個空格
set autoindent     " 換行自動縮進
set shiftwidth=4   " 自動縮進時的寬度
set ts=4           " tabstop的寬度  
set softtabstop=4  " 倒退鍵
set paste          " 粘貼時不自動換行
set laststatus=2   " 顯示目前檔案名
%retab!            " vim屬性修改後需要執行此指令重載屬性配置
           

也可在終端設定是否顯示行号:

:set nu    " 顯示行号
:set nonu  " 不顯示行号
           

将所有tab,每個tab替換為4個空格

:set ts=4
:set expandtab
:%retab!
           

将所有空格以4個為機關,替換成tab

空格替換為TAB:
:set ts=4
:set noexpandtab
:%retab!
           

vim字元串替換

:s/old/new/              " 目前行old的第一次出現改為new
:s/old/new/g             " 目前行所有old改為new
:50,100s/old/new/g       " 目前檔案50到100行所有old改為new
:1,$s/old/new/g          " 目前檔案所有old改為new
:%,$s/old/new/g          " 目前檔案所有old改為new
           

撤銷和恢複

u:撤銷上一步的操作
Ctrl+r:恢複上一步撤銷的操作
           

如果在終端要使用vim打開多個檔案,可以:

橫向分割顯示:

vim -o filename1 filename2
           

縱向分割顯示:

vim -O filename1 filename2
           

如果已經用vim打開了一個檔案,想要在視窗中同時再打開另一個檔案(其中,vs可以用vsplit替換,sp可以用split替換,如果finename不存在,則會建立該檔案并打開):

橫向分割顯示:

:vs filename
           

縱向分割顯示:

sp filename
           

關閉光标所在的視窗

:q 
或 
:close
           

關閉除光标所在的視窗之外的其他視窗

:only
           

關閉所有視窗

:qa
           

切換視窗

ctrl + w w       " 即按住ctrl鍵,再按兩下w鍵。
或
ctrl + w         " 即按住ctrl鍵,按一次w鍵,再按一次表示方向的h或j或k或l,則光标會切換到目前視窗的 左|下|上|右 側的視窗
           

檔案間切換

Ctrl+6    " 下一個檔案
:bn       " 下一個檔案
:bp       " 上一個檔案
           

vim 臨時退出

方法一:使用 Ctrl-z 以及 fg 這兩個指令組合。

  這一解決方法主要利用了 Linux/Unix 的作業機制。

    具體原理是:Ctrl-z 指令将目前的 Vi/Vim 程序放到背景執行,之後 shell 環境即可為你所用;

    fg 指令則将位于背景的 Vi/Vim 程序放到前台執行,這樣我們就再次進入 Vi/Vim 操作界面并恢複到原先的編輯狀态。

方法二:使用行指令 :sh。

  在 Vi/Vim 的正常模式下輸入 :sh即可進入 Linux/Unix shell 環境。在要傳回到 Vi/Vim 編輯環境時,輸入 exit 指令即可。

  這兩種方法實作機制不一定,但效果一樣,都非常快捷有效。

繼續閱讀