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

  • 相关阅读:
    中国历史朝代公元对照简表
    [Solved] DashBoard – Excel Service: The data sources may be unreachable, may not be responding, or may have denied you access.
    Delete/Remove Project from TFS 2010
    Sharepoint site showing system account instead of my username on the top right corner.
    你的成功在于你每天养成的习惯
    Internet Information Services is running in 32bit emulation mode. Correct the issue listed above and rerun setup.
    Prepare to back up and restore a farm (Office SharePoint Server 2007)
    Word中字号与磅值的对应关系
    How to: Change the Frequency for Refreshing the Data Warehouse for Team System
    UI Automation in WPF/Silverlight
  • 原文地址:https://www.cnblogs.com/raphael5200/p/5114716.html
Copyright © 2011-2022 走看看