Hi, 我是你們的老朋友,主要專注于嵌入式軟件開發,有興趣不要忘記點擊關注【碼思途遠】
目錄
1.認識 Vim的幾種工作模式
2.高頻使用命令
2.1 修改文件
2.2 關于行號
2.3 刪除多行,刪除部分
2.4 復制粘貼
2.5 光標移動
2.6 撤銷命令
2.7 翻頁命令
2.8 查找和跳轉
2.9 替換文本
2.10 退出
Vim 命令大全
總結
Vim 對于做Linux 嵌入式相關的工作,Vim 應該都比較熟悉,本章節將總結一些使用頻率較高的一些相關操作,一些少用的這里就不再做介紹,說得太多,也記不住,以下將以實際情景進行介紹,基本可以完成相關基礎操作。
0. ctags -R
ctags -R
這個確實不是vim命令,但是為什么第一個就要介紹它,因為在Linux 中,如果使用Vim進行瀏覽代碼跳轉都是非常有用,所以一般會在代碼的根目錄下輸入:
ctags -R
1.認識 Vim的幾種工作模式
提到Vim 可能還不知道有幾種工作模式,根據網上分類有多種方式,有分3類,4類,6類,7類等等,這里考慮常用的方式分類為4種模式:
從vim file.c
開始進入的模式叫做?Normal 模式
;
當處于Normal模式
下,輸入i
,a
,o
可以進入Insert 模式
,也就是我們經常編輯的文件模式,退出Insert 模式
直接按下Esc
返回到Normal模式
;
當處于Normal 模式
下,輸入v
或者V
進入Visual 模式
可以進行選擇文本,進行一些剪切,復制等操作,按下Esc
可以返回Normal 模式
;
當屬于Normal 模式
下,輸入:
可以進入Command 模式
,命令以回車的方式又返回到Normal 模式
;
2.高頻使用命令
2.1 修改文件
# vim 打開文件
vim file.c
# 輸入i 就可以正常的操作,添加,刪除等操作,通過上下左右進行移動光標;
2.2 關于行號
# 顯示行號
:set nu
# 跳轉到xxx行號
:xxx
# 不要顯示行號
:set no nu
2.3 刪除多行,刪除部分
# 1. 非編輯模式下
# 刪除當前行,按下dd
?
# 刪除多行,光標所在開始數,行數和d結合
# 刪除4行,按下:4d
?
?
# 2. 編輯模式下:
# 刪除范圍
2.4 復制粘貼
# 1. 采用行號為單位的復制
?
# yy 復制當前行
# p 在當前行下粘貼
# np 粘貼n次
?
# nyy 復制n行
?
# 2. Visual 模式下復制粘貼
?
# 按v進入可視模式,(大V是行可視化,小v是字符可視化,Ctrl+v 是塊可視化)
# 按下ctrl , 通過上下左右進行選擇區域,或者j,k,h,l選擇范圍
# 移動文件尾部G ,文件頭部gg
?
# 按下p 粘貼
2.5 光標移動
# 1. 方向性的有 ikhl
?
# 2. 移動到文件頭 gg, 移動到尾部 G
?
# 3. 移動到行首
2.6 撤銷命令
# 小寫u 撤銷
# 大寫U 撤銷對整行的操作
# Ctrl+r 即撤銷的撤銷
2.7 翻頁命令
# Ctrl+f 向下翻一頁
# Ctrl+b 向上翻一頁
?
# 當然你使用PgUp PgDn 也行。
2.8 查找和跳轉
# 查找
# /abc abc為你要查找的字符串
# /^abc 以abc為行首的行
# /abc$ 以abc為行尾的行# n 往后查找
# N 往前查找# 跳轉行號
# :n n為行號
2.9 替換文本
# 當前文本中的admin 全部替換成 hywelstar
# :1,$s/admin/hywelstar/g
2.10 退出
# :wq 保存并退出
# :q! 不保存并強制退出
# :w file 保存到file 文件去
# 按下ZZ 直接退出
Vim 命令大全
這張圖應該都見過,比較全面
總結
本章節主要對Vim
在工作中常用的命令進行整理,只需要掌握以上10個重要的,問題不大,再結合ctags 應該會更方面。如果不想使用Vim
, 當然可以使用常用的代碼編輯工具eclipse, vscode , Source insight 等工具,但有時候在服務器上這種無界面畫或者又沒有samba, nfs 這種服務,采用Vim 看看。
推薦閱讀:
vim mode tips