工作中常用Vim的命令

Hi, 我是你们的老朋友,主要专注于嵌入式软件开发,有兴趣不要忘记点击关注【码思途远】


目录

[0. ctags -R](#0. ctags -R)

[1.认识 Vim的几种工作模式](#1.认识 Vim的几种工作模式)

2.高频使用命令

[2.1 修改文件](#2.1 修改文件)

[2.2 关于行号](#2.2 关于行号)

[2.3 删除多行,删除部分](#2.3 删除多行,删除部分)

[2.4 复制粘贴](#2.4 复制粘贴)

[2.5 光标移动](#2.5 光标移动)

[2.6 撤销命令](#2.6 撤销命令)

[2.7 翻页命令](#2.7 翻页命令)

[2.8 查找和跳转](#2.8 查找和跳转)

[2.9 替换文本](#2.9 替换文本)

[2.10 退出](#2.10 退出)

[Vim 命令大全](#Vim 命令大全)

总结


Vim 对于做Linux 嵌入式相关的工作,Vim 应该都比较熟悉,本章节将总结一些使用频率较高的一些相关操作,一些少用的这里就不再做介绍,说得太多,也记不住,以下将以实际情景进行介绍,基本可以完成相关基础操作。

0. ctags -R

ctags -R 这个确实不是vim命令,但是为什么第一个就要介绍它,因为在Linux 中,如果使用Vim进行浏览代码跳转都是非常有用,所以一般会在代码的根目录下输入:

bash 复制代码
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 修改文件

bash 复制代码
# vim 打开文件
vim file.c
# 输入i 就可以正常的操作,添加,删除等操作,通过上下左右进行移动光标;

2.2 关于行号

bash 复制代码
# 显示行号
:set nu
# 跳转到xxx行号
:xxx
# 不要显示行号
:set no nu

2.3 删除多行,删除部分

bash 复制代码
# 1. 非编辑模式下 
# 删除当前行,按下dd
​
# 删除多行,光标所在开始数,行数和d结合
# 删除4行,按下:4d
​
​
# 2. 编辑模式下:
# 删除范围
复制代码

2.4 复制粘贴

bash 复制代码
# 1. 采用行号为单位的复制
​
# yy 复制当前行
# p 在当前行下粘贴
# np 粘贴n次
​
# nyy 复制n行
​
# 2. Visual 模式下复制粘贴
​
# 按v进入可视模式,(大V是行可视化,小v是字符可视化,Ctrl+v 是块可视化)
# 按下ctrl , 通过上下左右进行选择区域,或者j,k,h,l选择范围
# 移动文件尾部G ,文件头部gg
​
# 按下p 粘贴

2.5 光标移动

bash 复制代码
# 1. 方向性的有 ikhl
​
# 2. 移动到文件头 gg, 移动到尾部 G
​
# 3. 移动到行首

2.6 撤销命令

bash 复制代码
# 小写u 撤销
# 大写U 撤销对整行的操作
# Ctrl+r  即撤销的撤销

2.7 翻页命令

bash 复制代码
# Ctrl+f 向下翻一页
# Ctrl+b 向上翻一页
​
# 当然你使用PgUp PgDn 也行。

2.8 查找和跳转

bash 复制代码
# 查找
# /abc abc为你要查找的字符串
# /^abc  以abc为行首的行
# /abc$  以abc为行尾的行

# n 往后查找
# N 往前查找

# 跳转行号
# :n n为行号

2.9 替换文本

bash 复制代码
# 当前文本中的admin 全部替换成 hywelstar
# :1,$s/admin/hywelstar/g 

2.10 退出

bash 复制代码
# :wq 保存并退出
# :q! 不保存并强制退出 
# :w file  保存到file 文件去
# 按下ZZ 直接退出

Vim 命令大全

这张图应该都见过,比较全面

总结

本章节主要对Vim在工作中常用的命令进行整理,只需要掌握以上10个重要的,问题不大,再结合ctags 应该会更方面。如果不想使用Vim, 当然可以使用常用的代码编辑工具eclipse, vscode , Source insight 等工具,但有时候在服务器上这种无界面画或者又没有samba, nfs 这种服务,采用Vim 看看。

推荐阅读:

vim mode tips

相关推荐
Joey_Chen31 分钟前
【What · Why · How】浅析select/poll/epoll与IO多路复用
linux·服务器
“αβ”1 小时前
线程安全的单例模式
linux·服务器·开发语言·c++·单例模式·操作系统·vim
gnawkhhkwang1 小时前
clock_nanosleep系统调用及示例
linux
渡我白衣2 小时前
综合:日志的实现
linux
嶔某2 小时前
网络:基础概念
linux·服务器·网络·c++
ArabySide2 小时前
【Linux】Ubuntu上安装.NET 9运行时与ASP.NET Core项目部署入门
linux·ubuntu·.net
字节高级特工2 小时前
【Linux篇】进程间通信:进程IPC
linux·运维·服务器
二向箔reverse3 小时前
在 CentOS 中安装 MySQL 的过程与问题解决方案
linux·mysql·centos
努力做小白3 小时前
Linux驱动22 --- RV1126 环境搭建&&设备树修改
linux·驱动开发·单片机·嵌入式硬件·rv1126
字节高级特工3 小时前
深入探索Linux:忙碌的车间“进程”间通信
linux·运维·服务器