工作中常用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

相关推荐
何大春9 分钟前
Ubuntu开机The root filesystem on /dev/sdbx requires a manual fsck 问题
linux·运维·服务器·ubuntu
satadriver41 分钟前
ubuntu安装firefox
linux·ubuntu·firefox
小林熬夜学编程44 分钟前
【Linux网络编程】第十九弹---深入探索:五种IO模型与高级IO概念,揭秘非阻塞IO实战
linux·运维·服务器·开发语言·网络·c++
晨之清风1 小时前
Windows通过X11转发显示远程Linux上的图形界面
linux·运维·windows·x11转发
wit_yuan1 小时前
openbmc sdk09.03 适配(一)
linux·服务器·嵌入式硬件
友友马2 小时前
『 Linux 』高级IO (二) - 多路转接
linux·运维·服务器
木颤简叶4 小时前
Linux命令——4.重定向、管道
linux
猫一样的妩媚5 小时前
C与语言GDB调试
linux·c语言
小米先森9 小时前
04 文件IO
linux