美文网首页
vim技术总结

vim技术总结

作者: 淘码小工 | 来源:发表于2017-12-15 10:27 被阅读57次

    vim 是一种程序开发工具,是vi的高级版本,可以用来编辑文本和程序,本文摘抄至<鸟哥的linux私房菜>

    1.vim 简介

    vim共有三种模式 一般模式编辑模式命令行模式

    • 一般模式

      用vim打开一个文件就直接进入了一般模式(默认模式)。在这个模式下可以使用上下左右移动光标还可以删除字符和删除整行,也可以复制,粘贴你的文件数据

    • 编辑模式

      当在一般模式下,你按下“i,I,o,O,a,A,r,R”等任何一个字母之后会进入编辑模式,通常情况下,按下这些按键以后,界面上会出现INSERT 或 REPLACE的字样,此时才可以进行编辑。如果要回到一般模式的话,需要按【ESC】按钮退出编辑模式

    • 命令行模式
      当在一般模式时,输入“:”, "/", "?"三个中的任何一个按钮,就可以将光标移动到最后一行。在命令行模式下,可以提供要查找数据的操作,而操作,保存,大量替换字符,离开vim,显示行号等操作。

    注意:在vim里面【Tap】键所得到的结果与空格符得到的结果是不一样的

    2. 使用vim创建或编辑工具打开文本

    //如果wang.txt存在则是打开,如果不存在则是创建和打开
    vim wang.txt
    

    3. 按键说明

    1. 一般模式下的按钮说明,光标移动,复制粘贴,查找替换
    • 光标移动一个字符的方法
    *h*或向左箭头键   光标向左移动一个字符
    *j*或向下箭头键   光标向下移动一个字符
    *k*或向上箭头键   光标向上移动一个字符
    *l*或向右箭头键   光标向有移动一个字符
    如果想要多次移动的话,例如向下移动30行,可以使用30j或“30+向下箭头键”的组合按键,即加上想要进行的次数后,进行操作
    
    • 光标移动 一页的方法
    【Ctrl】+ 【f】   屏幕向下移动一页,相当于【pageDown】【常用】
    【Ctrl】+ 【b】   屏幕向上移动一页,相当于【PageUp】 【常用】
    【Ctrl】+ 【d】   屏幕向下移动半页
    【Ctrl】+ 【u】   屏幕向上移动半页
    
    • 光标移动一行
    +   光标移动到非空格的下一行
    -   光标移动到费空格的上一行
    
    • 光标根据特殊字符移动到特定位置
    n<space>          n表示数字。例如20,按下数字后再按空格键,光标会向右移动这一行n个字符。
    0 或功能键[Home]   这是数字0,移动到这一行的最前面字符处【常用】
    $或者功能键[End]   移动到这一行的最后面字符串【常用】
    
    • 光标根据大写字母移动到特定位置
    H    光标移动到这个屏幕的最上方那一行的第一个字符
    M    光标移动到这个屏幕的中央那一行的第一个字符
    L    光标移动到这个屏幕的最下方的那一行的第一个字符
    G    移动到这个文件的最后一行【常用】
    nG   n为数字。移动到这个文件的第n行。例如20G则会移动到这个文件的第20行
    gg   移动到这个文件的第一行,相当于1G 【常用】
    N[Enter]  n为数字。光标向下移动n行【常用】
    

    • 查找与替换
        //查找
        /word   向下寻找一个名称为Word的字符串。例如要在文件中查找王这个字符串,则输入/王
        ?word   向上寻找一个字符串名称为Word的字符串
        n       这个n是英文按键,代表重复前一个查找的操作。
        N       这个N是英文按键,为“反向”进行前一个查找操作。
        //查找并且替换
        :n1,n2s/world1/word2/g   n1与n2为数字。在第n1与n2行之间查找world1这个字符串,并将该字符串替换为word2。【常用】
        :1,$s/word1/word2/g    从第一行到最后一行查找word1,并将该字符串替换为word2 【常用】
        :1,$s/word1/word2/gc    从第一行到最后一行查找word1字符串,并将该字符串替换为word2。且在替换前显示提示字符给用户确认(confirm)是否需要替换(常用)
    

    • 删除复制粘贴
        //删除
        xX    在一行字中,x为向后删除一个字符(相当于【Del】按键),X为向前删除一个字符(相当于【Backspace】)【常用】
        nx     n为数字,连续向后删除n个字符。举例来说,我要连续删除10个字符,就用10x
        dd     删除光标所在的那一整行【常用】
        ndd    n为数字,删除光标所在的向下n行,例如20dd则是删除20行【常用】
        d1G     删除光标所在到第一行的所有数据
        dG      删除从光标所在到最后一行的所有数据
        d$      删除从光标所在处到该行的最后一个字符
        d0      哪个是数字0,删除从光标所在处到该行的最前面的一个字符
        
        //复制
        yy       复制光标所在的那一行【常用】
        nyy      n为数字。复制光标所在的向下n行,例如20yy则是复制20行【常用】
        y1G      复制光标所在行到第一行的所有数据
        yG       复制光标所在行到最后一行的所有数据
        y0       复制光标所在的哪个字符到该行行首的所有数据
        y$       复制光标所在的哪个字符到该行行尾的所有数据
        
        //粘贴
        p,P      p为将已复制的数据在光标下一行粘贴。P则为粘贴在光标的上一行。【常用】
        
        J        将光标所在行与下一行结合成同一行
        c        重复删除多个数据,例如向下删除10行【10cj】
        u        复原前一个操作【常用】
       【Ctrl】+ r  从做上一个操作【常用】
       .         小数点,意思是重复前一个操作。如果你想要重复删除,重复粘贴等操作,按下.就好【常用】
       
    
    2. 一般模式切换到编辑模式的可用的按钮说明
    //进入插入和替换的编辑模式
    i, I 进入编辑模式。
       i为从目前光标所在处插入。
       I为在目前所在行的第一个非空格符处开始插入【常用】
    a ,A 进入编辑模式。
       a为从目前光标所在的下一个字符处开始插入。
       A为从光标所在行的最后一个字符处开始插入【常用】
    o ,O 进入编辑模式。
       o 为在目前光标所在的下一行处插入新的一行。 
       O 为在目前光标所在处的上一行插入新的一行。 【常用】
    r ,R 进入编辑模式。
       r只会替换光标所在的那一个字符一次。
       R会一直替换光标所在的文字,知道按下[Esc]键为止 【常用】
    
    3. 一般模式切换大命令模式的按钮说明
    • 命令行保存
    :w     将编辑的数据写入硬盘文件中 【常用】
    :w!    若文件属性为“只读”时,强制写入该文件。不过到底能不能写入,还是跟该文件的权限有关。
    :q     离开vim 【常用】
    :wq    保存后离开,若为:wq!则为强制保存后离开
    ZZ     若文件没有更动,则不保存离开,若文件已经被更动过,则保存后离开
    :w[filename]  将编辑的数据保存成另一个文件(类似于另存文件)
    :r[filename]  在编辑的数据中,读入另外一个文件的数据,即将‘filename’这个文件内容加到光标所在行的后面
    :n1,n2 w [filename] 将n1到n2 的内容保存成filename这个文件
    
    • vim环境的更改
    :set nu    显示行号,设置之后,会在每一行的前缀显示该行的行号
    :set nonu   与set nu相反,为取消行号
    

    4. Vim块选择(Visual Block)

    v    字符选择,会将光标经过的地方反白选择
    V    行选择,会将光标经过的行反白选择
    [Ctrl] +v   块选择,可以用长方形的方式选择数据
    y     将反白的地方复制起来
    d     将反白的地方删除
    

    5.vim多文件编辑

    如果想在两个或多个文件之间进行复制粘贴功能,就要使用vim的多文件编辑

    //使用vim打开多个文件
    vim filename1, filename2
    
    //多文件编辑的按键
    :n     编辑下一个文件
    :N     编辑上一个文件
    :files   列出目前这个vim的打开的所有文件
    

    6. 退出vim

    当在命令行模式下,输入“:wq”保存后离开vim

    如果你打开的文件权限不对,没有写入权限的情况下,可以使用“强制写入”,使用“:wq!”,可以在你权限可以改变的情况下可以使用。

    相关文章

      网友评论

          本文标题:vim技术总结

          本文链接:https://www.haomeiwen.com/subject/usprwxtx.html