Vi/Vim常用命令(附快捷切換方法)


  vi/vim有兩種模式,正常(命令行)模式 編輯模式,在命令行模式下,任何鍵盤輸入都是命令,在編輯模式下,鍵盤輸入的才是字符。

啟動/關閉Vi/Vim


啟動:
vi 打開 Vi/Vim編輯器
vi 文件名 打開 Vi/Vim 並加載文件(如果文件不存在,就會新建文件)

修改文件名:

mv 原文件名(加后綴) 要改成文件名

退出:

:w回車   存盤

:w!回車  強制存盤

:wq回車 存盤退出

:x回車    存盤退出

:q回車  不存盤退出

:q!回車  不存盤強制退出

ZQ回車 不存盤強制退出

(后面跟上 ! 就是強制)

快捷切換(很好用):

使用Ctrl-zfg這兩個鍵來回切換(Ctrl-z將vi/vim進程放到后台執行,此時回到shell環境;fg則將位於后台的vi/vim進程放到前台執行,繼續擼代碼大聲笑

 

還有一種方法,在 Vi/Vim 的正常模式下輸入:sh即可進入 Linux/Unix shell 環境。在要返回到 Vi/Vim 編輯環境時,輸入 exit 命令即可。

Esc      從vi/vim編輯模式切換到正常(命令行)模式

多窗口編輯

  vim 文件1 文件2     同時打開或創建兩個文件

  :n     切換到下個文件

  :N    切換到上個文件

  :sp 文件1     在vim內輸入,將在另外一個窗口打開文件1,可實現兩個文件上下屏編輯(文件名留空是分屏打開本文件)

  Ctrl+w     按住Ctrl連點兩下w可實現上下編輯窗口光標切換

退出保存正常操作

移動光標


光標:

       k   類似方向鍵上

       j    類似方向鍵下

       h   類似方向鍵左

       l    類是方向鍵右

頁:

       Ctrl+u       向上移動半頁

       Ctrl+d       向下移動半頁

行:

       gg  光標跳到文本的第一行

       G    光標跳到文本最后一行

       0    光標跳到所在行的行首

       $    光標跳動到所在行的行尾

       :5回車   光標跳到第5行。

       :n回車   光標跳到第n行。

單詞:

       w    光標跳到下個單詞的開頭

       b    光標回到上個單詞的開頭

       e   光標回到本單詞的尾部

插入


       i    從光標所在字符前插入 

       a   從光標所在的字符后面插入

       o   從光標所在行的下面插入空白行

       O   從光標所在行的上面插入空白行

       I    從光標所在行的行首插入

       A   從光標所在行的行末插入

編輯


刪除

x     每按一次,刪除光標所在位置的一個字符

nx  如"3x"表示刪除光標所在位置開始的3個字符

dw  刪除當前光標所在的單詞

dd   刪除光標所在行

ndd  如"3dd"表示刪除光標所在行開始的3行字符

復制

yy  將光標所在行復制到緩沖區

nyy 將光標所在n行復制到緩沖區

粘貼

p    將緩沖區里的內容寫到光標所在位置

     

>>右縮進;<<做縮進;(配合操作數使用,在編輯源碼的時候非常有用。相當於批量縮進)

u   撤銷命令,可多次撤銷

.    重復執行上一次執行的vi/vim命令。

Ctl+insert   復制鼠標選中的文本,相當於Ctl+c

Shift+insert 輸出鼠標選中的文本,相當於Ctl+v

(以上兩個命令在windows和UNIX中是通用的)

文本搜索替換


r     替換光標所在處的字符 replace

R   替換光標所在處的字符,直到按下"Esc"為止

cw 開始替換當前光標所在的單詞,直到按下"Esc"為止

J   把當前行的下一行接到當前行的尾部

Ctrl+g 列出文件一共有多少行

nG 表示移動光標到文件的第n行行首

 

/abcd  在當前打開的文件中查找“abcd”文本內容

n      查找下一個

N      查找上一下

 :g/aaaaaaaaa/s//bbbbbb/g回車    把文件中全部的aaaaaaaaa替換成bbbbbb

~   對光標當前所在的位置的字符進行大小寫轉換。

Vi/Vim設置


要使以下設置下次繼續生效需要修稿配置文件

我用的Linux:

  1)用vim打開.vimrc文件:

    個人用戶配置:vim ~/.vimrc

    全局配置(由root賬戶,全部子賬戶都生效):vim /etc/vimrc   或    vim /etc/vim/vimrc

  2)設置你需要的功能(可以直接復制文末給出的自用配置參數)

  3)保存並關閉(:wq)

 

查看設置的當前值
:set all 查看 vi 或 Vim 中設置的所有選項的當前值
:set <option>? 查看特定選項 <option> 的當前值

設置行號顯示與否
:set number 顯示行號
:set no number 取消行號顯示
命令的簡寫形式:
:set nu
:set no nu

設置自動縮進
:set autoindent 設置自動縮進
:set no autoindent 取消自動縮進設置
命令的簡寫形式:
:set ai
:set no ai

設置縮進寬度
:set shiftwidth=4 設置縮進寬度為 4
命令的簡寫形式:
:set sw=4

(Linux可能修改Tab鍵寬度更合適  :set tabstop=4)

設置大小寫忽略與否
:set ignorecase 設置忽略大小
:set no ignorecase 取消忽略大小設置
命令的簡寫形式:
:set ic
:set no ic

設置不可見字符顯示與否
:set list 顯示不可見字符
:set nolist 取消顯示不可見字符設置
在顯示不可見字符的情況下,TAB 鍵顯示為 ^I,而 $ 顯示在每行的結尾。

修改自動換行字符上限

:set textwidth=200  或者:
:set tw=200

(默認是72)


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM