Linux编译器vim的使用

文章目录

vim基本概念

vim是Linux下的一个多模式的编译器 简单来说就是写代码的工具 不提供编译调试等功能

有语法高亮功能 可视化操作不仅可以在终端运行 还可以运行与x windows mac os windows

vim的常用三种模式

1、命令模式
控制光标的移动 字符,字或行 的删除 ,移动复制某区段

以及切换到插入模式和底行模式下
2、插入模式 (使用最频繁的模式)
只有在插入模式下 才可以进行文字的输入

以及切换到命令模式
3、底行模式
文件保存或退出 也可以进行 文件替换 找字符串 列出行号等

以及切换到命令模式

vim三种模式的相互转换


命令模式切换到插入模式
输入a:进入插入模式后 从目标光标所在位置的下一个位置开始输入文字
输入i: 进入插入模式后 从光标当前位置开始输入
输入0:进入插入模式后 插入新的一行 从行首开始输入文字
命令模式 切换到底行模式
输入shift+;
插入模式/底行模式切换命令模式
按ESC即可
插入模式和底行模式之间不能相互转换

vim命令模式下的命令集

移动光标

  • vim可以直接使用键盘来控制光标的上下左右移动,正规的vim使用的是小写字母h j k l 分别控制光标左下上右移动一格 也可以使用方向键进行移动
  • G :移动到文章的最后
  • gg:进入到文本开始
  • $(shift+4):移动到光标所在行的行尾
  • ^(shift+6):移动到光标所在行的行首
  • n+Enter:光标向下移动n行
  • n+l:光标进去到改行的第n个位置
  • ctrl+b :屏幕向前翻一页
  • ctrl+f:屏幕向后翻一页
  • ctrl+u:屏幕向前翻半页
  • ctrl+d:屏幕向后翻半页
  • w:光标进入到下个字的开头
  • e:光标进入到下个字的自尾
  • b:光标回到上个字的开头

删除文字

  • x:每按一次删除光标所在位置一个字符
  • n+x:删除光标所在位置后面的n个字符
  • X:删除光标所在位置前一个字符
  • n+X:删除光标所在位置后前面的n个字符

剪切/删除

  • dd:剪切/删除光标所在行
  • n+dd:从光标所在行开始剪切/删除n行
  • p:将剪切的内容复制到光标所在位置下一行
  • n+p:将剪切的内容复制到光标所在位置下一行开始复制n行

复制

  • yy:复制光标所在行到缓冲区
  • n+yy:复制从光标所在行往下数n行字符到缓冲区
  • p:将缓冲区的字符粘贴到光标所在位置下一行
  • yw:将光标所在位置到字尾的字符复制到缓冲区
  • n+yw:复制n个字到缓冲区

替换

  • r: 替换光标所在处的字符
  • R:替换光标所在位置的字符 直到按下esc停止uu
  • ctrl+~:快速切换大小写

撤销和恢复

  • u:撤销
  • ctrl+r:恢复

跳转至指定行

  • n+G:移动到第n行行首

vim底行模式下的命令集

在使用底行模式之前 先按ESC键确定自己处于命令模式 然后再按shift+;进入底行模式

  • 输入 set nu:按回车后在文件中的每一行前列出行号
  • 输入 set nonu:按回车后在文件中的取消列出的行号
  • 输入数字:按回车后就会跳转到该行行首
  • 输入w:保存文件
  • 输入w!:强制保存
  • 输入q:退出文件
  • 输入q!:强制退出文件
  • 输入wq:保存并退出文件
  • 输入vs+文件名:进行多文件操作
  • 输入ctrl+ww:光标在不同文件中切换
  • !+其他指令 :在不退出vim的情况下执行Linux其他命令
相关推荐
ascarl20103 小时前
记录一下es节点掉线后修复好了的情况
运维·jenkins
阿巴~阿巴~3 小时前
JsonCpp:C++ JSON处理利器
linux·网络·c++·json·tcp·序列化和反序列化
ao_lang3 小时前
数据链路层
linux·服务器·网络
safestar20123 小时前
Elasticsearch深度实战:从分布式原理到生产环境踩坑全记录
运维·搜索引擎·全文检索·es
z***3354 小时前
【MySQL系列文章】Linux环境下安装部署MySQL
linux·mysql·adb
偶像你挑的噻4 小时前
13-Linux驱动开发-中断子系统
linux·驱动开发·stm32·嵌入式硬件
小兔薯了5 小时前
7. LNMP-wordpress
android·运维·服务器·数据库·nginx·php
福尔摩斯张5 小时前
Linux进程间通信(IPC)机制深度解析与实践指南
linux·运维·服务器·数据结构·c++·算法
cookies_s_s5 小时前
项目--协程库(C++)前置知识篇
linux·服务器·c++
不过普通话一乙不改名5 小时前
Linux 网络发包的极致之路:从普通模式到 AF_XDP ZeroCopy
linux·运维·网络