关闭

Linux的Vim文本编辑器

标签: linux
111人阅读 评论(0) 收藏 举报
分类:

Linux,Unix服务端应用的时候,往往是没有图形化界面的使用命令行这种方式,这就存在没有图形化界面如何编写脚本和修改配置文件,这里有许多非文本编辑器的选择。

 

Vim/vi简介

Vim/Vi是一个功能强大的全屏幕文本编辑器,是Linux/Unix上最常使用的文本编辑器,它的作用是建立,编辑,显示文本文件。Vim/Vi 没有菜单,只有命令。

 

vi最常用的两个操作:(1)编辑文本文件,主要是系统的配置文件。(2)写一些脚本。主要是shell脚本。

要想简单使用vi,下面的图片里面内容就够了。


vi有三种工作模式 一种命令模式  一种插入模式  一种编辑模式。

在缺省进入vi,使用vi编辑或者创建一个文件的时候,缺省进入的是一个命令模式,换句话说从键盘上面做任何的输入系统都会将其当做一个命令来处理,当输入相应的插入命令以后,会进入插入模式,这个时候就像我们使用记事本或者Word一样,可以输入想要键入的内容。在编辑模式可以对vi正在编辑的文档做一些额外相关的设置,包括保存退出,设置行号,查找等等,都可以在编辑模式下完成。

 

直接用vi加上这个文件名字就可以直接编辑这个文件,如果这个文件不存在,那么就可以创建并且编辑这个文件。

 

进入文件之后默认是在vim的命令模式下面。

进入编译器就按下i命令可以在文本当中插入想要插入的信息。如果要想保留文件一定要回到命令模式,要从命令模式进入到插入模式可以输入相应的插入模式的命令如 i  a  o

在进行完文本的插入之后,要从插入模式到命令模式按esc键回到命令模式,最后输入:wq退出并且进行保存。

 

 

在命令模式可以直接进入编辑模式,在实际了应用里面可能会发生这样的事情,如一个配置文件第800行出现了错误要定位到该行,这时候可以使用编辑模式定位到某一行。编辑模式最大的特点就是每次写命令的时候都要加上:号后面接上命令。即冒号后面接上命令就是编辑模式。在编辑模式命令执行完毕之后就自动回到命令模式了。

  5 #

  6 # Remove leading # and set to the amount of RAM for the most important data

  7 # cache in MySQL. Start at 70% of total RAM for dedicated server, else 10%.

  8 # innodb_buffer_pool_size = 128M

  9 #

 10 # Remove leading # to turn on a very important data integrity option: logging

 11 # changes to the binary log between backups.

 12 # log_bin

 13 #

 14 # Remove leading # to set options mainly useful for reporting servers.

 15 # The server defaults are faster for transactions and fast SELECTs.

 16 # Adjust sizes as needed, experiment to find the optimal values.

 17 # join_buffer_size = 128M

 18 # sort_buffer_size = 2M

 19 # read_rnd_buffer_size = 2M

 20 datadir=/var/lib/mysql

 21 socket=/var/lib/mysql/mysql.sock

 22

 23 # Disabling symbolic-links is recommended to prevent assorted security risks

 24 symbolic-links=0

 25

 26 # Recommended in standard MySQL setup

 27 sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES

 28 log-bin

 29

:set nu  在编辑模式下面输入set nu可以编辑行号。

 

为了使得vim使用的效率更加高效,可以使用下面几种命令


每次使用插入命令的时候要退出到命令模式之后在切换到其他插入模式,不可以在插入模式里面写插入命令。


这个是命令只有在vim命令模式下面才可以使用。


有两种定位的方式,第一种行号加上G,第2种冒号加上n行。


可以先使用:行 定位到该行之后使用dd命令删除该行。



需要修改的内容较少只需按下r之后敲上要替换的字符就可以将之前的字符替换了。有的时候修改文档的时候没有必要每次进入插入模式进行修改只要用r就行了。

如果要替换光标处后面的内容使用R,输入的内容会将覆盖之前的内容。


在做了一些操作不理想比如删除错了东西可以使用u取消上一步操作。如果一直用u那么就会一直返回上一步操作。只要没有保存文档这个恢复性的操作可以一直做。


在配置一个apache serverapache的配置文件很长,在配置文件查找某些选项的时候不可能一行一行往下翻,可以找选项匹配的关键词,使用/加上关键的字符串,就可以来进行查找。

先使用/要查找的关键字之后使用n键一直向下面查找指定的关键字。n从前面往后面找N反之。

在一些服务器的文件里面是区分大小写的,在Linux里面是严格区分大小写的,不管是命令选项或者是配置文件里面。都是严格区分大小写的。

如果要求查找关键字不区分大小写就使用:set ic  设置了之后使用 /关键字   ftp  Ftp都会找到。

关闭忽略大小写:set noic

 

:%s/ftp/newftp/c

replace with newftp (y/n/a/q/l/^E/^Y)?

替换的时候如果要谨慎就使用c,觉得不需要询问就使用(g,替换之前会询问高亮的地方是否要被替换。如果全部替换使用ftp部分替换为newftp

 

保存文件最常使用的命令就是:wq(write quite),也可以使用shift z z就可以保存退出了。

 

将所有者的权限改为只有读权限,此时再向文件里面写入东西再保存就会提出警告要使用:wq!才可以保存文件。但是这个是要有条件的,不是什么用户没有写权限都可以保存退出的。只有这个文件的所有者或者管理员root才可以没有写权限但是可以保存文件。在Linux里面有一个特殊的用户就是管理员很多制度的规则对管理员是没有效果的。管理员在编辑文件的时候即使没有写权限但是一样可以编辑文件。

不保存就是:q!(有的时候编辑文件结果并不理想不保存)

如果只保存不退出就使用:w

存放到其他目录下面。:w /root/service.bak保存当前的文件,并且另存为service.bak文件。


vi里面还有许多有趣的用法。

vi里面可以导入其他文件的内容。

在使用vi进入一个文件后可以使用:r将其他文件的内容导入到当前Vi编辑的文件里面。

 

!命令  如果在vi编辑文本的过程当中想使用命令(非vi命令)就可以使用。不需要退出vi编辑器。如在使用vi编辑文本的过程当中可以使用ls -a查看所有的目录。:!ls -a /

这些命令执行完毕后会继续回到vi编辑模式下。

 

:r  !可以一起使用

:r不仅可以导入一个文件的内容还可以导入一个命令执行的结果,但是这个需要!加上该命令才可以。

:r !date将当前日期导入到该文件。

 


连续注释行其实就是应用了替换的命令:%s/old/new/g

:n1,n2s Vi里面表示连续行的一个范围。

/^  ^vi里面表示行首。

在行首添加# :n1,n2s/^/#/g

:set nu可以为行编号.

 

     32 #[mysqld_safe]

     33 #log-error=/var/log/mysqld.log

     34 pid-file=/var/run/mysqld/mysqld.pid

:32,33s/^/#/g

 

在行首删除#

:n1,n2s/^#//g

替换为空就是删除。

 

     32 //#[mysqld_safe]

     33 //#log-error=/var/log/mysqld.log

     34 pid-file=/var/run/mysqld/mysqld.pid

:32,33s/^/\/\//g   \是转义符



1
0
查看评论

linux 强大的文本编辑器 vim

本文主要介绍vim的三种主要模式,快捷键操作,命令操作及解释 vi 简介:Visual Interface 可视化界面 命令行下的文本编辑器种类可分为两种,一种是行编辑器,比如sed ;一种是全屏编辑器 比如nano,vi ;vim 是vi Improv...
  • ly1358152944
  • ly1358152944
  • 2016-08-19 20:37
  • 1993

VIM文本编辑器的使用(一)

Vim是一个类似于Vi的著名的功能强大、高度可定制的文本编辑器,在Vi的基础上改进和增加了很多特性。VIM是纯粹的自由软件。 Vim普遍被推崇为类Vi编辑器中最好的一个,事实上真正的劲敌来自Emacs的不同变体。1999 年Emacs被选为Linuxworld文本编辑分类的优胜者,Vim屈居第二。...
  • wjymzh
  • wjymzh
  • 2016-05-14 22:06
  • 644

Linux高级文本编辑器比较:kate vs gedit

感谢原著作者对人类文化的传播做出的努力!以下内容直译为主,意译为辅,同时笔者可能会加入个人观点以方便理解。如有翻译不当的地方希望各位同仁积极指出,如有必要的话请做出引证,以助于笔者翻译水平的提高,同时也有利于其它读者的学习,进步。天朗气清,惠风和畅,祝各位生活愉快! 原文链接:点击打开链接 所有...
  • bi_jian
  • bi_jian
  • 2016-11-10 15:23
  • 3823

Linux的vim文本编辑器

vi编辑器是Linux系统上常用的文本编辑器,它的改进版本vim增加了很多扩展功能,使之更适合编辑各种程序语言的源代码。 vim下有三种工作模式:命令行模式(整行操作),插入模式和底行模式。 在命令行模式下敲打以下命令会进行相应的操作: dd:删除光标行 ndd:删除光标及以下n行 d...
  • fhb1922702569
  • fhb1922702569
  • 2016-10-21 22:51
  • 101

ubuntu修改默认文本编辑器为vim

cho export EDITOR=/usr/bin/vim >> ~/.bashrc 参考: http://www.2cto.com/os/201208/152009.html
  • haohaibo031113
  • haohaibo031113
  • 2017-05-21 01:25
  • 204

鄙人的网易博客整理(研究生一年级)- 关于vim学习曲线

这一年花了很多时间在vim的学习上,过程是愉快的,结果是毫无用处。 实习后发现公司里需要和团队一起开发代码,Eclipse或Intelij IDEA 13等IDE支持版本控制,代码补全,自动排版,debug工具。与其相比,vim唯一的好处就只剩下启动快了。另外,有源代码的技术博客非常非常非常少。目...
  • caib1109
  • caib1109
  • 2016-06-12 18:46
  • 582

Vi、Vim及Gedit编辑器

Linux doc by: zollty   搜索(注意,不需要输入:号。也可以先输入:号再键入命令)   /string……………………向后搜索,从光标处向文件尾搜索,按n键继续搜索下一个 ?string……………………向前搜索 注意:搜索时会将所有匹配的字符串高亮
  • zollty
  • zollty
  • 2011-09-13 20:46
  • 8383

Linux基础命令 文本编辑器Vim

本文介绍vim(版本7.4)的一般用法,vim是功能强大的文本编辑器,是vi的增强版。 使用vim编辑一个文件的最常用命令就是: vim file 是一个新文件,也可以是原有文件。这样的命令执行后将打开编辑器,显示文件file的内容。如图所示: 如果是...
  • qq_36801146
  • qq_36801146
  • 2016-12-19 09:44
  • 239

使用vim文本编辑器的几条小技巧

使用vi文本编辑器的小技巧想成为一个高效的Coder,离不开熟练使用vi编辑器。另外,在Linux系统中,通过鼠标左键选中的文字,再通过按住鼠标中间滚动条来粘贴功能也是需要掌握的小技巧。接触Linux几年后,该技巧也是通过一次偶然在别人的博客得知的。配置文件是Linux系统中的显著特征之一,其作用有...
  • yufengzheyang
  • yufengzheyang
  • 2016-07-29 10:16
  • 798

Linux文本编辑器Vim

一、插入命令          二、定位命令
  • angleretar
  • angleretar
  • 2013-10-19 20:36
  • 420