系列文章目录

vim-操作篇
进程概念篇
进程地址空间篇


文章目录

  • 系列文章目录
  • 前言
  • 一、vim的基本概念
  • 二、vim的基本操作
    • 1.退出vim编辑器
    • 2.进入vim编辑器
    • 3.模式功能及切换
  • 三、vim命令模式命令集
    • 1.光标移动
    • 2.查找字符
    • 3.复制粘贴删除
    • 4.撤销、重做与重复做
    • 5.插入模式
    • 6.保存与退出
    • 7.环境修改
  • 四、总结
    • 1.vim的三种基本模式
    • 2.vim基本操作

前言

Linux,是一种免费使用和自由传播的类UNIX操作系统,是一个基于POSIX的多用户、多任务、支持多线程和多CPU的操作系统。它能运行主要的Unix工具软件、应用程序和网络协议。Linux继承了Unix以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统。博主将全程带领大家学习Linux的相关知识,本系列文章参考《鸟哥的Linux私房菜》推荐大家进行阅读学习。


一、vim的基本概念


vim分为三种基本模式:

  • 命令模式(Normal mode)
    控制屏幕光标的移动,字符、字或行的删除,移动复制某区段及进入Insert mode下,或者到 last line mode
  • 插入模式(Insert mode):只有在Insert mode下,才可以做文字输入,按「ESC」键可回到命令行模式。该模式是我们后面用的最频繁的编辑模式。
  • 底行模式(last line mode):文件保存或退出,也可以进行文件替换,找字符串,列出行号等操作。 在命令模式下,shift+: 即可进入该模式。要查看你的所有模式:打开vim,底行模式直接输入。

二、vim的基本操作

1.退出vim编辑器

  1. 先按「ESC」

  2. 请根据自己情况决定退出操作

    • 误入vim,不想修改文件,希望安全退出,请输入:q!

    如果你是误入vim编辑器的纯小白,为了防止你对文件进行误修改,:q!强制退出对文件的修改不会进行保存。

    • 已经按自己需求对文件进行编辑,需要保存并退出,请输入:wq

    对有较为明确的目的去修改文件,但不知道如何进行保存并退出的操作,:wq可以进行保存并退出的操作。

  3. 恭喜你成功退出vim,如果有相关需求,请仔细阅读本文,了解vim的相关操作。

2.进入vim编辑器

vim [文件名]

注意:进入vim之后是出于[命令模式],命令模式下无法对内容进行直接编辑。

3.模式功能及切换


[命令模式] 切换到 [插入模式]

  • 输入 i
  • 输入 a
  • 输入 o

当处于[插入模式],可以进行文本编辑

[插入模式]切换至[命令模式]

  • 按「ESC」

当想退出[插入模式]时可以先按一下「ESC」键转到[正常模式]。

[命令模式]切换至[底行模式]

  • 「shift + ;」, 其实就是输入「:」
  • : w(保存当前文件)
  • : q(不保存直接退出vim)
  • : wq(存盘并退出vim)
  • : q!(强制退出)

当处于底行模式时可以保存退出,或者运行其他指令

三、vim命令模式命令集

1.光标移动

输入 功能
h 或 ← 光标向左移动一个字符
j 或 ↓ 光标向下移动一个字符
k 或 ↑ 光标向上移动一个字符
l 或 → 光标向右移动一个字符
0 移动到光标所在行的开头位置
$ 移动到光标所在行的结尾位置
G 移动到文件的最后一行
nG 移动到第n行
gg 移动到文件的第一行 == 1G
n[Enter] 光标向下移动n行 == nj

2.查找字符

输入 功能
/str 光标向下寻找名为str的字符串
?str 光标向上寻找名为str的字符串
n 光标向下继续寻找名为str的字符串
N 光标向上继续寻找名为str的字符串

3.复制粘贴删除

输入 功能
x 向后删除一个字符
X 向前删除一个字符
nx 向后删除n个字符
nX 向前删除n个字符
dd 删除(剪切)光标所在的那一整行
ndd 删除(剪切)光标所在的向下n行
d$ 删除(剪切)光标所在处到该行结尾的所以字符
d0 删除(剪切)光标所在处到该行开头的所以字符
yy 复制光标所在的那一行
nyy 复制光标所在行及其向下n行
y$ 复制光标所在处到该行结尾的所以字符
y0 复制光标所在处到该行开头的所以字符
p 将已复制(剪切)的数据在光标的下一行向下进行粘贴
P 将已复制(剪切)的数据在光标的所在行向上进行粘贴

4.撤销、重做与重复做

输入 功能
u 恢复前一个操作,win下的[Ctrl]+z操作
[Ctrl]+r 重做前一个操作,win下的[Ctrl]+[Shift]+z操作
. 重复前一个操作,例如重复删除,重复粘贴

5.插入模式

输入 功能
i 从目前光标处插入
I 从目前光标所在行的第一个非空格符处开始插入
a 从目前光标所在的下一个字符处开始插入
A 从目前光标所在行的最后一个字符处开始插入
o 在目前光标所在行的下一行处插入新的一行
O 在目前光标所在行的上一行处插入新的一行
r 替换光标所在处的一个字符
R 会一直替换自光标开始向后的字符,直到按下「ESC」停止

6.保存与退出

输入 功能
:w 将编辑的内容写入硬盘文件中
:w! 若文件属性为只读时强制写入该文件。至于是否可以成功写入,与你对该文件的文件权限有关
:q 退出vim
:q! 若曾修改过文件,但又不想保存,可以不保存强制退出
:wq 保存后退出
:wq! 强制保存后退出
:ZZ 若文件没有修改,则不保存退出;若文件修改,则保存退出
:w [filename] 将编辑的文件另存为[filename]文件中
! command 可以在不退出vim的情况下使用Linux指令

7.环境修改

输入 功能
:set nu 显示vim编辑器行号
:set nonu 取消显示vim编辑器行号

注意:在vim中,数字通常表示重复做几次,或者是去到第几个位置的意思。


四、总结

1.vim的三种基本模式

  • 命令模式
  • 插入模式
  • 底行模式

2.vim基本操作

  • 打开,关闭,查看,查询,插入,删除,替换,撤销,复制等操作

Linux系列文章 —— vim的基本操作(误入vim退出请先按「ESC」再按:q不保存退出,相关操作请阅读本文)相关推荐

  1. 【Linux系列文章】基本命令介绍

    Linux系列文章 第五章 基本命令 文章目录 Linux系列文章 1.常用快捷键 2.文件目录类 3.时间日期类 3.1显示时间 3.2 date 设置系统时间 3.3 查看日历 4.用户管理命令 ...

  2. Vim案列掌握vim的基本操作——案例一:vim创建编写txt文件

    案例一:vim创建编写txt文件 1.vim创建test.txt文件 vim test.txt 2.输入i,I,a,A,o,O,r,R均可(这里以i为例) 3.保存文件并退出vim. a.先返回到一般 ...

  3. linux学习笔记:vim编辑器基本操作(附vim 键盘图)

    vim 有三种模式: 命令模式(Command mode) 插入模式(Insert mode) 底线命令模式(Last line mode) 默认打开vim,即进入命令模式. 接下来,英文输入状态下, ...

  4. Linux系列:Ubuntu/fedora实用小技巧—禁止自动锁屏、设置免密码自动登录、免密码执行sudo操作...

    首先声明:该文虽以Ubuntu 13.04为例,同样适用于Fedora 17(已测试),但在较低版本的Ubuntu下可能有所差异,具体看后面的注意事项. 技巧目录: 解决Ubuntu下每隔几分钟自动锁 ...

  5. linux锁屏自动登录,Linux系列:Ubuntu/fedora实用小技巧—禁止自动锁屏、设置免密码自动登录、免密码执行sudo操作...

    首先声明:该文虽以Ubuntu 13.04为例,同样适用于Fedora 17(已测试),但在较低版本的Ubuntu下可能有所差异,具体看后面的注意事项. 技巧目录: 解决Ubuntu下每隔几分钟自动锁 ...

  6. <Linux常用开发工具使用(yum、vim、gcc/g++、gdb、make/Makefile等)>——《Linux》

    目录 1.Linux 软件包管理器 yum 1.1什么是软件包: 1.2 关于 rzsz: 1.3 如何安装软件: 1.4 如何卸载软件: 2.Linux开发工具 3. Linux编辑器-vim使用 ...

  7. <Linux> 软件包管理器yum及编辑器vim的使用

    文章目录 一.yum的背景知识 1. 商业生态 2. 开源生态 3. 软件生态本土化 二.yum 的基本使用 1. 查看软件包 2. 安装.卸载.搜索软件 实现Windows下和Linux下文件互传 ...

  8. 【Vim】基本操作及命令集详解

    概述 Vim 是从 vi 发展出来的一个文本编辑器.vi 内置在Linux系统中,是vim的简化版编辑器,vim则需要进行安装使用.Vim代码补全.编译及错误跳转等方便编程的功能特别丰富,可以实现高效 ...

  9. 【Linux】软件包管理器 yum 与编辑器 vim 的基本使用

    文章目录 一.yum 背景知识 1.商业生态 2.开源生态 3.软件生态本土化 二.yum 的基本使用 1.查看软件包 2.安装软件 3.卸载软件 三.vim 的基本使用 1.vim 的基本概念 2. ...

最新文章

  1. spring21:Aspectj实现后置通知@AfterReturning
  2. C# Socket编程
  3. 借助码云快速安装 golang.org/x/lint/golint 和 golang.org/x/tools/ 等依赖
  4. 光学模拟 Android,基于Android平台的光学字符识别应用的设计与实现
  5. python的pygame库使用方法_python基础教程使用Python第三方库pygame写个贪吃蛇小游戏...
  6. 【英语学习】【Daily English】U02 Daily Routine L02 I go to the gym every other day
  7. 【Java】关于Java编程软件idea快捷键的使用
  8. servlet多重映射_【简答题】请简要概述什么是Servlet的多重映射,并列出Servlet多重映射的实现方式。...
  9. TortoiseSVN修改服务器地址的方法
  10. readonly(C# 参考)
  11. #今日论文推荐# XAI+网络安全?布兰登大学等最新《可解释人工智能在网络安全应用》综述,33页pdf阐述其现状、挑战、开放问题和未来方向
  12. 美金融犯罪执法局文件遭泄露:汇丰、摩根大通、渣打等国际大行涉嫌非法转移资金...
  13. 微信屏蔽网址解决办法 如何恢复微信访问拦截 微信网页拦截怎么办
  14. 手把手教你如何PCB板材选型(二)
  15. ShaderGUI的学习
  16. 安卓开发就等同于Java编程么?不懂的进来看看吧
  17. 手把手教你轻松下载百度网盘超大文件
  18. Log4j simple example
  19. 将Yolo格式标注文件转换为VOC格式
  20. 悟空号 量子计算机,“悟空号”首席科学家常进做客物理学院研究生学术周末...

热门文章

  1. 数列的极限和无穷大量
  2. 14家泰国银行支持利用区块链平台将合同数字化
  3. PDF不能复制或编辑:用Adobe acrobat将扫描版PDF转换为可编辑版本
  4. SEO,什么是SEO
  5. python抓取免费ip存入redis
  6. java语言写购物车_JavaWeb后台购物车类实现代码详解
  7. Java设计模式【1】
  8. redis分布式锁实践 并实现看门狗锁续期机制
  9. SIMT与SIMD的区别?
  10. 函数表达式与命名函数区别