zoukankan      html  css  js  c++  java
  • Linux学习笔记3-VI 和 VIM的使用

    vi: Visual Interface

    vim: VI iMproved

    全屏编辑器,

    Linux系统下最强大的两款编辑器,vivimviLinux本身自带的一款编辑器,纯文本编辑不带任何效果;

    vimvi的可以说是加强版在vi的基础上增加了许多格式化的功能,并且可以使代码命令以不同的色彩显示;

    Vivim模式:

    编辑模式(命令模式):在这种模式下,不能输入,只能操作命令。

    输入模式:可以任意输入内容,在此状态下,输入的字母、数字、字符都是字符串。

    末行模式:在编辑模式下 按:键即可进入到该模式下。

    编辑-->输入:

    i: 在当前光标所在字符的前面,转为输入模式;

    a: 在当前光标所在字符的后面,转为输入模式;

    o: 在当前光标所在行的下方,新建一行,并转为输入模式;

    I:在当前光标所在行的行首,转换为输入模式

    A:在当前光标所在行的行尾,转换为输入模式

    O:在当前光标所在行的上方,新建一行,并转为输入模式;

    输入-->编辑:

    按:ESC

    编辑-->末行:

    按::

    末行-->编辑:

    按:ESC, ESC

    一、打开文件

    # vim /path/to/somefile

    vim +# :打开文件,并定位于第#行 

    vim +:打开文件,定位至最后一行

    vim +/PATTERN : 打开文件,定位至第一次被PATTERN匹配到的行的行首

    文件打开后,默认处于编辑模式

    二、关闭文件

    1、末行模式关闭文件

    :q  退出

    :wq 保存并退出

    :q! 不保存并退出

    :w 保存

    :w! 强行保存

    :wq --> :x

    2、编辑模式下退出

    Shift+zz: 保存并退出

    三、移动光标(编辑模式)

    1、逐字符移动:

    h: 

    l: 

    j: 

    k: 

     #h: 移动#个字符;

    2、以单词为单位移动

    w: 移至下一个单词的词首

    e: 跳至当前或下一个单词的词尾

    b: 跳至当前或前一个单词的词首

    #w: 

    3、行内跳转:

    0: 绝对行首

    ^: 行首的第一个非空白字符

    $: 绝对行尾

    4、行间跳转

    #G:跳转至第#行;

    G:最后一行

              gg:第一行

    末行模式下,直接给出行号即可

    四、翻屏(不常用)

    Ctrl+f: 向下翻一屏

    Ctrl+b: 向上翻一屏

    Ctrl+d: 向下翻半屏

    Ctrl+u: 向上翻半屏

    五、删除单个字符

    x: 删除光标所在处的单个字符

    #x: 删除光标所在处及向后的共#个字符

    六、删除命令: d

    d命令跟跳转命令组合使用;

    #dw, #de, #db

    dd: 删除当前光标所在行

    #dd: 删除包括当前光标所在行在内的#行;

    七、粘贴命令 p

    p: 如果删除或复制为整行内容,则粘贴至光标所在行的下方,如果复制或删除的内容为非整行,则粘贴至光标所在字符的后面;

    P: 如果删除或复制为整行内容,则粘贴至光标所在行的上方,如果复制或删除的内容为非整行,则粘贴至光标所在字符的前面;

    八、复制命令 y

    用法同d命令

    九、修改:先删除内容,再转换为输入模式

    c: 用法同d命令

    十、替换:r

    R: 替换模式

    :r [filename]

    在编辑的数据中,读入另一个档案的数据。亦即将 『filename』 这个档案内容加到游标所在行后面

    :! command

    暂时离开 vi 到指令列模式下执行 command 的显示结果!例如
    『:! ls /home』即可在 vi 当中察看 /home 底下以 ls 输出的档案信息!

    十一、撤消编辑操作 u

    u:撤消前一次的编辑操作

    连续u命令可撤消此前的n次编辑操作

    #u: 直接撤消最近#次编辑操作

    撤消最近一次撤消操作:Ctrl+r

    十四、查找

    /PATTERN

    ?PATTERN

    n:向下查找

    N:向上查找

    十五、查找并替换

    在末行模式下使用s命令

    :n1,n2s/word1/word2/g

    n1 与 n2 为数字。在第 n1 与 n2 行之间寻找 word1 这个字符串,并将该字符串取代为 word2 !举例来说,在 100 到 200 行之间搜寻 vbird 并取代为 VBIRD 则:
    『:100,200s/vbird/VBIRD/g』。(常用)

    :1,$s/word1/word2/g

    从第一行到最后一行寻找 word1 字符串,并将该字符串取代为 word2 !(常用)

    :1,$s/word1/word2/gc

    从第一行到最后一行寻找 word1 字符串,并将该字符串取代为 word2 !且在取代前显示提示字符给用户确认 (confirm) 是否需要取代!(常用)

    %:表示全文

    练习:将/etc/yum.repos.d/server.repo文件中的ftp://instructor.example.com/pub替换为http://172.16.0.1/yum

    %s/ftp://instructor.example.com/pub/http://172.16.0.1/yum/g

    %s@ftp://instructor.example.com/pub@http://172.16.0.1/yum@g

    十六、高级话题

    1、显示或取消显示行号

    :set number

    :set nu

    :set nonu

    永久显示行号  编辑vi /etc/vimrc   在空行加入  set number  保存退出

    2、显示忽略或区分字符大小写

    :set ignorecase

    :set ic

    :set noic

    3、设定自动缩进

    :set autoindent

    :set ai

    :set noai

    4、查找到的文本高亮显示或取消

    :set hlsearch

    :set nohlsearch

    5、语法高亮

    :syntax on

    :syntax off

    二十三、配置文件

    /etc/vimrc

    /etc/virc

    ~/.vimrc

    更多的VI 和 VIM命令,请查看鸟哥的两篇文章:

    http://vbird.dic.ksu.edu.tw/linux_basic/0310vi_2.php

    http://vbird.dic.ksu.edu.tw/linux_basic/0310vi_3.php

  • 相关阅读:
    test6
    test4
    test3
    20165321 2017-2018-2《Java程序设计》课程总结
    20165321 实验五 网络编程与安全-2
    20165321 实验五 网络编程与安全
    实验四 Android开发基础
    20165321 实验三 敏捷开发与XP实践
    《深入理解计算机系统》第三章 程序的机器级表示学习
    《文献管理与信息分析》第二章
  • 原文地址:https://www.cnblogs.com/raphael5200/p/5114716.html
Copyright © 2011-2022 走看看