vi 的基本使用

位流露台
• 阅读 1154

vi 的基本使用有一些方法大家可以像下面了解一下。
vi,Unix&Linux下最基本的编辑器,功能强大使用简单,是用户的必备利器。以上是我基于电鱼电子的SAIL-IMX6Q所完成的。​

模式:

  1. 命令模式(默认,通过命令对文件内容进行编辑)

    vi //在当前目录创建空文件

    vi filename //打开指定文件

    vi -o|O f1 f2 //打开多个文件,o|O表示水平|垂直分隔

    通过vi打开文件后自动进入命令模式,此模式下所有输入都是命令

  2. 插入模式(像windows中的普通编辑器一样使用)

    命令模式下按iaoIAO任一键进入插入模式,esc回到命令模式

    i在光标前插入文本

    I在光标所在行前插入

    a在光标后插入文本

    A在光标所在行未插入

    o在光标所在行下插入新行

    O在光标所在行上插入新行

  3. 编辑模式(通过命令对文件或文件内容进行编辑)

    命令模式下按“:”进入编辑模式,esc或enter执行操作后回到命令模式

  4. 视图模式(属于命令模式)

    vV进入视图模式,执行字符选中

    例:按"H"或"L"移动光标选中字符,通过yd进行复制剪切

常用命令

【定位命令】

hjkl:光标[左下上右]移动,同方向键

0:移至行首

^:非空白行头

$:移至行尾

Enter:移至下行首

H:移至屏幕上端

M:移至屏幕中央

L:移至屏幕下端

C-F:下一页(C-F表示Ctrl+Shift+F)

C-B:上一页

gg:移至第一行

G:移至文件末尾

[n]G:移至文件第n行

:n移至文件第n行

【删除命令】

x:删除光标处字符

nx:光标所在处后n个字符

X:删除光标前字符

dd:剪切光标所在行

ndd:剪切当前行以下n行

dG:删除光标所在行到文件末尾

D:删除光标所在处到行尾

:n1,n2d 删除n1行到n2行之间的内容

【复制&粘贴】

yy/Y:复制当前行

nyy,nY:复制当前行下边的n行

nyh,nyl:复制光标前/后的n个字符

p,P:将已经选择复制或被删除的行粘贴到当前行下或行上

【搜索&替换】

r:取代光标所在处字符

R:从光标所在处开始替换字符,至到按esc结束

s:替换(删除)光标所在处字符,并进入文本输入方式

S:替换(删除)光标所在行,按esc结束

:/string //从上向下搜索字符串

:?string //从下向上搜索字符串

通过按键n移到下一个结果:

n //时向下,?时向上搜索

N //时向上,?时向下搜索

:%s/old/new/g //把所有old替换为new,g不会询问,c会询问虽否替换

:%s/old//g //把所有old删除

:n1,n2s/old/new/g //在一定范围内替换指定字符串

例:连续行注释

:n1,n2s/^/#/g //^表示行首

:n1,n2s/^/#//g //将行首'#'替换为空,即删除

:n1,n2s/^////g //转义符,使用"//"注释

替换:ab asmmail samlee@lampbrother.net//输入a时回车或空格,vi自动换成b

unab//取消

【撤消】

u:撤消上一步操作(最多可撤消到文件打开时)。

U:撤消当前行的所有操作。

ctrl+r:取消撤消

【保存退出】

:w保存

:w newfilename另存为

:w!强制保存 //!只针对文件所有者和管理员

:wq保存&退出 //快捷键ZZ

:q退出

:q!强制退出

:wq!强制保存&退出

:x保存退出

:x!强制保存&退出

【其它】

:set nu/number //设置行号

:set nonu //取消行号

:set ic //区分大小写

:set noic //取消区分大小写

:vsp //垂直分窗

:sp //水平分窗

C-W p/w //切换到上/下一个窗口

:r filename把指定文件内容导入进来(光标所在位置)。

:! cmd运行cmd命令

:r !date将命令结果导入到文件中

:map 快捷键 触发命令

map ^P I#<ESC> //使用ctrl+p注释本行(使用ctrl+v+[p]输入"^[P]")

map ^B 0x //取消注释

unmap

vi配置:

通过vi配置文件设置vi默认环境。

例:设置vi默认显示行号

cd ~ //回到当前账户家目录下

vi .vimrc //vi配置文件,默认不存在,家目录中,针对当前用户

i//进入编辑模式

set nu

map ^P I#<ESC>

……

:wq
这些就是vi的基本使用方法啦。

点赞
收藏
评论区
推荐文章
Wesley13 Wesley13
4年前
vim介绍 、 vim颜色显示和移动光标 、vim一般模式下移动光标 、vim一般模式下复制、剪切和粘贴
vim是什么vim是什么?在之前接触Linux,编辑网卡配置文件的时候我们用过了vi,vim简单说就是vi的升级版,它跟vi一样是Linux系统中的一个文本编辑工具。如果系统中没有vim,需要安装一下:yuminstallyvimenhanced安装完了之后就可以正常使用了。我们使用vi和vim打开/e
Wesley13 Wesley13
4年前
vi 编辑器
Linux下的文本编辑器有很多种,vi是最常用的,也是各版本Linux的标配注意,vi仅仅是一个文本编辑器,可以给字符着色,可以自动补全,但是不像Windows下的word有排版功能Vim是Viimproved的缩写,是vi的改进版。在Linux中,vi被认为是事实上的标准编辑器,因为:所有版本
Stella981 Stella981
4年前
Linux学习:vim程序编辑器
本次记录vim这款文本编辑器的使用方法及它有哪些使用实例等。基本概念在Linux环境中,配置文件对整个系统来说具有举足轻重的作用,而对于其都是以ASCII的纯文本形式存在,而利用文本编辑器就能够达到方便修改配置的目的。vi是UNIX操作系统和UNIXLike操作系统中最通用的全屏幕纯文本编辑器。而Linux中的vi编辑器叫v
Wesley13 Wesley13
4年前
Linux的环境变量配置
Linux下设置变量有三种方法:第一种:在/etc/profile文件中添加变量【对所有用户生效(永久的)】  用VI在文件/etc/profile文件中增加变量,该变量将会对Linux下所有用户有效,并且是“永久的”。  例如:编辑/etc/profile文件,添加CLASSPATH变量  vi/etc/profile  
Wesley13 Wesley13
4年前
VIM编辑器和VI编辑器的区别
vi和vim的区别_写在前面:这个两个“东西“着实让我烦恼一阵子,但是自己一直没当回事,但是遇到了好几次再决定彻底把他们搞的明白,一下是我通过查找资料了解到的关于这两个编辑器的区别和联系,希望对大家有所帮助!_它们都是多模式编辑器,不同的是vim是vi的升级版本,它不仅兼容vi的所有指令,而且还有一些新的特性在里面。
Stella981 Stella981
4年前
Linux中vim编辑器常用命令、文件查找、磁盘挂载、用户管理
Vim介绍Vim是全屏幕纯文本编辑器,是vi编辑器的升级版。vim不仅仅兼容vi所有的命令,而且高亮显示,vi只能运行在UNIX和Linux中,而vim可以跨平台运行在Windows,MACOS中。vim号称“编辑器之神”,具有无可匹敌的可扩展性。大部分Linux系统中,默认都会安装vim,在L
Wesley13 Wesley13
4年前
5.1 vim介绍 5.2 vim颜色显示和移动光标 5.3 vim一般模式下移动光标 5.4 vim一般模式下复制、剪切和粘贴 5.5 进入编辑模式 5.6 vim命令
vim命令vim和vi几乎是一样的,唯一的区别就是当编辑一个文本时,使用vi不会显示颜色,而使用vim会显示颜色。vim有三个模式:一般模式,编辑模式,命令模式。系统最小化安装时没有安装vim命令,需要自己使用yum进行安装:root@cham2~yuminstallyvimenhanced
Wesley13 Wesley13
4年前
ubuntu14.04 开启root登陆
安装完成如需使用root身份登录,可打开终端输入以下命令:设置root密码sudopasswdroot切换到root用户sudos想要在登录界面使用root身份登录,可编辑/etc/lightdm/目录下的lightdm.conf文件,如没有此文件,直接创建vi/etc/lig
Stella981 Stella981
4年前
Linux
初识vi/vim文本编辑器1.vi和vim相同,都是文本编辑器,在vi模式下可以查看文本,编辑文本,是Linux最常用的命令,vi模式下分为三部分,第一部分一般模式,在一般模式中可以进行搜索字符等按键操作,按下i,o,a任意一个字符就可以进入编辑模式,按ESC回到一般模式,编辑模式下可以对
Stella981 Stella981
4年前
Linux基本命令 vim命令(二)
LinuxVim显示行号在命令模式下输入":"进入编辑模式后执行setnu命令即可显示每一行的行号,如果想要取消行号,则再次输入":setnonu"即可。如果希望每次打开文件都默认显示行号,则可以编辑Vim的配置文件。每次使用Vim打开文件时,Vim都会到当前登录用户的宿主目录(用户配置文件所在地)中读取.vi
芝士年糕 芝士年糕
3年前
vi与vim的区别以及常用命令
最近在使用3A服务器,经常修改配置文件,但是在网上看教程的时候,发现有人使用vi,也有人使用vim,但这两者到底有什么区别呢,下面为大家介绍,如果有需要服务器的,可以后台私信我一、vi与vim的区别1、多级撤消在vi编辑器中,按u只能撤消上次命令,而在vim里可以无限制的撤消。2、易用性vi编辑器只能运行于unix中,而vim不仅可以运行于unix,还可用于