linux文本编辑器,vim编辑器

定义:文本(纯文本信息,必须是不加任何修饰的文本信息)编辑器

文本编辑器种类:

                行文本编辑器 :sed

                全屏文本编辑器:nano 、vim

VI全称:visual interface ,vim为vi的增强版,为vi improve

vim(vi Improve)用法

              vim 选项 文件:打开的文件不存在,自动创建新文件,存在直接打开文件

vim文本编辑器三种模式(千万弄清三种模式哦,不要混乱):

                  命令模式:

                  输入模式:

                 扩展编辑模式:

                            系统内置的命令行接口                   

三种模式之间的转换:

        命令模式:默认模式

命令模式——>文输入模式

                       i:insert ,光标所在处向前输入

                       I:光标所在行的行首输入

                       a:append,光标所在处的后方转换为输入

                       A:光标所在行的行尾输入

                       o:在光标所在处下方直接打开一行,光标处于行首

                       O:光标坐在处的上方打开一个新行

                    

         从输入模式|扩展模式———>命令模式:按ESC模式

         从命令模式———>扩展模式:按:建

         小白们注意啦!:不能从插入模式直接到扩展命令模式

        文件锁定和解锁:ctrl+s和ctrl+q

  vim 打开文档

              + #:打开文件后,让光标处于第#行的行首

              +/pattern模式(正则表达式):打开文件后,直接让光标处于第一个匹配字符的行首

              +:将光标自动处于文件行尾

              -m:打开的文件只有读权限,不能进行编辑保存

              -b:二进制方式打开文件

              -d:打开多个文件

       六种模式举例:

              一、让光标处于第五行:

               1.png

          

             二、 将光标处于匹配模式的行:

              1.png

              linux文本编辑器,vim编辑器

               三、自动将光标处于行尾     

             linux文本编辑器,vim编辑器

             linux文本编辑器,vim编辑器

             四、打开的文件只有读权限,对其进行编辑将不能进行保存

              linux文本编辑器,vim编辑器

              linux文本编辑器,vim编辑器

              五、以二进制方式打开文件

             9.png

            六、打开多个文件(会标注两个文件不同的地方)

            linux文本编辑器,vim编辑器

           linux文本编辑器,vim编辑器

  vim关闭文档:

            扩展模式下:

                 :q退出,文件未做过任何操作

                 :q!不保存退出

                 :wq保存退出

                :x保存退出

                :w/路径   将文件保存到另外文件中

           命令模式下:

                 输入ZZ(两个大Z):保存退出

                 输入ZQ:不保存退出

vim扩展操作:

          w:将范围内的文本保存到指定的文件中

          r路径:将指定的文件中的文本读出并插入到指定位置

          ! 命令:跳出文件扩展模式,执行其他命令,命令结束按Enter回到编辑模式

          r!命令:将执行命令的结果写入文件中

   四种用法实例

         一、编辑/etc/issue文件,添加主机名和时间,和当前登录终端提示,并将其另存到/testdir/issue.bak中.

              注意:当用:w 将文件保存到另一个文件时,如果文件不存在会创建新文件,存在需要用w! 强制保存,并将原文件覆盖

           12.png

           linux文本编辑器,vim编辑器   

       二、将文件/etc/issue文件,添加到/testdir/fstab文件的第5行

            15.png

           14.png

      三、当正在编辑文件时,突然需要查看ip地址怎么办:

             15.png

      四:将/root下所有的文件列表添加到/testdir/f1 文件中

            打开f1在扩展模式下输入r!ls /root

            linux文本编辑器,vim编辑器

           linux文本编辑器,vim编辑器

命令模式下的光标跳转:

     字符间跳转

         h:左

         l:右

         j: 下

         k:上

        先输入数字n,在输入(h| l | j |k):实现光标向(左|右|下|上)跳转n个字符

  单词间跳转

       w:跳到下一个单词的词首

       b:当前或前一个单词的词首(当光标位于当前单词的词尾时会跳到当前单词的词首)

       e:当前或后一个单词的词尾

       先输入数字n,在输入(w| b| e):实现光标向(后|前|后)跳转n个单词

命令模式下翻屏:

          ctrl+f:向文件尾部翻一屏

          ctrl+b:向文件首部翻一屏

          ctrl+d:向文件尾部翻半屏

          ctrl+u:向文件首部翻半屏

          enter:一行一行的后翻

命令模式操作

  字符编辑:

        x:删除光标所在处的字符

        #x:删除光标所在处的启始#个字符

        xp:交换光标坐在处的字符,以及后面的字符的位置

        ~:大小写转换

   删除操作:

     d:删除命令,可结合光标跳转字符实现范围删除;

         d$:删除光标处到行尾的内容

         d^:删除光标的内容一直到行首

         dw:以单词为单位向后删除

         de:以单词为单位向后删除

         db:以单词为单位向前删除

      输入数字n,在输入(dw|de|db),分别为(向后|向后|向前)删除n个单词

         dd:删除整行

        3dd:删除光标所在的行起始的共3行;删除的内容会保留到缓冲区中,刚刚删除的内容可以黏贴

      黏贴命令:

          p:缓冲区中的内容如果为整行或多个,则粘贴在当前光标所在行的下方,否则粘贴在当前光标的后方

          P:缓冲区中的内容如果为整行或多个,则粘贴在当前光标所在行的上方,否则粘贴在当前光标的前方

    复制命令(yank):

          y:复制,工作行为相似与d命令

          yy复制整行

  改变命令(change ,c);

       与d模式相同,但是删除完之后将编辑模式转换成输入模式

       cc:删除光标所在处的行并转化成输入模式

命令模式操作文本:

       编辑模式下输入数字n—>i |a|o|I|A|O—>输入内容—>enter:会将输入的内容重复n次添加到文件中

       开始位置 —>命令(y[复制],d[删除],gU[大写],gu[变小写])—>结束位置

  

撤销操作(undo u

 u:撤销 此前操作

 #u:

 撤销此前的撤销:ctrl

重复执行 前一个编辑操作 .n.重复前面操作n次)

 

扩展模式

vim扩展操作:

w:将范围内的文本保存到指定的文件中

r路径:将指定的文件中的文本读出并插入到指定位置

! 命令:跳出文件扩展模式,执行其他命令,命令结束按Enter回到编辑模式

r!命令:将执行命令的结果写入文件中

四种用法实例

一、编辑/etc/issue文件,添加主机名和时间,和当前登录终端提示,并将其另存到/testdir/issue.bak中.

注意:当用:w 将文件保存到另一个文件时,如果文件不存在会创建新文件,存在需要用w! 强制保存,并将原文件覆盖

linux文本编辑器,vim编辑器

linux文本编辑器,vim编辑器

linux文本编辑器,vim编辑器

二、将文件/etc/issue文件,添加到/testdir/fstab文件的第5行

linux文本编辑器,vim编辑器

三、当正在编辑文件时,突然需要查看ip地址怎么办:

linux文本编辑器,vim编辑器

四:将/root下所有的文件列表添加到/testdir/f1 文件中

打开f1在扩展模式下输入r!ls /root

linux文本编辑器,vim编辑器

地址界定:

:start_pos,end_pos

n:特定的第n行

n,+m:指定行范围,从n行,到n+m行

.:代表当前行

$:表示最后一行

.,$-1:当前行到倒数第二行

/pattern/从光标所在位置第一次被模式所匹配到的行

/pat1/,/pat2/

从第一次被pat1模式匹配到的行开始,一直到第一次被pat2匹配到的行结束

n,/pat/

/pat/,$

使用方式:后跟一个编辑命令dy

w  file: 将范围内的行另存至指定文件中

r  file:在指定位置插入指定文件中的所有内容

 

查找

/PATTERN:从当前光标所在处向文件尾部查找

?PATTERN:从当前光标所在处向文件首部查找

n:与命令同方向

N:与命令反方向

 

举例:查找/etc/fstab文件中含有UUID的行

     linux文本编辑器,vim编辑器linux文本编辑器,vim编辑器

扩展模式下查找替换:

         三种格式:s/查找内容/替换内容/修饰符、s@@@s###

     查找内容:可以使用pattern模式

     替换内容:不可以是用Pattern ,但是可以使用&\1,&引用前面查找的所有内容,\1后向引用。

         修饰符:i忽略大小写,g全局替换,默认情况下只替换行的第一个,c替换前出现提示信息

 

举例:

 

1、 复制/etc/profile/tmp/目录,用查找替换命令删除/tmp/profile文件中的行首的空白字符:

linux文本编辑器,vim编辑器

2、复制/etc/rc.d/init.d/functions文件至/tmp目录,用查找替换命令为/tmp/functions的每行开头为空白字符的行的行首添加一个#

  linux文本编辑器,vim编辑器

可视化模块

         v:面向字符,选中可以以字符为单位

V:面向行,也就是选中以行为单位

多文件模式

vim file1 file2 file3 …..

:next 下一个

: prev 前一个

:first 第一个

:last 最后一个

:wall 保存所有

: qall 退出所有

: wqall

多窗口

多文件分割

vim – o| – O FILE1 FILE2 …

– o: 水平分割

– O: 垂直分割

在窗口间切换: Ctrl+w, 再按箭头键(arrow)进行窗口切换

单文件窗口分割:

Ctrl+w,s: split, 水平分割

Ctrl+w,v: vertical, 垂直分割

ctrl+w,q:取消相邻窗口

ctrl+w,o:取消全部窗口

wqall 退出

定制vim

配置文件

全局: /etc/vimrc

个人: ~/. vimrc (家目录下无此文件需要自己填加)

扩展模式:当前vim进程有效

 (1) 行号

显示: set number, 简写为set nu

取消显示: set nonumber, 简写为set nonu

 (3) 自动缩进

启用: set ai

禁用: set noai

 (4) 高亮搜索

启用: set hlsearch

禁用: set nohlsearch

 (5) 语法高亮

启用: syntax on

禁用: syntax off

 (6) 忽略字符的大小写

启用: set ic

不忽略: set noic

 (7) 文件格式

启用: fileformat=unix

不忽略: fileformat=dos

 (8) 设置文本宽度

:set textwidth=65 (vim only)

:set wrapmargin=15

 

vim帮助手册:

man help

输入:vimtutor命令

扩展模式下输入:help

:help option- list

 :set or :set all

                  

                                   

                                       

                                       

                                 

                                          

                                          

                                         

                                          

                                 

原创文章,作者:wangnannan,如若转载,请注明出处:http://www.178linux.com/30468

(0)
wangnannanwangnannan
上一篇 2016-08-10 13:58
下一篇 2016-08-10 13:58

相关推荐

  • 系统管理至grub故障排错及自建linux

    第二章    系统启动故障排除     1、grub配置文件写错,无法进入系统     步骤:(修复完成后记得修改配置文件为正确的文件)     方法一:进入启动菜单项后,修改菜单项为正确的内容,然后…

    Linux干货 2016-09-13
  • lvs——高可用集群

    技术简介: LVS集群采用IP负载均衡技术和基于内容请求分发技术。调度器具有很好的吞吐率,将请求均衡地转移到不同的服务器上执行,且调度器自动屏蔽掉服务器的故障,从而将一组服务器构成一个高性能的、高可用的虚拟服务器。整个服务器集群的结构对客户是透明的,而且无需修改客户端和服务器端的程序。为此,在设计时需要考虑系统的透明性、可伸缩性、高可用性和易管理性 集群采用…

    Linux干货 2016-10-26
  • ps/top/htop/dstat命令的使用说明

    ps命令参数说明       ps命令是一种静态显示进程(process)状态的外部命令,获取的是某一个时间点的状态信息,其常用选项参数如下:         -A:all process信息    …

    Linux干货 2016-12-16
  • 基于centos7的http的应用

     练习:分别使用CentOS 7和CentOS 6实现以下任务         (1) 配置三个基于名称的虚拟主机;             (a) discuzX             …

    Linux干货 2016-10-12
  • VIM 文 本 编 辑 工 具-20160808

    VIM 文 本 编 辑 工 具 §·学习大纲   一·使用vi和vim的三种主要模式 二·扩展模式下基本操作 三·命令模式下基本操作 四·编辑模式下基本操作 五·VIM寄存器 六·编辑二进制文件 七·可视化模式 八·多文件模式 九·使用多个“窗口” 十·定制vim的工作特性 十一·VIM了解更多 十二·练习题     §·使用v…

    Linux干货 2016-08-10
  • lamp平台 php解析器基于模块和php-fpm

    首先,我先介绍一下实验环境: http服务器:192.168.236.128(php解析器基于modules) mysql服务器:192.168.236.129 编译和配置http服务器,http版本是2.4以上的。 由于http依赖于apr apr-util这两个包,但是我们系统上的rpm包版本比较低,我们也需要下载这两个源码包来编译,解决依赖关系。 还要…

    Linux干货 2015-08-31