zoukankan      html  css  js  c++  java
  • Linux vi/vim

    什么是vim

    所有的 Unix Like 系统都会内建 vi 文书编辑器,而vim可以说是vi的增强版,代码补完、编译及错误跳转等方便编程的功能特别丰富,在程序员中被广泛使用。一般我们用vim就可以了,对程序员来说它是很好的程序开发工具,而不仅仅是文字处理软件。

    vi/vim的三种模式

    命令模式:用户刚刚启动 vi/vim,便进入了命令模式。此状态下敲击键盘动作会被Vim识别为命令,而非输入字符。vim有很多的命令可以帮我们实现多种快捷编辑,在使用案例中详细介绍。

    输入模式:在命令模式下可以输入i,a进入到输入模式,退出输入模式使用Esc键。

    底线命令模式(末行模式):命令模式下按shift+: (英文冒号)就可以进入到末行模式,末行模式下可以进行保存(w)、退出(q)等操作。退出末行模式返回命令模式用Esc键。

    vim基础操作

    进入输入模式

    i: 插入光标前一个字符 
    
    I: 插入行首 
    
    a: 插入光标后一个字符 
    
    A: 插入行未 
    
    o: 向下新开一行,插入行首 
    
    O: 向上新开一行,插入行首

    退出输入模式进入命令模式按Esc

    命令模式下的操作案例

    移动光标

    h: 左移 
    
    j: 下移 
    
    k: 上移 
    
    l: 右移
    
    M: 光标移动到中间行 
    
    L: 光标移动到屏幕最后一行行首 
    
    G: 移动到指定行,行号 -G
    
    w: 向后一次移动一个字 
    
    b: 向前一次移动一个字
    
    {: 按段移动,上移 
    
    }: 按段移动,下移
    
    Ctr-d: 向下翻半屏 
    
    Ctr-u: 向上翻半屏
    
    Ctr-f: 向下翻一屏 
    
    Ctr-b: 向上翻一屏
    
    gg: 光标移动文件开头 

    nG: 光标移动到第n行 G: 光标移动到文件末尾

     删除命令

    x: 删除光标后一个字符,相当于 Del 
    
    X: 删除光标前一个字符,相当于 Backspace
    
    dd: 删除光标所在行,n dd 删除指定的行数 D: 删除光标后本行所有内容,包含光标所在字符 

    d0: 删除光标前本行所有内容,不包含光标所在字符 dw: 删除光标开始位置的字,包含光标所在字符

    d^:删除光标前所有

    d$: 删除光标后所有

    说明:dd其实是剪切,删除的内容可通过p来粘贴

    撤销命令

    u: 一步一步撤销 
    
    U: 撤销全部
    Ctr-r: 反撤销

    重复命令

    .: 重复上一次操作的命令

    文本行移动

    英文的大于号和小于号

    >>: 文本行右移 <<: 文本行左移

    复制粘贴

    yy: 复制当前行,n yy 复制 n 行 
    
    p: 在光标所在位置向下新开辟一行,粘贴

    P:在光标所在位置向上新开辟一行,粘贴

    可视模式

    v: 按字符移动,选中文本 
    
    V: 按行移动,选中文本可视模式可以配合 d, y, >>, << 实现对文本块的删除,复制,左右移动
    

    替换操作

    r: 替换当前字符 
    
    R: 替换当前行光标后的字符

    末行模式下的操作案例

    显示行号

    :set nu   显示行号
    :set nonu  取消显示行号

    查找命令

    /word: 表从上而下查找字符串“word”
    
    ?word: 表从下而上
    查找字符串“word”
    n: 下一个
    N:上一个

    替换命令

    把abc全部替换成123

    
    :s/abc/123/g  将光标所在行的所有abc替换成123
    :%s/abc/123/g  将全文的abc替换成123
    :1, 10s/abc/123/g  将第一行至第10行之间的abc替换成123 
    :%s/abc/123/c  替换时提醒

    vim里执行 shell 下命令

    末行模式里输入!,后面跟命令

    打开新的文件进行编辑

    :sp newfile

    保存并退出

    :w    保存
    :q  退出,加感叹号!,表示强制性退出
    :wq  保存退出
    :ZZ  保存退出
    :w newfile 另存为newfile  

    vim高阶用法

    vim分屏操作

    分屏操作:

    sp: 上下分屏,后可跟文件名 
    
    vsp: 左右分屏,后可跟文件名
    
    Ctr+w+w: 在多个窗口切换
    

    启动分屏:

    1.使用大写O参数进行垂直分屏

    $ vim -On file1 file2 ...
    

    2.使用小写o参数进行水平分屏

    $ vim -on file1 file2 ...
    

    注: n是数字,表示分屏的数量,n要大于等于文件个数

    关闭分屏

    1.关闭当前窗口

    ctrl+w c
    

    2.关闭当前窗口,如果只剩最后一个,则退出vim

    ctrl+w q
    

    编辑中分屏

    1.上下分割当前打开的文件

    ctrl+w s
    

    2.上下分割,并打开一个新的文件

    :sp filename
    

    3.左右分割当前打开的文件

    ctrl+w v
    

    4.左右分割,并打开一个新的文件

    :vsp filename

    5.打开新文件进行编辑:

    :e ~/install.log 

    6.在当前文件中读入其他文件内容:

    :r /etc/filesystem

    分屏编辑中光标的移动

    vi中的光标键是h,j,k,l,要在各个屏之间切换,只需要先按一下ctrl+w

    1.把光标移动到上边的屏

    ctrl+w k
    

    2.把光标移动到下边的屏

    ctrl+w j
    

    3.把光标移动到右边的屏

    ctrl+w l
    

    4.把光标移动到左边的屏

    ctrl+w h
    

    5.把光标移动到下一个的屏

    ctrl+w w
    

    移动分屏

    1.向上移动

    ctrl+w K
    

    2.向下移动

    ctrl+w J
    

    3.向右移动

    ctrl+w L
    

    4.向左移动

    ctrl+w H
    

    屏幕尺寸

    1.增加高度

    ctrl+w +
    

    2.减少高度

    ctrl+w -
    

    3.让所有屏的高度一致

    ctrl+w =
    

    4.左加宽度

    ctrl+w >
    

    5.右加宽度

    ctrl+w <
    

    6.右增加n宽 (如:n=30)

    ctrl+w n <
    

    vim打造IDE

    简洁版IDE

    C+p: 生成tags
    C+]: 跳转到函数定义
    C+t:从函数定义返回
    
    C+o:在左侧打开文件列表
    F4:  在右侧打开函数列表
    
    C+n:补齐函数,向下翻
    

    vimrc是vim的配置文件,可以修改两个位置

    1. /etc/vim/vimrc
    
    2.~/.vimrc
    
    ~/.vimrc优先级高

     参考:菜鸟教程

  • 相关阅读:
    juc之ConcurrentHashMap在我工作中的实践
    设计模式在我工作中的实践
    SpringBoot突报java.lang.NoSuchFieldError分析
    JQuery.UI类库AutoComplete 调用WebService进行模糊查询
    DevExpress控件库----LookUpEdit控件 和 GridLookUpEdit控件使用
    DevExpress控件库----FlyoutPanel提示控件
    Android学习笔记---Log与Activity生命周期
    DevExpress控件库---MarqueeProgressBarControl控件和ProgressBarControl控件
    DevExpress控件库---TokenEdit控件使用
    DevExpress控件库----SearchLookUpEdit控件
  • 原文地址:https://www.cnblogs.com/-abm/p/11215821.html
Copyright © 2011-2022 走看看