你的位置:首页 > 操作系统

[操作系统]每天liunx命令,vi和vim的使用


纵然今天是国庆,但是学习不能停,今天学习的是liunx中,比较重要的2个编辑器,vi和vim,也许会有人问为什么要学习这2个呢?不是有简单好用的nano么。

主要还是因为有一些别的liunx版本,是没有内置的nano的,这个如果你突然接触就不能很快入手,而vi是每个liunx版本都内置有的,所有这个学习是很必要的,

vi的一些基本应用,如用vi新建一个文件,并打开:

vi /tmp/testing    #新建一个testing文件,并打开

 vi分成三种基本的模式:

  1.一般模式(默认)

  2.编辑模式(通过按I,i,O,o,A,a都可以进入)

  3.命令行模式(通过按 /,?,: 都可以进入)

普通模式下的一些功能键(常用的)

  数字0:回到光标所在的行首,

  符号$:去到光标所在行的末尾,

  n(加左右方向键):n表示数字,去到左右n个字符的地方

  n[enter]:去往光标下面的n行位置

  G:跳到这个文件的末尾位置,

  1G/gg:跳到这个文件的第一行,

  n1,n2s/word1/word2/g:在n1到n2行之间找word1这个字符串,并将其替换成word2

  n1,n2s/word1/word2/gc:在n1到n2行之间找word1这个字符串,并将其替换成word2,会询问用户是否替换

  1,$s/word1/word2:从第一行到最后一行,找word1然后将其替换成word2

与复制,删除,粘贴有关的:

  dd:删除光标所在的这一行,

  ndd:删除从光标所在的下面的n行,

  d1G:删除从光标开始到第一行的数据,

  dG:删除从光标开始到最后一行的数据,

  d0:删除从光标开始到行首的数据,

  d$:删除从光标开始到行末的数据,

  

  yy:辅助光标所在的这一行,

  nyy:复制从光标所在的下面n行,

  y1G:复制从光标开始到文件第一行的数据,

  yG:复制从光标开始到文件最后一行的数据,

  d0:复制从光标开始到行首的数据,

  d$:复制从光标开始到行末的数据,

 

  p:向光标所在的行,下面粘贴,

  P:想光标所在的行,上面粘贴,

 

  命令行模式下:
  :w  将编辑的文字内容写入到磁盘中去,

  :w! 强制写入,不过还是与你对文件的权限有关,

  :wq     写入并退出,

  :ZZ   如果这个文件没有被编辑,不需要进行保存离开,有的话,保存-》离开

================================================================================================

  vim 部分                           

   1.vim的文件恢复功能

    在使用vim的时候,系统会自动给你生成一个.swp的暂存文件,就是未了避免发生意外情况,而文件没有保存,

    在打开vim之后可以通过ctrl + z,暂时跳出vim,在使用ls查看是否有.swp文件

  文件恢复时的参数有:

    [O]pen Read-Only   只读,

    [E]dit anyway      不会载入暂存文件,而是正常打开,不过容易造成问题,

    [D]elete it       删除暂存文件,

    [R]ecover      载入暂存文件,恢复工作,

    [Q]uit        就是退出vim不进行任何操作,

    [A]bort        忽略这次操作,类似于Q操作

  ==================================================

  2.vim的功能

    (1)块选择(values blocks)

      主要参数有:

          小写v:光标选择的字符反白

          大写V:光标选择的行反白

          ctrl-v: 自定义块选择区域

          

     (2)多文件操作

      主要参数有:

          :files:查看操作的文件

          :n  :向下一个操作文件

          :N  :向上一个操作文件

 

    (3)多窗口文件操作:(主要还是针对文件较大,需要有前后对照的)

      主要操作有:

          sp:操作本文件

          sp 【filename】:选择操作文件,

  =========================================

  3.vim的一些参数设置:(只写出一些常用的,如有需要可以:set all自行去查看)

      :set nu      :显示行号,

      :set nonu       :取消行号

      :set hlsearch   :将查找的字符高亮显示

      :set nohlsearch    :取消高亮

      :set autoheight  :自动缩进

      :set noautoheight :不自动缩进

      :synatx on    :语法校正

      :synatx off    :关闭语法校正

    这都是一些常用的,有需要的自行set all或者是百度都是OK的。

这里上张图供大家理解:

  

这个就是一般的vim不同模式下的处理

  ====================================

4.vim的其他使用注意事项

  字符的编码问题:

        有utf8,gb2312,big5等,如果编码不对,中文出现乱码是很正常的现象,

        一般可以通过在LANG = zh_big5这样来修改,来可以通过在终端机的,termnal那修改字符的编码,