关注+星号公众号,不容错过精彩
作者:HywelStar
Vim 对于做Linux 嵌入式相关的工作,Vim 应该都比较熟悉,本章节将总结一些使用频率较高的一些相关操作,一些少用的这里就不做介绍,太多,也记不住,以下将以实际情景进行介绍,基本可以完成相关基础操作。
0. ctags -R
ctags -R
这个确实不是vim命令,但是为什么第一个就要介绍它,因为在Linux 中,如果使用Vim进行浏览代码跳转都是非常有用,所以一般会在代码的根目录下第一件事就是输入:
ctags -R
1.认识 Vim的几种工作模式
提到Vim 可能还不知道有几种工作模式,根据网上分类有多种方式,有分3类,4类,6类,7类等等,这里考虑常用的方式分类为4种模式:
Normal模式, Insert 模式, Visual 模式,Command 模式;
从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. 移动到行首 0
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
在工作中常用的命令进行整理,还有关于.vimrc用法, 如果不想记太多,掌握以上10个重要的,问题不大,再结合ctags 应该会更方便,实在不想使用Vim
, 当然可以使用常用的代码编辑工具eclipse, vscode , Source insight 等工具,但有时候在服务器上这种无界面或者又没有samba, nfs 这种服务,采用Vim 看看。https://l-lin.github.io/tools/nvim/vim-mode-tips
往期推荐