*导读:普通用户只要花1分钟看第二部分即可。高级用户请忽略本文*

1.编辑器之战

Emacs 是神的编辑器,而Vim 是编辑器之神。
    https://zh.wikipedia.org/wiki/编辑器之战
    编辑器之战是指计算机编程领域内,两类文本编辑器vi(以及派生版本)和Emacs用户之间的对抗冲突。这已经成为黑客文化和自由软件社区文化的一部分。
    这个需要深度使用过各种编辑器才能才能体会到。通常是开发人员需要用到,或者运维人员需要在Linux的命令界面编辑大量脚本及配置文件。
    对于普通用户,并不需要深度学习及使用,但也要简单了解,并掌握基本使用。使用Linux系统,是会用到命令行界面的。即使流行的开箱即用的MintLinux,manjaro,也免不了会遇到一些特殊情况需要打开终端,或者开机进入命令行界面维护等需要使用vi编辑配置文件。
    注:通常要vi编辑之前先cp复制一个备份先,方便后续恢复。这是普通用户必要养成的习惯,资深用户的一大特点是有良好的备份习惯。
下面只介绍普通用户需要掌握的vi最基本的操作(分分种就能看完),Emacs就不介绍了。Emace实在是太大了(128Mb),所以很多发行版默认并没有安装。

    See, vi只有293Kb,

2.vi的使用

对于普通用户,只是在必要的时候,偶尔需要使用vi编辑,比如打开某个配置文件将某行前面的注释符号“#”删除,然后保存退出;或者某行配置后方的yes改为no;或者增减一些项目。
    基本上分分种就能搞定的事情,但若不了解vi的话,就会很麻烦了。了解下面最基本的内容也只需要分分种即可。

2.1vi的3个模式

  • 普通模式,使用方向键上下滚动,翻页键翻页。
  • 插入模式,字符编辑模式,
  • 命令模式,输入命令,保存,退出,不保存退出等。

2.2vi的3个模式切换:

$ vi git.txt //vi文件名

  • 打开默认进入普通模式
  • (i)打开插入模式(普通模式按i键进入插入模式;命令模式先Esc返回到普通模式,再i进入插入模式)
  • (:)进入命令模式(普通模式按:键进入命令模式;插入模式先Esc返回到普通模式,再:进入命令模式)
  • (Esc)返回普通模式(插入或命令模式都使用Esc返回普通模式)

注意:

  1. 在插入模式,命令模式时,输入键盘内容都会按照字符被接收,比如i,:都会被输入到光标位置。要切换模式,需要Esc返回普通模式,再按i或者:才能被理解为切换模式的命令。
  2. 普通模式,并不只是查看模式,输入“dd”删除当前行,“dw”删除当前单词,“d$”删除光标到行尾,等等等,有非常多的快捷键。普通模式也是可以修改到文本内容的,所以这个模式建议只使用方向键及翻页键查看。当然,普通用户不必要记忆这些快捷键,可以不使用他们。这也是插入模式不叫做编辑模式的原因之一,进入插入模式的i也是英文插入的首字母。
  3. 若不小心按到了什么,也不确定有没有修改到文本,可以Esc返回普通模式,再:q!不保存退出,然后重新打开。

2.3vi最基本的命令

说明:
1.插入模式下所有字母和数字都会当作文本被插入到光标处。要使用命令需要Esc退回普通模式。
2.以:开头的表示命令模式下的命令,其他则为普通模式下会直接被理解为某种操作的命令。
    比如”:q”表示先按:进入命令模式,再按q,然后回车,执行退出命令,操作就是“:q回车”。

常用命令:

  • :q! 不保存退出;
  • :q 退出(如果有更改未保存,则不能直接退出。需要保存后再退出,或者使用不保存退出);
  • :w 保存;
  • :wq 保存并退出(2个命令一起使用);
  • / 向前搜索(/config,向前搜索config这个单词)
  • ? 向后搜索
  • :100 转到100行,后面的数字按需要修改;比如0,跳到第一行;
  • :$ 跳到最后一行;
  • :set nu 显示行号
  • :set nu! 取消行号显示

就这些吧,这些足够普通用户应付通常修改配置的需要了。
注:所有命令都是英文字符,比如在普通模式下按?是搜索,但你反复按?都没反映,可能是由于当前输入法为中文状态,按一下shift,切换为英文状态,再按?即可。

2.4vi的基本使用流程

  1. 找到配置文件;
  2. 使用cp命令复制备份先;
  3. 然后vi打开,上下翻,或和/,?关键字搜索到需要修改的地方;
  4. 按i进入插入模式,进行编辑修改;
  5. 编辑完成后:wq,保存退出;若不想保存使用:q!,不保存退出;

2.5 专有编辑命令(看看即可)

//到此为止,vi的基本使用已经讲完了,下面内容看看即可。

vi (Executable link, 233kB)
view (Screen oriented (visual) display editor based on ex)

vim (Vi IMproved, a programmer's text editor)
vimdiff (Edit two, three or four versions of a file with Vim and show ...)
vimdot (Combined text editor and dot viewer)
vimtutor (The Vim tutor)

编辑用户及组文件的专用编辑命令,不要使用,要使用操作命令。visudo在必要时可以使用。
vipw (Edit the password or group file)
vigr (Edit the password or group file)
visudo (Edit the sudoers file)

3.进阶,普通用户有兴趣可以google查看

进阶内容实在是太多,太广了,我也只是普通用户,还是google上查看吧。

https://linuxtoy.org/archives/why-emacs-vim-good.html
https://www.jianshu.com/p/732157b02ecc
《黑客与画家》这部经典著作(硅谷创业教父 Paul Graham 保罗•格雷厄姆所写,其实也就是他的一些日志汇编而成),里面讲述了Lisp语言的强大和优美,而Emacs就是用Lisp语言编写的

Lisp(1958年被发明),在2015年6月的TIOBE编程语言排行榜也只有第31位
流行的编程语言,以这样的顺序排列:Java、Perl、Python、Ruby。你会发现,排在越后面的语言,越像Lisp。

有句夸张的话说:Emacs是伪装成编辑器的操作系统。

Emacs其实是个Lisp的解释器,因此可以用Lisp灵活地扩展。Lisp是什么东西,这同样是种很有生命力的编程语言。在C语言还没有发明的年代,MIT的人工智能实验室写ITS操作系统时,一部分用的是汇编语言,还有一部分就是用的Lisp。现在,Lisp仍在人工智能研究领域广泛使用着。

http://qref.sourceforge.net/Debian/reference/ch-edit.zh-cn.html
11.3.4 编辑器命令总汇(Emacs,Vim)

log20190425:添加2.5专有编辑命令(看看即可),修改标题原标题:普通Linux用户需要了解的编辑器 为新标题: 普通Linux用户1分钟上手vi编辑器

普通Linux用户1分钟上手vi编辑器的更多相关文章

  1. linux基础-第九单元 利用vi编辑器创建和编辑正文文件

    vi编辑器简介 什么是vi vi编辑器的操作模式 vi编辑器的3种基本模式 在vi编辑器中光标的移动 移动光标位置的键与光标移动间的关系 进入插入模式 从命令行模式进入插入模式的命令 在命令行模式下删 ...

  2. Linux命令(八)——vi编辑器的使用

    vi编辑器是linux系统下的标准正文编辑器,有三种基本模式:命令行模式.插入模式和底行命令模式. 1.命令行模式:控制屏幕光标的移动,字符.字或行的删除,移动复制某区段及进入插入模式或底行命令模式下 ...

  3. Linux中目录结构以及VI编辑器常见的命令操作

    1.每个目录的详细介绍,先放一张目录的整体结构在这里 /bin:是Binary的缩写,用于存放经常使用的命令 /sbin:s代表Super User,用于存放系统管理员使用的命令 /home:存放普通 ...

  4. Linux Shell命令系列(5) VI编辑器

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

  5. Linux学习(1)vi编辑器的常用命令

    今天对Linux中的vi编辑器进行了学习,对其中的常用命令进行总结: 数字 0 或^:光标移到行首 $              :光标移到行尾 H             :光标移到屏幕的首行 L ...

  6. 二:Linux 的基本命令、VI编辑器、Linux中软件安装

    Linux 的基本命令 1. 文件操作 a) Windows 是多根的文件系统,物理上是 1 到多块硬盘,逻辑上分为 C.D.E--盘, 每个盘都是一棵树.Linux 是单根的文件系统,不分 CDE ...

  7. linux系统管理 vi编辑器

    Vim是vi improved的缩写是vi的改进版本,vi被认为是事实上的标准编辑器 所有版本的Linux都带有vi编辑器 占用的资源少 与ed,ex等其他编辑器相比,vi对用户更加友好 进入vi编辑 ...

  8. linux系统之-vi编辑器

    在linux系统使用中,掌握熟练的vi编辑器,可以提高linux工作效率.那么vi编辑器的使用方法有哪些呢? vi编辑器可在绝大部分linux发行版中使用. Vi编辑器的作用:创建或修改文件:维护li ...

  9. linux vi编辑器操作手册

    简介 Linux下的文本编辑器有很多种,vi 是最常用的,也是各版本Linux的标配.注意,vi 仅仅是一个文本编辑器,可以给字符着色,可以自动补全,但是不像 Windows 下的 word 有排版功 ...

随机推荐

  1. java第五次笔记

  2. 常见IO模型

    在socket的通信中,recv,accept,recvfrom(UDP协议接收信息)这些阶段由于需要收到信息,才能继续下面的代码,所以这些阶段叫做阻塞,类似于我们python变成中的input函数, ...

  3. vue使用动态渲染v-model输入框无法输入内容

    最近使用ElementUI框架,在动态渲染表单的时候,表单框无法输入内容,但是绑定model的数据是会发生变化 解决方法: 将动态生成的表单对象,深拷贝到 data 对象中 <el-date-p ...

  4. [Linux] Extend space of root disk in Linux7

    [root@node1 ~]# df -hFilesystem Size Used Avail Use% Mounted on/dev/mapper/centos-root 26G 17G 9.8G ...

  5. Java线程面试题Top50

    不管你是新程序员还是老手,你一定在面试中遇到过有关线程的问题.Java 语言一个重要的特点就是内置了对并发的支持,让 Java 大受企业和程序员的欢迎.大多数待遇丰厚的 Java 开发职位都要求开发者 ...

  6. spark中map与flatMap的区别

    作为spark初学者对,一直对map与flatMap两个函数比较难以理解,这几天看了和写了不少例子,终于把它们搞清楚了 两者的区别主要在于action后得到的值 例子: import org.apac ...

  7. dubbo-admin 配置运行

    1.下载dubbo源码:http://dubbo.io/ 2.idea 导入maven项目 3.配置tomcat:http://localhost:8080/ 4.下载zookeeper:http:/ ...

  8. 如何使用桥接模式使虚拟机VMware中的Redhat能上网

    VMware中有三种网络连接方式可使其上网:桥接模式,NAT模式,host-only模式,下面详细介绍如何使用桥接模式使虚拟机中的Redhat连上互联网. Bridge(桥接)模式 在Bridge模式 ...

  9. DevExpress ASP.NET Core Controls 2019发展蓝图(No.4)

    本文主要为大家介绍DevExpress ASP.NET Core Controls 2019年的官方发展蓝图,更多精彩内容欢迎持续收藏关注哦~ [DevExpress ASP.NET Controls ...

  10. 待实验的socketserver

    # -*- coding:utf-8 -*-# Author: Dennis Huang__Author__ = "Dennis" import socketserver clas ...