普通Linux用户需要了解的编辑器
目录
1. 编辑器之战
2. vi的使用
2.1 vi的3个模式
2.2 vi的3个模式切换
2.3 vi最基本的命令
2.4 vi的基本使用流程
3. 进阶,普通用户有兴趣可以google查看
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返回普通模式)
注意:
- 在插入模式,命令模式时,输入键盘内容都会按照字符被接收,比如i,:都会被输入到光标位置。要切换模式,需要Esc返回普通模式,再按i或者:才能被理解为切换模式的命令。
- 普通模式,并不只是查看模式,输入“dd”删除当前行,“dw”删除当前单词,“d$”删除光标到行尾,等等等,有非常多的快捷键。普通模式也是可以修改到文本内容的,所以这个模式建议只使用方向键及翻页键查看。当然,普通用户不必要记忆这些快捷键,可以不使用他们。这也是插入模式不叫做编辑模式的原因之一,进入插入模式的i也是英文插入的首字母。
- 若不小心按到了什么,也不确定有没有修改到文本,可以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的基本使用流程
- 找到配置文件;
- 使用cp命令复制备份先;
- 然后vi打开,上下翻,或和/,?关键字搜索到需要修改的地方;
- 按i进入插入模式,进行编辑修改;
- 编辑完成后:wq,保存推出;
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)
