马哥Linux学习笔记6-3vim编辑器

  • vi:visual interface
    文本:ASCII,Unicode
    文本编辑种类:行编辑器:sed
    全屏编辑器:nano,vi
    vim:vi improved

  • 使用:vim:模式化的编辑
    基本模式:
    编辑模式,命令模式
    输入模式
    末行模式:内置的命令行接口
    打开文件:vim +# :打开文件后,直接让光标处于第#行的行首
    +/pattern:打开文件后,直接让光标处于第一个被pattern匹配到的行的行首

  • 模式转换:
    编辑模式-输入模式
    i insert ,在光标所在处输入
    a append,在光标所在处后面输入
    o 在当前光标所在行的下方打开一个新行
    I 在当前光标所在行的行首输入
    A 在当前光标所在行的行尾输入
    0 在当前光标所在行的上方打开一个新行
    c
    C
    输入模式-编辑模式:ESC
    编辑模式-末行模式::
    末行模式-编辑模式:ESC

  • 关闭文件
    :q 退出
    :q! 强制退出,丢弃做出的修改
    :wq 保存退出
    :x 保存退出
    :w /PATH/TO/SOMEWHERE
    ZZ:保存退出

  • 光标跳转:
    字符间跳转:h左j下k上l右,#command:跳转由#指定个数的字符

  • 单词间跳转:
    w:下一个单词的词首
    e:当前或下一单词的词尾
    b:当前或前一单词的词首
    #command :由#指定一次跳转的单词数

  • 行首行尾跳转:^:跳转至行首的第一个非空白字符
    0零:跳转至行首
    $:跳转至行尾

  • 行间移动:#G :跳转至#行
    G:最后一行
    1G,gg:第一行

  • 句间移动:

  • 段落间移动
    }
    {

  • vim的编辑命令
    字符编辑:
    x:删除光标处的字符
    #x:删除光标处起始的#个字符
    xp:交换光标所在处的字符及其后面字符的位置

  • 替换命令(r,replace)
    r:替换光标所在处的字符

  • 删除命令:
    d:删除命令,可结合光标跳转字符,实现范围删除。d$,d^,d0,dw,de,db
    dd:删除光标所在的行,#dd:多行删除,操作可以撤销,可撤n次,删除的内容可以粘贴,但只能粘贴最近的一次。

  • 粘贴命令(p,put,paste)
    p:缓存区中存储的为整行内容,则粘贴至光标所在行的下方,否则,则粘贴至当前光标所在处的后面。
    P(大写):缓存区中存储的为整行内容,则粘贴至光标所在行的上方,否则,则粘贴至当前光标所在处的前面。

  • 复制命令(y,yank)
    y:复制
    y$,y0,y^,ye,yw,yb
    yy:复制行,#yy:复制多行

  • 改变命令(c,change)
    c:修改完后由命令模式转到输入模式
    #cc:一次删除多行

  • 可视化模式
    v:按字符选定
    V:按行选定
    note:经常结合编辑命令:d,c,y
    撤销此前的编辑:u(undo)
    撤销指定次数的操作:#u
    撤销此前的撤销:Ctrl+r
    重复前一个编辑操作:.

  • 翻屏操作:
    Ctrl+f 向文件尾部翻一屏
    Ctrl+b 向文件首部翻一屏
    Ctrl+d 向文件尾部翻半屏
    Ctrl+u 向文件首部翻半屏

  • vim自带的练习教程:vimtutor

  • vim中的末行模式:内建的命令行接口
    1地址定界
    . 表示当前行,%表示全文相当与1,$
    /pat1/,/pat2/:从第一次被pat1模式匹配到的行开始,一直到第一次被pat2匹配到的行结束
    使用方式:后跟一个编辑命令
    d删除y复制w将范围内的行另存至指定文件中,r在指定位置插入指定文件中的所有内容

  • 2查找
    /pattern:从当前光标所在处向文件尾部查找
    ?pattern:从当前光标所在处向文件首部查找
    n:与命令同方向
    N:与命令反方向

  • 3查找并替换
    s:在末行模式下完成查找替换操作
    s/要查找的内容/替换为的内容/修饰符
    要查找的内容:可使用模式
    替换为的内容:不能使用模式,但可以使用\1,\2…等后向引用符号,还可以使用“&”引用前面查找时查找到的整个内容
    修饰符:i:忽略大小写
    g:全局替换,默认情况下,每一行只替换第一次出现。
    查找替换中的分隔符/可替换为其他字符。

猜你喜欢

转载自blog.csdn.net/weixin_43024834/article/details/87659606