Vim编辑器初步接触

一、概要

    vim(IMproved)编辑器是vi(visual interface)编辑器的增强版,它是Linux系统编辑文本文件重要的工具之一,也是最基础的编辑工具。它可以执行输出、删除、查找、替换、块操作等众多文本操作。学会它之后,你使用Linux系统的路将更加平坦。

二、使用方法

    1、vim操作模式

                (1),编辑模式(command mode):也叫做命令模式,控制屏幕光标的移动,字符、字或行的删除,移动复制某区段及进入输入模式(Insert mode)下,或者到末行模式。            

                (2),输入模式(Insert mode):只有在Insert mode下,才可以做文字输入,按[ESC]键可回到命令行模式。

                (3),末行模式 (last line mode):将文件保存或退出vi,也可以设置编辑环境,如寻找字符串、列出行号……等。vim内置的命令行接口,执行vim的内置命令。

    2、vim的基本操作

                (1),打开文件:vim [option]…【FILE】…

                (2),3种模式间的切换:

                                     a、在命令模式下使用【i】键进入输入模式;

                                     b、在输入模式下使用【ESC】键退出输入模式并进入命令模式;

                                     c、在命令模式下使用【:】键进入末行模式;例如

                      : w filename (输入 [w filename]将文章以指定的文件名filename保存)

                      : wq (输入[wq],存盘并退出vim)

                      : q! (输入q!, 不存盘强制退出vim)

                      : x (执行保存并退出vim)

   3、vim常用快捷键

       (1) 移动光标

                    vi可以直接用键盘上的光标来上下左右移动,但正规的vi是用小写英文字母[h]、[j]、[k]、[l],分别控制光标左、下、上、右移一格。

                    按[ctrl]+[b]:屏幕往“后”移动一页。

                    按[ctrl]+[f]:屏幕往“前”移动一页。

                    按[ctrl]+[u]:屏幕往“后”移动半页。

                    按[ctrl]+[d]:屏幕往“前”移动半页。

                    按[gg]:移动到文章的首行。

                    按[G]:移动到文章的最后。

                    按[$]:移动到光标所在行的“行尾”。

                    按[O]: 移动到光标所在行的“行首”

                    按[^]:移动到光标所在行的“行首”的第一个非空白字符。

                    按[w]:光标跳到下个字的开头

                    按[e]:光标跳到下个字的字尾

                    按[b]:光标回到上个字的开头

                    按[#l]:光标移到该行的第#个位置,如:5l,56l。

       (2)编辑文本

删除

                    [x]:每按一次,删除光标所在位置的“后面”一个字符。

                    [#x]:例如,[6x]表示删除光标所在位置的“后面”6个字符

                    [X]:大写的X,每按一次,删除光标所在位置的“前面”一个字符。

                    [#X]:例如,[20X]表示删除光标所在位置的“前面”20个字符。

                    [dd]:删除光标所在行。

                    [#dd]:从光标所在行开始删除#行。

                    [yw]:将光标所在之处到字尾的字符复制到缓冲区中。

                    [#yw]:复制#个字到缓冲区

复制

                    [yy]:复制光标所在行到缓冲区

                    [#yy]:例如,[6yy]表示拷贝从光标所在的该行“往下数”6行文字。

                    [p]:将缓冲区内的字符贴到光标所在位置。

恢复上一次操作

                   [u]:如果您误执行一个命令,可以马上按下,回到上一个操作。按多次“u”可以执行多次回复。

                   [ctrl+r]:撤销此前的撤销操作

                   [.] :重复前一条命令

 修改

                    [cw]:更改光标所在处的字到字尾处

                    [c language=”""""""#w""""""”][/c]:例如,[c3w]表示更改3个字

 查找和替换

                    #:查找第#行

                    .:查找当前行

                    $:查找最后一行

                    %:全文查找,相当于1,$

                    g:global,全行替换

                     i:不区分字符大小写

在末行模式下查找和替换的格式:s/查找模式/要替换成的内容/gi

            a、查找模式:可以使用正则表达式

            b、要替换成的内容:不能使用模式,仅能使用引用

           举例说明:

               复制/etc/rc.d/init.d/functions至/tmp目录,替换/tmp/functions文件中的/etc/sysconfig/init为/var/log

                                                           :   cp /etc/rc.d/init,d/function /tmp

                                                           :  vim /tmp/functions

1428037829688364.png

                                                           :%s@/etc/sysconfig/init@/var/log@gi

1428037831448440.png

通过上图已经看见/etc/syscongfig/inint已经全部被替换成/var/log。

此外,vim也是一个多窗口、多文件的编辑器;     

多文件模式:

    :next,进入下一个文件

    :previous,进入上一个文件

    :last,进入最后一个文件

    :first,进入第一个文件

    :wqall,保存并退出所有文件

多窗口模式:

      -o:水平分割

      -O:垂直分割

      窗口间切换:ctrl+w+方向键

窗口属性定义:

    :set nu,显示行号

    :set nonu:不显示行号

    :set ai 自动缩进

    :set ic:忽略字符大小写

    :set noic:不忽略字符大小写

语法是否高亮:

        syntax on|off

搜索是否高亮:

        set nohlsearch|hlsearch

以上是vim编辑器的初步了解,通过以后的学习会更加深入!!

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

(0)
傲剑傲剑
上一篇 2015-04-03 15:13
下一篇 2015-04-03 19:53

相关推荐

  • 22期网络班+第一周作业+深圳+王金宝

    1、描述计算机的组成及其功能? 答: 显示器和主机,显示器就不说了 主机里又有,主板,又叫主机板(mainboard)、系统板(systembourd)和母板(motherboard);它安装在机箱内,是微机最基本的也是最重要的部件之一。主板一般为矩形电路板,上面安装了组成计算机的主要电路系统,一般有BIOS芯片、I/O控制芯片、键盘和面板控制开关 接口、指…

    Linux干货 2016-08-13
  • 文本查看类命令

    文本查看相关的命令:1.  cat – 串连文件,并以标准输出显示语法:cat [OPTION]… [FILE]… 常用选项 选项 | 含义—— | ——-n | 在显示文件内容时打印行号示例:~]# cat -n /etc/rc.d/init.d/functions显示/e…

    2017-09-07
  • 马哥教育网络班22期+第八周课程练习

    1. 请描述网桥、集线器、二层交换机、三层交换机、路由器的功能、使用场景与区别。 网桥:工作在OSI模型的数据链路层,将两个局域网连起来,根据MAC地址来转发帧。它可以有效地连接两个LAN,使本地通信限制在本网段内,并转发相应的信号至另一网段,网桥通常用于连接数量不多的、同一类型的网段,它可以扩展网络的距离或范围,而且可提高网络的性能、可靠性和安全…

    Linux干货 2016-12-19
  • MongoDB复制集及数据分片详解

    前言 MongoDB是一个由C++语言编写的基于分布式文件存储的数据库,是当前NoSQL数据库中比较热门的一种,旨在为Web应用提供可扩展的高性能数据存储解决方案。本文介绍MongoDB复制集及数据分片。 MongoDB 简介 MongoDB是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。支持的数据结构非常松散,…

    Linux干货 2015-07-15
  • Linux 压缩、解压缩和打包工具

        前言:你是否曾经因为某个文件占用空间较大,而空间紧缺的U盘无法存放此文件。你是否曾经因为软件里有太多文件而不方便复制和携带。你是否曾因需要备份太过零散而头疼。那么基于“文件压缩和打包”的技术因此出现。下面介绍下Linux下关于压缩、解压缩和打包的工具及使用。 一、相关术语的原理和意义   &…

    Linux干货 2015-07-15
  • RAID概述

    1、引言 RAID全称Redundant Arrays of Inexpensive Disks / Redundant Arrays of Independent Disks,即独立冗余磁盘阵列。RAID可以通过相关技术(软件/硬件),将多个较小的磁盘整合成为一个较大的磁盘整体,而且能从某些方面提高数据的读写及数据保护。RAID分为不同…

    Linux干货 2016-12-24

评论列表(2条)

  • stanley
    stanley 2015-04-03 15:23

    可以尝试14号字体,文章的优美度会提升不少。另外记得加上标签提高搜索命中率哦

    • jxf_tide
      jxf_tide 2015-04-07 09:04

      @stanley好的,,以后会注意