Linux系列文章 —— vim的基本操作(误入vim退出请先按「ESC」再按:q不保存退出,相关操作请阅读本文)
系列文章目录
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编辑器
先按「ESC」
请根据自己情况决定退出操作
- 误入vim,不想修改文件,希望安全退出,请输入:q!
如果你是误入vim编辑器的纯小白,为了防止你对文件进行误修改,:q!强制退出对文件的修改不会进行保存。
- 已经按自己需求对文件进行编辑,需要保存并退出,请输入:wq
对有较为明确的目的去修改文件,但不知道如何进行保存并退出的操作,:wq可以进行保存并退出的操作。
恭喜你成功退出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不保存退出,相关操作请阅读本文)相关推荐
- 【Linux系列文章】基本命令介绍
Linux系列文章 第五章 基本命令 文章目录 Linux系列文章 1.常用快捷键 2.文件目录类 3.时间日期类 3.1显示时间 3.2 date 设置系统时间 3.3 查看日历 4.用户管理命令 ...
- 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.先返回到一般 ...
- linux学习笔记:vim编辑器基本操作(附vim 键盘图)
vim 有三种模式: 命令模式(Command mode) 插入模式(Insert mode) 底线命令模式(Last line mode) 默认打开vim,即进入命令模式. 接下来,英文输入状态下, ...
- Linux系列:Ubuntu/fedora实用小技巧—禁止自动锁屏、设置免密码自动登录、免密码执行sudo操作...
首先声明:该文虽以Ubuntu 13.04为例,同样适用于Fedora 17(已测试),但在较低版本的Ubuntu下可能有所差异,具体看后面的注意事项. 技巧目录: 解决Ubuntu下每隔几分钟自动锁 ...
- linux锁屏自动登录,Linux系列:Ubuntu/fedora实用小技巧—禁止自动锁屏、设置免密码自动登录、免密码执行sudo操作...
首先声明:该文虽以Ubuntu 13.04为例,同样适用于Fedora 17(已测试),但在较低版本的Ubuntu下可能有所差异,具体看后面的注意事项. 技巧目录: 解决Ubuntu下每隔几分钟自动锁 ...
- <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使用 ...
- <Linux> 软件包管理器yum及编辑器vim的使用
文章目录 一.yum的背景知识 1. 商业生态 2. 开源生态 3. 软件生态本土化 二.yum 的基本使用 1. 查看软件包 2. 安装.卸载.搜索软件 实现Windows下和Linux下文件互传 ...
- 【Vim】基本操作及命令集详解
概述 Vim 是从 vi 发展出来的一个文本编辑器.vi 内置在Linux系统中,是vim的简化版编辑器,vim则需要进行安装使用.Vim代码补全.编译及错误跳转等方便编程的功能特别丰富,可以实现高效 ...
- 【Linux】软件包管理器 yum 与编辑器 vim 的基本使用
文章目录 一.yum 背景知识 1.商业生态 2.开源生态 3.软件生态本土化 二.yum 的基本使用 1.查看软件包 2.安装软件 3.卸载软件 三.vim 的基本使用 1.vim 的基本概念 2. ...
最新文章
- spring21:Aspectj实现后置通知@AfterReturning
- C# Socket编程
- 借助码云快速安装 golang.org/x/lint/golint 和 golang.org/x/tools/ 等依赖
- 光学模拟 Android,基于Android平台的光学字符识别应用的设计与实现
- python的pygame库使用方法_python基础教程使用Python第三方库pygame写个贪吃蛇小游戏...
- 【英语学习】【Daily English】U02 Daily Routine L02 I go to the gym every other day
- 【Java】关于Java编程软件idea快捷键的使用
- servlet多重映射_【简答题】请简要概述什么是Servlet的多重映射,并列出Servlet多重映射的实现方式。...
- TortoiseSVN修改服务器地址的方法
- readonly(C# 参考)
- #今日论文推荐# XAI+网络安全?布兰登大学等最新《可解释人工智能在网络安全应用》综述,33页pdf阐述其现状、挑战、开放问题和未来方向
- 美金融犯罪执法局文件遭泄露:汇丰、摩根大通、渣打等国际大行涉嫌非法转移资金...
- 微信屏蔽网址解决办法 如何恢复微信访问拦截 微信网页拦截怎么办
- 手把手教你如何PCB板材选型(二)
- ShaderGUI的学习
- 安卓开发就等同于Java编程么?不懂的进来看看吧
- 手把手教你轻松下载百度网盘超大文件
- Log4j simple example
- 将Yolo格式标注文件转换为VOC格式
- 悟空号 量子计算机,“悟空号”首席科学家常进做客物理学院研究生学术周末...