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
下一篇 2016-08-10

相关推荐

  • NFS实现(双httpd + php-fpm + nfs + mysql 搭建discuz论坛)

    NFS相关介绍一、NFS简介1. NFS(Network File System): NFS是一个文件共享协议, 也是是在类Unix系统中在内核中实现的文件系统。2. 起源: 最早是由SUN公司研发,非常古老,只是实现文件共享,安全控制方面比较简陋。 版本有, NFSv1, NFSv2,NFSv3,NFSv4. v4版开始支持kerber…

    Linux干货 2016-10-19
  • 马哥教育网络班20期+第6周课程练习

    1、复制/etc/rc.d/rc.sysinit文件至/tmp目录,将/tmp/rc.sysinit文件中的以至少一个空白字符开头的行的行首加#; cp /etc/rc.d/rc.sysinit /tmp sed 's/^[[:space:]]/#&/' /tmp/rc.sysinit 2、…

    Linux干货 2016-08-15
  • 堡垒机-麒麟开源堡垒机苹果 Mac支持版本发布

      近日,麒麟开源堡垒机团队开发测试了支持Mac OS苹果操作系统的Web插件,苹果系统用户可以直接和Windows用户一样,登录到Web平台,使用点击的方式调动运维工具并且登录到目标系统进行操作运维。 Mac OS插件支持ssh、telnet、rdp、vnc、x11、sftp、ftp、应用发布等所有协议。   注:麒…

    Linux干货 2016-05-19
  • nfs服务部署wordpress

    NFS服务简介 NFS 是Network File System的缩写,即网络文件系统。一种使用于分散式文件系统的协定,由Sun公司开发,于1984年向外公布。功能是通过网络让不同的机器、不同的操作系统能够彼此分享个别的数据,让应用程序在客户端通过网络访问位于服务器磁盘中的数据,是在类Unix系统间实现磁盘文件共享的一种方法。 NFS 的基本原则是“容许不同…

    2017-04-28
  • Linux学习练习及作业&day07-正则表达式&文本处理工具

    第一部分、使用基本的文本处理工具(非grep)练习以下5题。 1、找出ifconfig命令结果中本机的所有IPv4地址     [root@localhost ~]# ifconfig |head -2 |tail -1     …

    Linux干货 2016-08-08
  • rpm包管理

    rpm包管理 由于 RPM 是透过预先编译打包成为 RPM 文件格式后,再加以安装的一种方式,还能够进行数据库的记载。 所以 RPM 有以下的优点: RPM 内含已经编译过的程序与配置文件等数据,可以让用户免除重新编译的困扰; RPM 在被安装前,会先检查系统的硬盘容量、操作系统版本等,可避免档案被错误安装; RPM 档案本身提供软件版本信息、相依属性软件名…

    Linux干货 2016-08-21