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

相关推荐
安冬的码畜日常43 分钟前
【Mastering Vim 2_05】第四章:深入理解 Vim 的结构化文本
编辑器·vim·undotree·文本编辑·ctags·youcompleteme·结构化文本
你好呀我是裤裤1 小时前
Linux基础开发工具的使用(apt、vim、gcc、g++、gdb、make、makefile)
linux·运维·vim
望获linux1 小时前
如何在望获实时 Linux & 京博航友善 NanoPC-T6 上部署 Docker
linux·运维·服务器·docker·eureka·开源软件
wangchen_01 小时前
linux编译器和自动化构建工具(gcc与Makeile)
linux·运维·服务器
DC_BLOG1 小时前
Linux-Ansible命令
linux·运维·服务器·ansible
suenpeng1 小时前
安全运维,等保测试常见解决问题。
linux·运维·安全
码农君莫笑1 小时前
Linux系统上同时打印到物理打印机并生成PDF副本方法研究
linux·前端·chrome·打印·信管通
马剑威(威哥爱编程)2 小时前
Linux驱动开发13个实用案例
linux·运维·驱动开发
莲动渔舟2 小时前
国产编辑器EverEdit - 语法着色及嵌入式多语言着色
编辑器·emeditor·notepad·everedit
莲动渔舟2 小时前
国产编辑器EverEdit - 如何在EverEdit中管理工程?
编辑器·emeditor·notepad·everedit