Vim是vi improved的缩写是vi的改进版本,vi被认为是事实上的标准编辑器

所有版本的Linux都带有vi编辑器
占用的资源少
与ed,ex等其他编辑器相比,vi对用户更加友好

进入vi编辑器

'vi filename'
如果filename存在,则打开;否则会创建一个新的文件在打开
'vi -R filename'
以只读模式(只能查看不能编辑)打开现有文件
'view filename'
以只读模式打开现有文件
例如:使用vi 编辑器创建一个新文件并打开:
$vi testfile
|
~
~
"testfile" [New File]

"|":表示光标位置
"~": 表示没有任何内容
如果没有~,也看不到任何内容,那说明这一行肯定有空白字符(空格,tab缩进,换行符等)或不可见字符

工作模式

'普通模式'
有shell进入vi编辑器时,首先进入普通模式,在普通模式下,从键盘输入任何字符都被当做命令来解释。
普通模式下没有任何提示符。输入命令后立即执行,不需要回车,而且输入的字符不会再屏幕上显示出来。
'编辑模式;
编辑模式主要用于文本的编辑,该模式下用户输入的任何字符都被作为文件的内容保存起来,并且在屏幕上显示出来
'命令模式'
命令模式下,用户可以对文件进行一些高级处理,尽管普通模式下的命令可以完成很多功能,但是要执行一些如字符串查找,
替换,显示行号等操作还是必须要进入命令模式
ps:有时命令模式也会合并到普通模式

工作模式切换

在普通模式下输入“i(输入)”,"c(修改)",“o(另起一行)”进入编辑模式,按esc键退回到普通模式
在普通模式下输入冒号(:)进入命名模式。驶入完命令按回车,命令执行完成后自动退回普通模式。
提示:如果不确定当前处于那种模式,按两次Esc键将回到普通模式

退出vi编辑器

一般在命令模式下退出vi编辑器
q:如果文件违背修改将直接退回到Shell,否则提示保存文件
q!:强行退出,不保存修改内容
wq:w命令保存文件,q命令退出vi,合起来就是保存并退出
ZZ:保存并退出,相当于wq,但是更加方便

vim打开文件命令

'vim + ssgao'
打开ssgao文件光标定位到最后一行
'vim +3 ssgao'
打开文件光标定位到第三行

'vim +/ssgao ssgao'
打开ssgao文件定位到第一次出现ssgao出现的哪一行,按字母n出现类似查找的功能

'vim aa bb cc'
一次创建或打开多个文文件,在底行通过n或N进行文件切换

普通模式常用命令

':w' 保存修改
':w new_file' 另存为指定文件new_file
'ZZ' 快捷键,保存修改并退出
':q' 退出当前编辑器打开的文件
':!' 表示强制执行,通常':q!'组合使用 ':wq' 保存之后直接退出
':ls' 列出当前编辑器打开的所有文件
':n' 切换到后一个文件':N'切换到前一个文件
':15' 光标快速定位到第15行
'/xxx' 从光标位置开始向后搜索,搜索到xxx第一次出现的位置, ("使用字母n来搜索下一个出现的位置")
'?xxx' 从光标位置开始向前搜索,搜索到xxx第一次出现的位置

'%s/源字符串/新字符串/g' 将文件中的源字符串全部替换为新的字符串
'n1,n2s/old/new/g'  在一定范围内替换指定字符串

普通模式下常用命令

'h' 光标左移
'j' 光标下移
'k'光标上移
'l' 光标右移
'ctrl+f'向下翻页
'ctrl+b'向上翻页
'ctrl+d'向下翻半页
'ctrl+u'向上翻半页

'dd' 删除光标所在的行

'g' 光标定位到第一行
'G/shift+g' 光标定位到最后一行

'o' 在光标所在行的下方插入一行并切换到输入模式
'O' 在光标所在行的上一行打开新行

'i' 在光标所在位置插入文本
'I' 在一行的开头插入文件

'a' 在光标所在位置附加文件
'A' 在光标所在行的最后附加文件

'u' 撤销上一个动作
'U' 将一整行恢复到原来的状态

'yy'复制光标所在的行
'小写p' 在光标所在行的下方粘贴
'大写P' 在光标所在行的上方粘贴

'+' 到下一行的第一个字符
'-' 到下一行的第一个字符

'E' 到单词的结尾
'w' 往后一个单词
'b' 往前一个单词
'$' 到一行的结尾
'0' 到一行的开头

linux系统管理 vi编辑器的更多相关文章

  1. Linux 中 Vi 编辑器的简单操作

    Linux 中 Vi 编辑器的简单操作 Vi 编辑器一共有3种模式:命名模式(默认),尾行模式,编辑模式.3种模式彼此需要切换. 一.进入 Vi 编辑器的的命令 vi  filename //打开或新 ...

  2. Linux下vi编辑器粘贴复制剪切功能

    RedHat 9.0 Linux下vi编辑器实现简单的粘贴复制剪切功能": 如果想把文件内的第三行内容黏贴到第十五行: 1.进入你的文件,(处于命令模式,而不是编辑模式) 2.将你的光标移到 ...

  3. Linux启动vi编辑器时提示E325: ATTENTION解决方案

    Linux启动vi编辑器时提示E325: ATTENTION解决方案 Vi编辑器是Linux的文本编辑器,在Linux系统的运用非常广泛,不少朋友在打开Vi编辑器的时候提示E325: ATTENTIO ...

  4. linux命令---vi编辑器快速定位行数

    linux命令—vi编辑器快速定位行数.删除当前行.和删除当前行后面的全部内容 1.vi 编辑器如何快速定位到第N行 命令方式下 :n http://bbs.chinaunix.net/thread- ...

  5. linux中vi编辑器的使用

    vi编辑器是所有Unix及Linux系统下标准的编辑器,它的强大不逊色于任何最新的文本 编辑器,这里只是简单地介绍一下它的用法和一小部分指令.由于对Unix及Linux系统的任 何版本,vi编辑器是完 ...

  6. linux中vi编辑器

    vi编辑器,通常称之为vi,是一种广泛存在于各种UNIX和Linux系 统中的文本编辑程序.它的功能十分强大,但是命令繁多,不容易掌握,它可以执行输出.删除.查找.替换.块操作等众多文本操作,而且用户 ...

  7. linux下VI编辑器的使用

    一.VI编辑器简述       VI 编辑器是Linux和Unix上最基本的文本编辑器,工作在字符模式下.由于不需要图形界面,使它成了效率很高的文本编辑器.尽管在Linux上也有很多图形界面的编辑器可 ...

  8. Linux之vi编辑器

    vi编辑器是Linux系统下标准的编辑器.而且不逊色于其他任何最新的编辑器.可是会用的有多少呢.下面介绍一下vi编辑器的简单用法和部分命令.让你在Linux系统中畅行无阻. 基本上vi可以分为三种状态 ...

  9. Kali Linux的vi编辑器/vim编辑器使用方法

    转载声明:本文为转载文章 原文地址:https://www.52host.cn/blog/kali-linux-vi-editor/ Kali Linux系统的vi编辑器/vim编辑器的使用和Cent ...

随机推荐

  1. [osg]OSG相机添加动画路径

    查看osg坐标系,camare默认姿态:http://www.cnblogs.com/lyggqm/p/8073688.html 首先搞清楚osg的坐标系以及osg::camare的默认姿态 下代码面 ...

  2. python调用虹软2.0

    第一版踩了无数的坑,终于第二版把坑全添了,这次更新可以正常获取人脸数,角度,代码可读性更高,继续更新中 第三版已发出 https://www.cnblogs.com/wxt51/p/10125460. ...

  3. 牛客网NOIP赛前集训营-提高组(第一场)A 中位数

    中位数 思路: 二分答案 代码: #pragma GCC optimize(2) #pragma GCC optimize(3) #pragma GCC optimize(4) #include< ...

  4. jenkins之从0到1利用Git和Ant插件打war包并自动部署到tomcat(第一话):初次启动jenkins,输入给定密码后登录失败问题解决

    Jenkins是一个持续集成平台,它能够从git等源码管理服务器拉取代码.打包并发布到tomcat等中间件,只要配置好相关插件,就可以做到项目的自动化构建.部署,不论是对开发来说监控代码质量,还是对测 ...

  5. 详细讲解Linux下安装python3(Python3.5.4)

    https://jingyan.baidu.com/article/6b97984dd6dbb01ca2b0bf0a.html

  6. Nginx安装与使用 及在redhat 中的简单安装方式

    首先说下在redhat中的安装方法, 正常安装nginx 需要安装很多的依赖,最后再安装nginx,而且很容易出错. 在nginx官方上有这么一段描述: Pre-Built Packages for ...

  7. 分离vue组件内部css

    当我们使用vue组件的时候,使用webpack打包的时候,默认会把vue组件内部的css打包到页面上,但是打包到页面上很丑陋,所以我们希望可以把vue组件内部的css抽离到css文件中,使用vue-s ...

  8. Pytorch半精度浮点型网络训练问题

    用Pytorch1.0进行半精度浮点型网络训练需要注意下问题: 1.网络要在GPU上跑,模型和输入样本数据都要cuda().half() 2.模型参数转换为half型,不必索引到每层,直接model. ...

  9. LOJ6072苹果树

    虽然结合了很多算法,但是一步一步地推一下还不算太难的一道题. 首先考虑枚举枚举有用的苹果的集合,然后去算生成树个数. 先考虑怎么计算生成树个数. 发现可以使用matrix-tree. 所有有用点可以和 ...

  10. 解决Requests中文乱码【有用】,读取htm文件 读取txt文件报错:UnicodeDecodeError: 'utf-8' codec can't decode byte 0xc8 in position 0

    打开这个网址https://blog.csdn.net/chaowanghn/article/details/54889835 python在open读取txt文件时,出现UnicodeDecodeE ...