第三部分 第10章 vi 文字处理器

第三部分 第10章 vi 文字处理器
        1.vi与vim
        vi是通用文字处理器,vim是vi的高级版本,一般用于程序开发
        2.vi的使用
          vi 分为三种模式
          一般模式:可以“上下左右,删除字符,删除整行,复制,粘贴”
          但是不能编辑
          编辑模式:按下“i,I,o,O,a,A,r,R”等字母之后才会进入编辑模式
          按下“Esc”才会返回一般模式
          命令行命令模式:在一般模式下输入“:或/或?”就可以将光标移动到最下面
          ,在这里可以搜索数据,而且读取,存盘,大量删除字符,离开vi,显示行号
          等操作都是在此模式中实现的。
          :wq 保存并退出
          :wq!强制写入,但是需要“你的权限可以改变”
          /word :从光标开始,向下搜索一个“word”
          ?word :从光标开始,向上搜索名为word的字符串
         
          n(数字):向下移动n行
          n :向下重复搜索这一动作
          N :向上重复搜索这一动作
         
          :nl 搜索替换
          :l
          :x X向前向后删除一个字符
          :dd 删除一整行
          :ndd
          yy复制光标所在的那一行
          nyy复制光标所在的向下n行
          :w 存盘
          :W! 强制写入该文件
          :q
          :q!
          :wq 存储后离开
          :e! 还原到最原始的状态
          ZZ 更改了,不存储离开,若更改了,则存储了离开
          :w [filename] 将编辑的数据存储成另一个文件
          :r [filename] 读取另一个文件的哦数据
         
          练习题:
          1.在/tmp目录下建立一个名为vitest的目录
           mkdir /tmp/vitest
         
          2.进入vitest目录
          cd /tmp/vitest
         
          3.将/etc/man.config复制到本目录(或下载http://...../man.config)
          cp /etc/man.config .
          或 wget -c http://.../man.config -O man1.config
         
          4.使用vi 打开本目录下的man.config
          vi man.config
         
          5.在vi中设置行号
          :set nu
         
          6.移动到58行,向右移动40个字符
          58G,40-
         
          7.移动到第一行,并向下搜索“bzip2”
          1G,/bzip2
         
          8.将50-100行之间man改为MAN,并一个一个确认
          :50,100s/man/MAN/gc (confirm)
         
          9.修改完后反悔
          一直按u,或::e! :q!
         
          10.要复制51-60的内容,并粘贴到最后一行
          51G 10yy, G, p
         
          11.删除11-30行之间的20行
          11G,20dd
         
          12.将这个文件另存为man.test.config
          :w man.test.config
         
          13.到29行,并且删除15个字符
          29G,15x
         
          14.存储后离开
          :wq!
         
        3.文件的恢复与暂存盘 
          vi会存一个临时文件,是一个隐藏文件,如/tmp/passwd 会有一个临时文件
          /tmp/.passwd.swp ,未正常关闭时,打开文件时会提示是否恢复,选择恢复
          可以更新文件。
         
        4.vim的附加功能
          vim具有颜色显示功能,并且可以支持许多程序语法,在使用vim的时候,
          vim可以帮你直接进行“程序调试(debug)”
          vim具有几个特点:
           1)最下面一行说明这个文件的特点,
           2)1,1表示当前贯标在第一行第一个字符上
           3) Top表示,这个画面是整个文件的最上方
          
        5.块选择(Visual Block)
        Ctrl+v[V]开始块选择,y进行复制,p进行粘贴
        多窗口功能,文件对照功能,:sp{filename}
        Ctrl+w+j/k/q 分别移动到下个窗口,上个窗口,离开当前窗口
       
        5.vim 环境设置
            1)vim会将曾经做过的行为记录下来,~/.viminfo 每个人的home目录都有
            这个文件,自动产生
            2)环境设置,太多了,常见的如下
             :set nu 行号
             : set hlsearch 搜索反白
             : set autoindent 自动缩进
             : set ruler 右下角说明
             :set backup 是否自动备份
             :set showmode 是否有下贱显示“INSERT”
             :set backspace(01(刚输入的)2(任意字符))
             :set all显示所有环境参数
             :syntax (on/off)
       
        6.使用vi进行练习
            1) 设置man page搜索路径
            vi /etc/man.config
            在74行的地方加上 :MANPATH /opt/。。。
           
            2)让系统每天更新数据库,但是不要更新/var/cache
            vi /etc/updatedb.conf
            DAILY_UPDATE=yes
            PRUNEPATHS="...... /var/cache"
           
            3)开机默认载入 /dev/hdb5
            vi /etc/fstab
            加入
            /dev/hdb5 /disk2 ext3 default 2 2
           
        7.DOS 与 Linux的换行符
            Dos脚本转化到Linux,dos2unix [-kn] file [newfile]
           
        8.习题
            1)我要在某个文件第34行向右移动15个字符,一般怎么使用
            答:在一般模式下,34G,15-
           
            2) 在vi中,pagedown 见可以用什么组合键来替换
            答:Ctrl + f, ctrl + b
           
            3)如何进入vi文件的页首和页尾
            答:gg和G
           
            4)如何在一行中,移动到行首及行尾
            答:0和$
           
            5)vi中,r有什么功能
            答:替换当前光标所在的那个字符
           
            6)如何将当前页面另存为新文件
            答:w filename
           
            7)在linux中最常用的文字编辑器为vi,如何进入编辑模式
            答:vi filename
           
            8) 如何由编辑模式跳回一般模式
            答:esc
           
            9)如果上下左右键无法使用时,如何在一般模式移动光标
            答:hjkl 左上下右
           
            10) 如果[pageup][Pagedown]在一般模式无法使用时,如何向前或向后
            翻一页
            答:[Ctrl]+f, [Ctrl]+b
           
            11) 如何移到本文件的最后一行,第一行,本行的第一个字符,
            最后一个字符
            答:
                1G,gg本文件第一行,G最后一行
                H,M,L :本屏幕第一行,中间行,最后一行
                0 : 本行第一个字符
                $ :本行最后一个字符
           
            12) 如何删除一行 n行,及一个字符
            答:dd删除当前行,ndd删除n行,x删除后一个字符,X删除前一个字符
            nx删除后面连续n个字符
           
            13) 如何复制一行,n行并粘贴
            答:yy复制当前行,nyy复制n行,p粘贴
           
            14) 如何搜索string字符串
            答:/string
           
            15) 如何将word1换成word2,当需要用户确认机制时,又该如何做
            答:: 1,$s/word1/word2/gc
           
            16) 如何读取一个文件filename进入当前文件
            答::r filename
           
            17) 如何另存新文件为newfilename
            答::w newfilename
           
            18) 如何存档,离开,存档后离开,强制存档后离开
            答::w, :q, :wq, :wq!
           
            19) 在vi中做了很多的编辑操作后,想还原成原来的文件内容,
            应该怎么进行
            答:一直按u,或者e!,不存盘后再次打开
           
            20) 在vi程序中,不想离开vi,但想执行ls/home命令,vi有什么
            附加的功能可以实现这个目的
            答::!ls /home
           
            21) 如何设置与取消行号
            答::set nu :set nonu

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值