vim文本編輯器:
? ? 是一款可以無界面的情況下編寫代碼的工具,所有UNIX、Linux系統(tǒng)自帶的都有,通用性強。
? ? 可以進行自定義、二次開發(fā),被稱為成長型的神器,vim是vi的增強版,一般Linux系統(tǒng)需要手動安裝,ubuntu系統(tǒng)的安裝指令是:sudo apt-get install vim。
vim的簡單用法:
? ? 1、vim filename.c 文件如果存在則打開文件,不存在則會新建一個文件。
? ? 2、按i鍵,可以編輯內容。
? ? 3、編輯完成后按ESC鍵退出編輯,按兩下ZZ(Shift+z)保存退出。
vim的三大主要模式和模式切換:
? ? 正常模式:是進入vim的默認模式,主要用于閱讀文件,或通過快捷鍵修改文件。
? ? 插入模式:主要用于編輯文件的內容。
? ? 行底模式:主要用于對vim進行一些設置,或執(zhí)行一些命令。
? ? 模式切換方法:
? ? ? ? 正常模式切換到插入模式:i
? ? ? ? 插入模式切換加正常模式:ESC、Ctrl+c
? ? ? ? 正常模式切換到行底模式:輸入冒號
? ? ? ? 行底模式切換加正常模式:ESC、Ctrl+c
? ? ? ? 注意:插入模式與行底模式之間不能直接切換,必須經過正常模式中轉。
正常模式下的操作:
? ? 在行底模式下:set nu 顯示行號
? ? 光標移動:
? ? ? ? h左 j下 k上 l右 光標的上下左右移動,在vim中可以使用方向鍵移動,但在vi中只能使用hjkl。
? ? ? ? page down 光標向下跳轉一頁。
? ? ? ? page up 光標向上跳轉一頁。
? ? ? ? home 光標跳轉到行首
? ? ? ? end 光標跳轉到行尾
? ? ? ? gg 光標跳轉到文件的最后一行
? ? ? ? G 光標跳轉到文件的第一行
? ? ? ? nG 光標跳轉到第n行
? ? ? ? n+up 光標向上跳轉n行
? ? ? ? n+down 光標向下跳轉n行
? ? ? ? vim file.c +n 進入vim后光標跳轉到第n行
? ? 刪除內容:
? ? ? ? x 刪除一個字符
? ? ? ? nx 刪除n個字符
? ? ? ? dw/de 刪除一個單詞
? ? ? ? dd 刪除一行
? ? ? ? ndd 刪除n行
? ? ? ? d$/D 從當前光標位置刪除到行尾
? ? ? ? d^ 從當前光標位置刪除到行首
? ? 復制內容:
? ? ? ? yw/ye 復制一個單詞
? ? ? ? yy/Y 復制一行
? ? ? ? nyy 復制n行
? ? ? ? y$ 從當前光標位置復制到行尾
? ? ? ? y^ 從當前光標位置復制到行首
? ? ? ? p 把復制的內容粘貼光標的后面 小寫
? ? ? ? P 把復制的內容粘貼光標的前面 大寫
? ? 移動內容:
? ? ? ? 刪除的內容還存在在緩沖區(qū),使用p/P粘貼到新位置,就達到了移動內容的效果。
? ? 替換內容:
? ? ? ? r<x> 把光標所在的字符替換成<x>
? ? ? ? cw/ce 替換一個單詞(刪除單詞進入插入模式)
? ? ? ? R 進入替換模式,按ESC、Ctrl+c退出替換模式。
? ? ? ? xp 可以快速調換兩字符的位置。
? ? 撤銷操作:
? ? ? ? u 撤銷一次操作,可以連續(xù)使用多次
? ? ? ? U 撤銷當前行的所有操作,回到最初狀態(tài),但只能撤銷一次。
? ? ? ? Ctrl+r 取消撤銷操作
? ? 進入插入模式的多種方法:
? ? ? ? i 在當前光標的前面進入插入模式
? ? ? ? I 光標跳轉到行首進入插入模式
? ? ? ? a 在當前光標的后面進入插入模式
? ? ? ? A 光標跳轉到行尾進入插入模式
? ? ? ? o 在光標下面添加一個空白行,然后進入插入械
? ? ? ? O 在光標上面添加一個空白行,然后進入插入械
? ? 查找內容:
? ? ? ? /key+Enter n向下查找,N向上查找
? ? 保存退出:ZZ
插入模式下的操作:
? ? 該模式主要用于編輯內容,快捷鍵不多。
? ? Ctrl+i 相當于Tab鍵的功能,用于代碼縮進。
? ? Ctrl+j 相當于回車鍵的功能
? ? Ctrl+c 相當于ESC鍵的功能
? ? Ctrl+h 相當于Backspace鍵的功能。
? ? Ctrl+p/n 自動補全,寫代碼時非常好用
行底模式下的操作:
? ? !cmd 執(zhí)行系統(tǒng)命令。
? ? w 保存內容
? ? q 退出,如果內容有發(fā)生修改,用q無法退出
? ? wq 保存退出
? ? q! 強制退出
? ? x 保存退出,但只保存內容
? ? X 加密,wq保存密碼退出
? ? set key= , wq保存退出,會刪除掉密碼
? ? %s/old/new 全文替換,會在下方告訴你替換了多少次
? ? >n 從光標所行開始,下面n行代碼向右縮進
? ? <n 從光標所行開始,下面n行代碼向左縮進
? ? set nu 顯示行號
? ? set nonu 不顯示行號
? ? 注意:在行底模式下對vim進行的設置,只是臨時有效,vim退出后就失效了,要想長期有效就要把這些設置命令寫入vim的配置文件,vim的配置文件在:~/.vimrc