zoukankan      html  css  js  c++  java
  • linux中的vim用法

    三种模式,一般指令模式、编辑模式(i,I,o,O,a,A,ESC)、指令列命令模式(:/?)

    一般指令模式:

    移动:

    数字n加上下左右键 向上下左右移动n个字符                        

    ctrl+f 向下移动一页

    ctrl+b 向上移动一页

    ctrl+d 向下移动半页

    ctrl+u 向上移动半页

    n+空格 向右移动n个字符

    0 移动到该行最前边的字符处

    $ 移动到该行最后边的字符处

    H 光标移动到这个屏幕最上方那一列的第一个字符处                                                              

    M 光标移动到这个屏幕中央那一列的第一个字符处

    L 光标移动到这个屏幕最下方那一列的第一个字符处

    G 移动到这个文件的最后一列

    n+G 移动到这个文件的第n列

    gg 移动到文件的第一列,相当于1G

    n+<Enter> 光标向下移动n

    搜索

    /word 从光标处向下搜索

    ?word 从光标处向上搜索

    n 重复前一个搜索动作

    N 反向进行前一个搜索动作

    替换

    :n1,n2s/word1/word2/g n1,n2为数字,表示第n1与n2列之间查找字符串word1,并将该字符串替换成word2

    :1,$s/word1/word2/g 从第1列到最后一列替换word1为word2

    :1,$s/word1/word2/gc 在替换前显示提示字符给用户确定是否需要替换

    删除

    n+x 向后删除n个字符

    n+X 向前删除n个字符

    dd 删除光标所在的那一列

    ndd 删除光标及向下的n行

    d1G 删除光标到第一行的所有数据

    dG 删除光标所在到最后一行的所有数据

    d$ 删除光标所在处到该列尾的字符

    d0 删除光标所在处到该列首的第一个字符

    复制粘贴

    nyy 复制光标及向下n列的数据

    y1G 复制光标所在列到第一列的数据

    yG 复制光标所在列到最后一列的数据

    y0 复制光标所在字符到该列行首的所有字符

    y$ 复制光标所在字符到该列行尾的所有字符

    p,P p将已复制的数据在光标下一列粘贴上,P将已复制的数据粘贴在光标在的上一列

    J 将光标所在列与下一列数据合为同一列,中间有空格

    复原

    u 复原前一个动作

    ctrl+r  重做前一个动作,与u相反

    . 重复前一个动作

    :e!vim下进行多种编辑行为后,恢复到原始状态

    编辑模式 

    编辑

    o:从下一行开始写,a:从当前字符后开始写,i:从当前字符前开始写

    i/I i为从当前光标所在处插入,I为从目前所在列的第一个非空格处开始插入                                                             

    a/A a为从当前光标所在处的下一个字符处开始插入,A为从光标所在列的最后一个字符处开始插入

    o/O o在光标所在列的下一列插入新的一列,O为在上一列插入新的一列

    r/R进入取代模式,r只会取代光标所在处的字符,R从光标所在处开始取代,直到按下ESC为止

    退出与保存

    :w  :q  :wq :q! :w保存,:q离开,:q!强制退出

    ZZ 若文件没有改动,不存储离开,若文件变动,则存储后离开

    另存为

    :w filename 将编辑的数据存储成另一个文件

    :n1,n2 w filename 将n1到n2的内容存储成另一个文件

    编辑模式下操作其他文件/命令

    :r filename 在编辑的数据中,读入另一个文件的数据,即将该文件内容加在光标所在列的后边

    :! command 暂时离开vim到命令行模式下执行command并显示结果,例如:! ls -l

    行号

    :set nu 显示行号

    :set nonu 取消行号

    区域块的选择:

    v 字符选择,将光标经过的地方反白选择                                             

    V 行选择,将光标经过的行反白选择

    ctrl+v 区域块选择,可以用长方形的方式选择字符

    y 将反白的地方复制

    d 将反白的地方删除掉

    p 将复制的区域块,粘贴在光标所在处

    多文件编辑

    vim + 多个文件名 同时编辑多个文件

    :files 查看目前该vim开启的所有文件,显示%a的文件为当前正在编辑的文件                   

    :N 编辑上一个文件

    :n 编辑下一个文件

    多窗口功能

    打开一个文件后,通过:sp [文件名]在新窗口打开另一个文件,文件名缺失时,出现在新窗口中的是同一个文件

    :sp [filename] 在新窗口中打开文件

    ctrl+w后加方向键 切换当前所在窗口

    :q 关闭当前窗口

  • 相关阅读:
    悲观锁乐观锁实战
    悲观锁
    乐观锁
    mysql数据库怎么设置乐观锁
    猴子吃桃问题
    算法题
    面试总结
    分布式系统理论(二):一致性协议Paxos
    职工工资管理
    79-WordSearch
  • 原文地址:https://www.cnblogs.com/mianbaoshu/p/11766819.html
Copyright © 2011-2022 走看看