Linux从入门到精通——Vim及输入输出管理

一.vim的常用功能

vim是从vi发展出来的一个文本编辑器。代码补全、编译及错误跳转等方便编程的功能特别丰富,在程序员中被广泛使用,和Emacs并列成为类Unix系统用户最喜欢的文本编辑器

vim的模式有以下几种:

     (1).命令模式: 浏览文件,临时更改vim的工作方式,对字符批量处理    

     (2).插入模式:对文件内容进行编辑

     (3).退出模式:退出vim程序

1.命令模式
   1)
       调整vim的工作方式
       在vim程序中
       :set 调整参数
                                 示例:  
                                        :set nu         ##在每一行前显示行号
                                        :set nonu       ##取消行号显示
                                        :set mouse=a       ##显示鼠标
                                        :set cursorline     ##显示行线
                               注意:
                                        在vim程序中设定的vim工作方式是临时的,在vim关闭后会还源
                                        如果要永久保存vim的工作方式需要编辑vim的配置文件:/etc/vimrc

2) 字符的搜索 

     /关键字              n向下匹配             N向上匹配    

3) 字符的管理

                           y          ##复制

                           yl         ##复制一个字母

                           y3l       ##复制3个字母

                           yw       ##复制一个单词

                           y3w     ##复制3个单词

                           yy        ##复制1行

                           y3y      ##复制3行


                          d          ##删除

                         dl          ##删除一个字母

                         d3l        ##删除3个字母

                         dw        ##删除1个单词

                         d3w      ##删除3个单词

                         dd         ##删除1行

                         d3d       ##删除3行


                         c           ##剪切

                         cl          ##剪切1个字母

                         c3l        ##剪切3个字母

                         cw        ##剪切1个单词

                         c3w      ##剪切3个单词

                         cc         ##剪切1行

                         c3c       ##剪切3行         注意:在剪切之后vim会进入插入模式,如果要粘贴需要按【esc】退出插入模式然后按p粘贴"


                         p               ##粘贴

                         u               ##撤销

                         ctrl+r         ##恢复撤销

4)  vim可视化模式      

                         ctrl + v        ##在这个模式下可以选择区域操作

 如批量添加字符:

                         ctrl + v 选中要加入字符所在的列

                         按大写的I

                        加入字符

                        按【esc】

5)  字符的替换

                                    :%s/要替换的字符/替换成的字符/g
                                  :%s/:/@/g                                              ##替换全文的:为@
                                  :1,5s/:/@/g                                            ##替换1-5行的:为@
                 注意:  %s标示所有的行,g标示所有的列

 

6) vim 的分屏功能

                                                 ctrl+w s                  ##上下分屏
                                                 ctrl+w v                  ##左右分屏
                                                 ctrl+w c                  ##关闭光标所在屏幕
                                                 ctrl+w 上下左右     ##光标移动到指定屏幕
                                                :sp file2                  ##同时编辑当前文件和file2

7)   在命令模式下光标的移动

                   gg           ##光标移动到文件的第一行
                   G            ##光标移动到文件的最后
                    :数字      ##光标移动到到指定的行

2.插入模式

插入模式下光标的移动

              i                 ##光标所在位置插入
              I                ##光标所在行行首插入
              o               ##光标所在行下一行插入
              O              ##光标所在行的上一行插入
              a              ##光标所在字符的下一个字符插入
              A              ##光标所在行的行尾插入
              s              ##光标所在字符删除并插入
              S             ##光标所在行删除并插入


3.vim的退出模式


              :q           ##退出,在文件内容没有被改变时使用
              :wq         ##退出保存
              :q!          ##强制退出不保存,在改变文件后不想保存时使用
              :wq!        ##强制退出保存  
                            ##在对只读文件编写时使用注意,所编辑的只读文件必须时当前用户的文件或者当前操作的用户时root

二.系统中输入输出的管理

1.理解系统的输入输出

Linux系统中,编号为1的管理正确输出,编号为2的管理错误输出。

2.管理输入输出的符号    

(1)输出重定向  

                 >       ##重定向正确输出
                2>      ##重定向错误输出
                &>      ##重定向所有输出
            注意:重定向会覆盖源文件的内容
           示例:
                   注意:以下实验必须在普通用户下完成

1 find /etc/ -name passwd  > file                    ##定向正确输出到file
2 find /etc/ -name passwd  2>     file.err         ##定向错误输出到file
3 find /etc/ -name passwd  &>     file.all          ##定向所有输出到file
4 > file                                                         ##清空file

 

 

输出追加

        >>           ##追加正确输出到文件最后
        2>>         ##追加错误输出到文件最后
        &>>         ##追加所有输出到文件最后
        注意:追加不会覆盖源文件内容
       示例:
             find /etc/ -name passwd  >>     file           ##追加正确输出到file
             find /etc/ -name passwd  2>>    file.err    ##追加错误输出到file
             find /etc/ -name passwd  &>>    file.all    ##追加所有输出到file

1 find /etc/ -name passwd  >>      file               ##追加正确输出到file
2 find /etc/ -name passwd  2>>    file.err          ##追加错误输出到file
3 find /etc/ -name passwd  &>>    file.all           ##追加所有输出到file

(2)输入重定向

            cat >file <<EOF            (  cat 命令具有交互界面, EFO后面的输出当做是给cat的输入,EOF也可用别的字符替换可自定义,然后cat的输出再存入到file文件中  )

            HELLO

            WORLD

            EOF

              ********管道的应用********
1.管道的作用
     “  | ” 管道的作用是把前一条命令的输出变成后一条命令的输入,管道符前后都是命令,例如find /etc/ -name passwd | file  这个是错误的,因为file在此是一个文件名

     注意:
                (1)管道只允许正确输出通过
                (2)通过管道的输入将会变成输入,而变成输入的这些输出是会被第二条命令处理的
                         如果需要保存输出内容,那么需要复制一份输出,用到的命令是“tee”


                示例:此实验在普通用户下操作:
                           find /etc/ -name passwd | wc -l     ##会看到的结果为2,因为错误输出不能通过管道
                           find /etc -name passwd 2>&1|wc -l   ##会看到19,因为编号为2的输出被“2>&1”转换为编号1
                           find /etc -name passwd 2>&1|tee file |wc -l ##保存一份输出到file再统计行数

1 find /etc/ -name passwd | wc -l                      ##会看到的结果为2,因为错误输出不能通过管道
2 find /etc -name passwd 2>&1|wc -l                    ##会看到19,因为编号为2的输出被“2>&1”转换为编号1
3 find /etc -name passwd 2>&1|tee file |wc -l          ##保存一份输出到file再统计行数

猜你喜欢

转载自www.cnblogs.com/ChairmanYSL/p/9339375.html