Linux系统vi和vim的介绍
Linux系统vi和vim的使用
1、VI模式
(1)、命令行模式 (command mode/一般模式)
任何时候,不管用户处于何种模式,只要按一下“ESC”键,即可使Vi进入命令行模式;我们在shell环境(提示符为$)下输入启动vi命令,进入编辑器时,也是处于该模式下。
在该模式下,用户可以输入各种合法的vi命令,用于管理自己的文档。此时从键盘上输入的任何字符都被当做编辑命令来解释,若输入的字符是合法的Vi命令,则vi在接受用户命令之后完成相应的动作。但需注意的是,所输入的命令并不在屏幕上显示出来。若输入的字符不是Vi的合法命令,vi会响铃报警。
(2)、文本输入模式 (input mode/编辑模式)
在命令模式下输入插入命令i(insert)、附加命令a (append)、打开命令o(open)、修改命令c(change)、取代命令r或替换命令s都可以进入文本输入模式。在该模式下,用户输入的任何字符都被vi当做文件内容保存起来,并将其显示在屏幕上。在文本输入过程中,若想回到命令行模式下,按”ESC”键即可。
(3)、末行模式 (last line mode/指令列命令模式)
末行模式也称转义模式。
vi和Ex编辑器的功能是相同的,二者主要区别是用户界面。在vi中,命令通常是单个键,例如i、a、o等;而在Ex中,命令是以按回车键结束的正文行。vi有一个专门的“转义”命令,可访问很多面向行的Ex命令。
在命令模式下,用户按“:”键即可进入末行模式下,此时vi会在显示窗口的最后一行(通常也是屏幕的最后一行)显示一个“:”作为末行模式的提示符,等待用户输入命令。多数文件管理命令都是在此模式下执行的(如把编辑缓冲区的内容写到文件中等)。末行命令执行完后,vi自动回到命令模式。
2、VIM模式
(1)、正常模式 (Normal-mode)
启动vim后默认处于正常模式(即命令行模式)。不论位于什么模式,按下<Esc>键(有时需要按两下)都会进入正常模式。
(2)、插入模式 (Insert-mode)
在正常模式中按下i, a, o, I,A,O键,会进入插入模式。现在只用记住按i键会进行插入模式。在插入模式中,击键时会写入相应的字符。
(3)、命令模式 (Command-mode)
在正常模式中,按下:(英文冒号)键,会进入命令模式。
在命令模式中可以执行一些输入并执行一些vim或插件提供的指令,就像在shell里一样。这些指令包括设置环境、文件操作、调用某个功能等等。
(4)、可视模式 (Visual-mode)
在正常模式中按下v,V,<ctrl>+v,可以进入可视模式。
可视模式中的操作有点像拿鼠标进行操作,选择文本的时候有一种鼠标选择的即视感,有时候会很方便。
3、vi与vim的区别
(1)、多级撤消
在vi编辑器中,按u只能撤消上次命令,而在vim里可以无限制的撤消。
(2)、易用性
vi编辑器只能运行于unix中,而vim不仅可以运行于unix,还可用于windows、mac等多操作平台。
(3)、语法加亮
vim可以用不同的颜色来加亮你的代码。
(4)、可视化操作
vim不仅可以在终端运行,也可以运行于windows、 mac os、 windows。
(5)、对vi完全兼容
可以把vim当成vi来使用。
小结:vi和vim都是Linux中的编辑器,不同的是vim比较高级,可以视为vi的升级版本。vi使用于文本编辑,但是vim更适用于coding。
4、VI与VIM的常用命令
由于VI与VIM在命令上几乎相同,所以这里那VIM为例。
(1)、模式转换
正常-->输入:以下这几个参数实现的功能都是转为输入模式,只不过转换后的光标所在的位置不同(感兴趣可以试一试,虽然意义不大!)
i:在当前光标所在字符的前面,转为输入模式;
a:在当前光标所在字符的后面,转为输入模式;
o:在当前光标所在行的下方,新建一行,并转为输入模式;
I:在当前光标所在行的行首,转为输入模式;
A:在当前光标所在行的行尾,转为输入模式;
O:在当前光标所在行的上方,新建一行,并转为输入模式;
输入-->正常:
ESC
正常-->末行:
:(英文冒号)
末行-->正常:
ESC,ESC
注意:输入模式和末行模式之间不能直接切换。
(2)、关闭文件(末行模式)
:q 退出;
:q! 不保存退出;
:w 保存;
:w! 强行保存;
:wq 保存退出
:wq! 强制保存并退出
注意:在正常模式下按组合键shift zz可以保存并退出
(3)、移动光标(正常模式)
1)逐字符移动
h: 左;
l: 右;
j: 下;
k: 上;
#h: 移动#个字符
2)以单词为单位移动
w: 移至下一个单词的词首;
e: 跳至当前或下一个单词的词尾;
b: 跳至当前或前一个单词的词首;
#w: 移动#个单词
3)行内跳转:
0: 绝对行首;
^: 行首的第一个非空白字符;
$: 绝对行尾
4)行间跳转
#G:跳转至第#行;
gg: 第一行;
G:最后一行
5)末行模式
.: 表示当前行;
$: 最后一行;
#:第#行;
+#: 向下的#行
(4)、翻屏(正常模式)
Ctrl+f: 向下翻一屏;
Ctrl+b: 向上翻一屏;
Ctrl+d: 向下翻半屏;
Ctrl+u: 向上翻半屏
(5)、复制字符
1)正常模式
复制:
yy:复制当前行
nyy:复制当前行至下面的n行
粘贴:
p:粘贴到光标的后面
P:粘贴到光标的前面
2)可视模式
复制:
y:复制当前行
ny:复制当前行至下面的n行
粘贴:
p:粘贴到光标的后面
P:粘贴到光标的前面
(6)、删除字符(正常模式)
x: 删除光标所在处的单个字符;
#x: 删除光标所在处及向后的共#个字符;
d$或D:从当前光标处删除至行尾;
d^:从当前光标处删除之行首;
dd: 删除当前光标所在行;
#dd: 删除包括当前光标所在行在内的#行;
注:dd相当于剪切操作,如果你dd之后按p或者P可以进行粘贴。
(7)、替换字符
r:替换单个字符(按完r在按你要替换的字符即可)
R:替换多个字符(从你要替换的位置开始替换,直至你退出正常模式)
(8)、撤销编辑操作:u
u:撤消前一次的编辑操作;
#u:直接撤消最近#次编辑操作;
温馨提示:连续u命令可撤消此前的n次编辑操作;
(9)、将另外一个文件(/path/sunhui.txt)的内容填充在当前文件夹中
:r /path/sunhui.txt :填充到当前文件所在光标的后面
(10)、修改vim配置文件
vim ~/.vimrc:修改当前用户的vim配置文件
vim /etc/vimrc:修改所有用户的vim配置文件
例:在当前用户的vim配置文件中添加显示行数的命令
vim ~/.vimrc:在末行添加 set nu 即可
(11)、拓展(末行模式)
1)显示或取消显示行号
:set nu //显示
:set number //显示
:set nonu //取消
2)设置语法高亮
:syntax on //开启
:syntax off //关闭
3)分屏
:vsp xxx.x //将两个文件垂直分屏
:ctrl+w w //切屏
Linux系统vi和vim的介绍相关推荐
- 详解Linux系统Vi 和 Vim中正常模式、编辑模式、命令模式相互转化,以及vim命令使用
详解Linux系统Vi 和 Vim中正常模式.编辑模式.命令模式相互转化 vi 和 vim 的基本介绍 vi 和 vim 的三种常见模式 正常模式 正常模式常用命令 插入模式/编辑模式 命令行模式 v ...
- kali linux 里vim如何使用_Kali Linux的vi编辑器/vim编辑器使用方法
转载声明:本文为转载文章 Kali Linux系统的vi编辑器/vim编辑器的使用和CentOS有很多不同.基本使用方法如下 1.vi的基本概念 基本上vi可以分为三种状态,分别是命令模式(comma ...
- 在linux中的vi中的删除操作,linux中vi和vim操作
一.简单介绍 vi 和 vim 类似于windows的文本编辑器 所有的Linux系统都会内置vi文本编辑器 vim可以看做是vi增强版,具有程序编辑能力,支持语法高亮,代码补全,编译及错误跳转等功能 ...
- Linux系统Vi/Vim编辑器的简单介绍、安装/卸载、常用命令
Linux系统Vi/Vim编辑器的简单介绍.安装/卸载.常用命令 1.介绍 vi(Visual Interface)编辑器是Linux和Unix上最基本的文本编辑器,工作在字符模式下.由于不需要图形界 ...
- linux麒麟编码方式,麒麟Linux系统vi文本编辑器介绍(24页)-原创力文档
中标麒麟Linux服务器操作系统培训系列 中标麒麟Linux系统vi文本编辑器介绍 技术创新,变革未来 本章目标 • vi 和vim 的三种主要模式 • vi 的基本使用 vi •vi是一种广泛存在于 ...
- linux vim修改字符串,Linux系统vi(vim)编辑器命令说明
Linux系统vi(vim)编辑器命令说明 刘大喵 • 2019 年 02 月 06 日 vi(vim)是上Linux非常常用的代码编辑器,很多Linux发行版都默认安装了vi(vim).vi(vim ...
- Linux系统配置VI或VIM的技巧
Linux系统配置VI或VIM的技巧 作者:IT专家网论坛出处:IT专家网论坛2008-10-28 11:08 配置VI和VIM的颜色显示,使它能够高亮度显示一些特别的单词,这对编写程序很有用⋯⋯ 1 ...
- linux系统输入指令,详解linux系统输入输出管理和vim的常用功能
####系统中输入输出的管理#### 1.理解系统的输入输出重定向 输入重定向是指把文件导入到命令中,而输出重定向则是把原本要输出到屏幕的数据信息写入到指定文件中. 2.管理输入输出的符号 ##输出重 ...
- Linux(2) vi和vim编辑器
Linux(2) vi和vim编辑器 学习视频: https://www.bilibili.com/video/BV1Sv411r7vd?p=16&spm_id_from=pageDriver ...
最新文章
- pppoe 服务器 无线,无线路由器怎么设置PPPOE拨号【图文讲解】
- 按需路由选择(ODR)原理及实验
- java深拷贝和浅拷贝介绍
- HttpReports 2.0 发布了 !!!
- 如何通过mac地址找到设备_如何通过 Apple Watch 解锁 Mac
- click Setuptools Integration
- P102、面试题14:调整数组顺序使奇数位于偶数前面
- 超详细步骤 | 如何用小程序 SDK 实现电商评价模
- 余承东回应“卸任”传闻:服务还未拼尽全力,岂敢先溜
- linux下phpmyadmin安装
- 网络通信词汇——MCC、MNC、dbm、TAC、ECI、PCI、BAND、EARFCN、FREQ、RSSI、RSRP、RSRQ、SINR
- 透过现象看本质(一)
- java猜拳小游戏心得体会_java实现猜拳小游戏
- 【读书笔记】《互联网企业安全高级指南(赵彦等)》
- 电脑屏幕亮度随背景颜色变化而变化
- mybatis定义别名
- 微信小程序——登陆凭证校验报错{errcode:40029,errmsg:invalid code, hints: [ req_id: weh8ka0297hc58 ]}
- win10电脑怎样扩大C盘空间
- js调用android代码怎么写,Android端使用WebView注入一段js代码实现js调用android
- 程序员公司合作协议范本