vi与vim

  1. 很多软件的编辑接口都会主动调用vi,而且所以铺的unix like系统里都会内置vi文本编辑器,其他的文本编辑器则不一定会存在
  2. vim具有程序编辑的能力,可以主动以字体颜色辨别语法的正确性,方便程序设计
  3. vi共分为三种模式,分别是一般模式、编辑模式与命令行模式。
    (1)一般模式:可以使用上下左右按键来移动光标,可以删除字符或删除整行,也可以复制、粘贴你的文件数据
    (2)编辑模式:在一般模式中可以进行删除、复制、粘贴等的操作,但是却无法编辑文件内容,要按下“i,I,O,o,a,A,r,R”等任何一个字母之后才会进入编辑模式,要回到一般模式,则必须要按下esc这个按键即可退出编辑模式
    (3)命令行模式:在一般模式当中,输入“:、/、?”3个中的任何一个按钮,就可以将光标移动到最下面那一行
  4. 一般模式与编辑模式及命令行模式可相互切换,但编辑模式与命令行模式之间不可互相切换。
  5. 在vi里面,tab键所得到的结果与空格符所得到的的结果是不一样的。
  6. 一般模式下输入:wq保存后离开vi。如果文件的权限不对,则可以使用强制写入的方式,使用“:wq!”多加一个感叹号即可,但是这只能在我们的权限可以改变的情况下才能成立。
  7. vi的按键说明:
    (1)一般模式下按键:
    h、j、k、l以及左下上右方向键分别是将光标向上下上右移动
    /word:向下寻找一个名为word的字符串
    ?word:向上寻找一个名为word的字符串 n:代表重复前一个查找的操作,上一个是/word就继续向下查找,是?word的话就继续向上查找 N:与n相反,“反向”进行前一个查找操作
    (2)一般模式切换到编辑模式的按键说明:
    i,I:进入插入模式,i为从目前光标处插入,I为目前所在行的第一个非空格符处开始插入
    a,A:进入插入模式,a为目前光标的下一个字符处开始插入,A为光标所在行的最后一个字符处开始插入
    o,O:进入插入模式,o为所在光标的下一行处插入新的一行,O为所在光标的上一行处插入新的一行
    r,R:进入替换模式,r只会替换光标所在行的那一个字符一次,R会一直替换光标所在的文字,知道esc键按下为止
    (3)一般模式切换到命令行模式的可用按键:
    :wq:保存后离开
    :q:离开
    :q!:修改文件过后不保存强制离开
    :w:将修改内容写入
    :w!:若文件属性为“只读”时,强制写入该文件
  8. 在vi中,数字是很有意义的,数字通常代表重复做几次的意思,也有可能是代表去到第几个什么什么的意思
  9. vim通过“保存文件”来挽回数据,在我们编辑一个文件时会产生暂存文件里面存放着我们对文件的编辑记录,当vim的工作被不正常中断,导致暂存盘无法通过正常流程来结束,所以暂存文件不会消失
  10. 暂存盘警告信息的界面,有出现六个可用按钮:
    (1)O:打开文件为只读文件
    (2)E:还是用正常的方式打开文件,并不载入暂存文件的内容,不过很容易出现两个用户互相改变对方文件等问题
    (3)R:加载暂存文件的内容,用在你要救回之前未保存的工作,离开vim后还需要手动删除暂存文件
    (4)D:确定暂存文件是无效的,打开文件前先删除暂存文件
    (5)Q:直接离开vim
    (6)A:忽略这个编辑行为,离开vim,与Q很像

vim的功能

  1. 块选择,在vim界面使用ctrl+v即可进行块选择,可以用长方形的方式选择数据,然后使用y可以将圈起来部分复制,而使用d则可以将这部分删除
  2. 多文件编辑,使用:n编辑下一个文件,使用:N编辑上一个文件,:files列出目前这个vim打开的所有的文件
  3. 多窗口功能,使用:sp [filename]打开一个新窗口,如果有加filename表示在新窗口打开一个新文件,如果不加则表示两个窗口为同一个文件内容
  4. vim会主动将我们曾经做过的行为记录下来,存在~/.viminfo文件中,整体vim的设置值一般是放在/etc/vimrc这个文件中,不过不建议修改它,我们可以修改~/.vimrc这个文件
  5. 可以使用iconv进行文件语系编码转换
  6. 使用dos2UNIX及UNIX2dos可以变更文件每一行的行尾断行字符