linux系统中vi/vim文本编辑器的使用简介
linux系统中vi/vim文本编辑器的使用简介
1. vi/vim简介
vi/vim 是linux系统中最基本的编辑器,类似于windows系统中的记事本,几乎所有的linux开发版本都内置了vi/vim文本编辑器。vim是vi的增强版本,具有编程能力,可以实现代码高亮的功能。而linux系统最核心的思想就是**“一切皆文件”**,即在linux系统中,所有的设备、硬件、用户等等都以文件的形式进行存储。在使用linux系统时,最重要的工作就是要修改以及设置一些软件的配置文件,这些工作往往在命令行中进行,所以我们至少要掌握一种命令行编辑器的用法(本文主要介绍vim)。
虽然绝大多数的linux发行版本都内置的vi/vim编辑器,但不是所有,在开始使用之前一定要确保您的电脑安装了vim,如果没有安装可以执行下面的命令进行安装:
$ sudo apt install vim
2. vim的使用
2.1 vim的三种模式
首先先来介绍一下vim的三种模式:
- 一般命令模式(command mode):可以对文本进行复制、粘贴、删除,使用vim打开一个文件时默认进入一般命令模式。
- 编辑模式(insert mode):可以对文本进行编辑。
- 命令行模式(command-line mode):读取、存储文件等。
三种模式之间的转换关系如图所示:
注意:编辑模式和命令行模式之间不能相互转换!!!
2.2 用vim编辑一个文件
- 在opt目录下新建一个名为
Hello.java
的文件;
$ cd /opt
$ touch Hello.java
- 用vim编辑器对
Hello.java
文件进行编辑;
$ vim Hello.java
输入上述代码之后敲回车,按下i
进入编辑模式,在左下角会有提示;
- 输入下面的代码;
public class Hello {public static void main(String[] args) {System.out.println("Hello!");}
}
- 按下
esc
退出编辑模式,输入:
进入命令行模式,依次输入w
q
Enter
进行保存退出;
- 编辑完成。
2.3 一般命令模式下的按键说明
下面介绍常用的一般命令模式下的按键:
命令 | 功能说明 |
---|---|
0 | 数字0:移动到光标所在行的最前面字符 |
$ | 移动到光标所在行的最后面字符 |
gg | 移动到文件第一行 |
G | 移动到文件最后一行 |
:n1,n2s/word1/word2/g | n1,n2为数字:在n1行和n2行之间将word1替换为word2 |
:1,$s/word1/word2/g | 在整个文档之间将word1替换为word2 |
:1,$s/word1/word2/gc | 在整个文档之间将word1替换为word2,且在替换前提示用户确认是否替换 |
dd | 删除光标所在的一整行 |
yy | 复制光标所在的一整行 |
nyy | n为数字,复制光标所在的向下n行 |
p与P |
p:将已复制的数据在光标下一行粘贴 P:将已复制的数据在光标的上一行粘贴 |
u | 恢复上一个操作(撤销) |
以:1,$s/word1/word2/g
命令为例进行演示,其他命令相同
- 用vim打开
Hello.java
文件
$ vim Hello.java
输入
:
进入命令行模式输入
1,$s/public/PUBLIC/g
此时就会发现文件中所有的
public
变成了PUBLIC
,如图所示:
2.4 一般命令模式切换到编辑模式的可用按键
从一般命令模式进入编辑模式,可以通过下面的按键实现:
命令 | 功能说明 |
---|---|
i与I |
进入插入模式 i:从当前光标处插入 I:在目前所在行第一个非空格符处进行插入 |
a与A |
进入插入模式 a:从当前光标处的下一字符处插入 A:在目前所在行最后一个字符处进行插入 |
o与O(字母) |
进入插入模式 o:从当前光标的下一行处插入新的一行 O:从当前光标的上一行处插入新的一行 |
r与R |
进入替换模式 r:只会替换光标所在的那一个字符一次 R:会一直进行替换,直到按下ESC为止 |
2.5 一般命令模式切换到命令行模式的可用按键
命令 | 功能说明 |
---|---|
:w | 将编辑的数据写入磁盘中 |
:q | 退出vi/vim |
:wq | 保存后退出 |
:w! | 强制写入(当文件为只读时1) |
:q! | 强制退出(不保存) |
ZZ | 若文件没有修改则不保存退出,若文件已被修改过,则保存后退出 |
命令行模式的其他可用按键
命令 | 功能说明 |
---|---|
:set nu | 显示行号 |
:set nonu | 取消行号 |
在vim中执行:set nu
如图所示:
3. vim的可视区块
当我们要处理的内容是一个区块时,可以利用vim的可视区块。例如,我们要处理下面这种格式的文件:
192.168.1.1 host1 net
192.168.1.2 host2 net
192.168.1.3 host3 net
192.168.1.4 host4 net
192.168.1.5 host5 net
192.168.1.6 host6 net
192.168.1.7 host7 net
192.168.1.8 host8 net
192.168.1.9 host9 net
如果我们想将host1
~host9
复制到net
后面,可以在vim中进行如下的操作:
将光标移动到
host1
的h
处;按住
ctrl + v
,可以看到左下角显示:
按
→
将光标移动到host1
的1
处,此时可以看到选中的部分已经反白;按
↓
将光标移动到底部,此时发现host1
~host9
全部反白;按
y
复制反白范围;最后将光标移动打第一行的最后,按下
p
,处理结果如图所示:
4. vim的关键字补全功能
vim编辑器也提供了特定语法的关键字补全功能2;以html文件为例:
创建一个名为
test.html
文件;$ touch test.html
用vim编辑器打开;
vim test.html
假设文件中有以下代码:
<!DOCTYPE html> <html lang="en"> <head><meta charset="UTF-8"><title>Title</title> </head> <style></style> <body><form action="add" method="get">名称:<input type="text" name="fname"/><br>价格:<input type="text" name="fprice"/><br>库存:<input type="text" name="fcount"/><br>备注:<input type="text" name="remark"/><br><input type="submit" value="添加"/></form> </body> </html>
在
style
标签中想输入background-color,此时可以使用自动补全功能,在输入b
后按ctrl+x
后再按ctrl+o
会出现关键字补全提示,如图所示:
5. 总结
以上简要介绍了vim编辑器的一些常用命令,以及对部分进行了演示,但vim的命令还有很多,可以去查找一些相关书籍。
参考文献:
《鸟哥的Linux私房菜》
《Linux就该这么学》
:w!
强制写入时到底能不能写入跟文件的权限有关 ,并不是一定会写入 ↩︎注意一定要使用正确的扩展名,如
*.html
,否则无法出现任何关键字。 ↩︎
linux系统中vi/vim文本编辑器的使用简介相关推荐
- Linux系统学习关于Vim文本编辑器的使用介绍
Day04 cippus vim 文本编辑器 vi [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-8jFPKIO1-1669517913499)(F:\桌面\src=h ...
- Linux系统中退出vim的编辑器3种情况
1.未修改退出 前提条件:打开的文本文件在内容上没有被改动过.按了Esc后再输入冒号,然后,我们输入"冒号",即":"(不需双引号),在下方会出现冒号,等待输入 ...
- linux中vim文本编辑器的默认模式是,Linux 下 vi/vim 文本编辑器超详细使用指南
Linux下的编辑器最经常使用的就是vim或者vi文本编辑.vi 和vim 编辑器的区别是vim是vi的改进版本,在vi 编辑器的基础上上扩展了不少实用的功能. 大多数的linux/unix 发行版本 ...
- delphi中richedit中光标如何定位到最后_嵌入式开发之Linux系统中Vi编辑器的使用
请大家关注点赞,已经完成物联网相关开发,会从硬件层,硬件中间层,传输层,软件中间件(物联网云平台),APP开发相关博文.首先从嵌入式开发博文开始!上一节关于<>.本节关于Linux系统中V ...
- Linux 下 vi/vim 文本编辑器超详细使用指南(转载)
转载于 https://blog.csdn.net/kingmax54212008/article/details/54142633 Linux下的编辑器最常用的就是vim或者vi文本编辑.vi 和v ...
- Linux系统中VI或VIM输入时小键盘无法使用
Linux系统中VI或VIM输入时小键盘无法使用 问题描述 在使用Xshell.Webshell或者PuTTY连接Linux服务器时经常会用到VIM对文件进行编辑.这是就会发现,小键盘无法使用.想输入 ...
- vi/vim文本编辑器的使用
Vi/Vim文本编辑器的使用 vi/vim编辑器是所有Unix及Linux系统下标准的编辑器.vim是vi的一种升级. vi/vim三种模式 1.一般模式 启动vim后默认处于正常模式.不论位于什么模 ...
- Linux系统中vi命令失效
Linux系统中vi命令失效的原因,一般是因为Linux系统的磁盘空间有的满了,需要对已满的磁盘进行清理.使用df命令进行查看.
- 【大数据前置基础】Linux系统中VI编辑器使用、文件目录操作、权限管理、Java安装
VI编辑器使用.文件目录操作.网络配置.常用命令与shell编程 1 VI编辑器使用 2 文件目录的操作 2.1 ls 显示文件和目录列表 2.2 mkdir 创建目录 2.3 cd 切换目录 2.4 ...
最新文章
- Java常见面试题(持续更新)
- mysql免安装版5.7.7以后在windows上的那些操作(1)
- 小程序 const moment = require('moment')_小程序依赖分析实践
- glob在php中的意思,PHP函数glob介绍
- java做h5小游戏服务端_神藏西游H5游戏源码服务端+客户端+搭建教程
- C语言课程设计图形库
- 【python】python实现多线程并得到返回值
- 新浪微博PC端登陆js分析及Python实现微博post登陆
- oracle e18,ORACLE_10g_各版本下载地址大全
- 将PNG序列帧图片合成视频
- Triangle程序编译
- 毕业论文-马尔可夫随机场
- 为何Excel表格部分选项是灰色的,无法选择?
- 【Unity 3D 从入门到实战】Unity 3D 导航系统
- C4D模型工具—切割边
- Jmeter接口测试——使用教程(下)
- 嵌入式linux包含哪些内容
- CentOS服务器安装宝塔(图文详解)
- 3dmax 3dmax计算机要求 3dmax下载
- pixel2style2pixe环境配置([‘ninja‘, ‘-v‘] + no module named ‘fused’)
热门文章
- 幼儿园教师计算机运用论文,运用信息技术促进幼儿教师专业成长
- CNN中的translation equivariant和translation invariant
- 研二小硕的艰难实习路
- Chapter 7 (Symmetric Matrices and Quadratic Forms): The Singular Value Decomposition (奇异值分解, SVD)
- css文件应该放在哪?
- 网页.css的文件的写法
- 中国申请英国留学人数创新高,东伦敦成最受家长青睐“以房养学”地区
- 防御攻击高防服务器如何选择?
- AcWing 1309. 车的放置 (加法原理、乘法原理、组合数排列数的求法、乘法逆元)
- pixel 6手机连接wifi,网络受限