我是靠谱客的博主 忧郁野狼,最近开发中收集的这篇文章主要介绍vi/vim使用命令,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

三种模式:命令模式(command mode) 插入模式(insert mode ) 底线命令模式(last line mode)

命令模式:

用户刚启动vi/vim,便进入了命令模式

    i   切换到插入模式,以输入字符
    x  删除当前光标所在处的字符
    : 切换到底线命令模式,在最底一行输入

插入模式:

    在命令模式下按下i进入插入模式
        enter 回车键                        换行
        back space 退格键              删除光标前一个字符
       方向键 上下左右                   在文本中移动光标
       home/end                             移动光标到行首、行尾
       page up / page down           上下翻页
      esc                                        退出插入模式,切换到命令模式

底线命令模式:

   在命令模式下按:进入底线命令模式

    :q  退出
    :w  写入即保存文件
    :wq  保存并退出
    :q!  不保存退出

在非命令模式下,按esc返回命令模式。

命令模式下的 快速删除

D        删除当前光标所在位置到某一行的结尾

d$       删除当前光标所在位置到某一行的结尾

dd       删除当前所在行

5dd     删除从当前行至其后的5行内容 (包括游标所在的那一行)

dL       删除当前位置到屏幕上最后一行的内容

dH       删除当前位置到屏幕上第一行的内容

dG       删除当前位置到工作缓存区结尾的内容

d1G     删除当前位置到工作缓存区开始的内容

x   向后删除一个字符

X   向前删除一个字符

删除所有内容(先用G转到文件尾) ,使用:
    :1,.d   

或者删除第9行到第200行的内容(先用200G转到第200行) ,使用
    :9,.d   

删除说明:“.”当前行 ,“1,.”表示从第一行到当前行 ,“d”删除.  输入冒号的时候,已经进入了底线命令模式了

命令模式下的 光标快速移动

    h 或 向左箭头键(←)      光标向左移动一个字符

    j 或 向下箭头键(↓)       光标向下移动一个字符

    k 或 向上箭头键(↑)      光标向上移动一个字符

    l 或 向右箭头键(→)       光标向右移动一个字符

    如果你将右手放在键盘上的话,你会发现 hjkl 是排列在一起的,因此可以使用这四个按钮来移动光标。 如果想要进行多次移动的话,例如向下移动 30 行,可以使用 "30j" 或 "30↓" 的组合按键, 亦即加上想要进行的次数(数字)后,按下动作即可!

    Ctrl + f 屏幕『向下』移动一页,相当于 [Page Down]按键
    Ctrl + b 屏幕『向上』移动一页,相当于 [Page Up] 按键

    0 或功能键[Home] 这是数字『 0 』:移动到这一行的最前面字符处

    $ 或功能键[End] 移动到这一行的最后面字符处

    ^ 移动到行首第一个字符处

    G 移动到这个档案的最后一行

    gg 移动到这个档案的第一行

    n<Enter> n 为数字。光标向下移动 n 行

    ngg 或者nG或者:n  跳动到第n行代码

    {  移动到段首 

     }  移动到段尾

    w 移动到下一词

    b 移动到上一词

    H 移动光标到屏幕顶端

    M 移动到屏幕中间

    L  移动到底部

    `  移动到上次编辑文件的位置 

    /word 向光标之下寻找一个名称为 word 的字符串。例如要在档案内搜寻 vbird 这个字符串,就输入 /vbird 即可

    n       重复前一个搜寻的动作

    N      『反向』进行前一个搜寻动作

    :n1,n2s/word1/word2/g       n1 与 n2 为数字。在第 n1 与 n2 行之间寻找 word1 这个字符串,并将该字符串取代为 word2

    :n1,$s/word1/word2/g        从第一行到最后一行寻找 word1 字符串,并将该字符串取代为 word2

    :n1,$s/word1/word2/gc       从第一行到最后一行寻找 word1 字符串,并将该字符串取代为 word2 !且在取代前显示提示字符给用户确认 (confirm) 是否需要取代

统计查找字符串的个数

:%s/pattern//gn

pattern代表要查找的字符串

如果是特殊字符在前面加&符号转义

:%s/&pattern//gn

    yy      复制游标所在的那一行

    nyy     n 为数字。复制光标所在的向下 n 行

    p       为将已复制的数据在光标下一行贴上

    P       为将已复制的数据在光标上一行贴上

    u             复原前一个动作(撤销)

    Ctrl + r    重做上一个动作

    .            重复前一个动作

命令模式 到 插入模式

    i   从目前光标所在处插入
    I   在目前所在行的第一个非空格符处开始插入

    a   从目前光标所在的下一个字符处开始插入
    A   从光标所在行的最后一个字符处开始插入

    o   在目前光标所在的下一行处插入新的一行
    O   在目前光标所在处的上一行插入新的一行

    r   只会取代光标所在的那一个字符一次
    R   会一直取代光标所在的文字,直到按下 ESC 为止

命令模式到底线命令模式

    :w      将编辑的数据写入硬盘档案中
    :w!     强制将编辑的数据写入硬盘档案中
    :q      离开
    :q!     为强制离开不储存档案
    :wq     储存后离开
    :wq!    强制储存后离开
    :set nu       显示行号,设定之后,会在每一行的前缀显示该行的行号
    :set nonu     取消行号
    :e     刷新

批量增加注释,删除注释

Ctrl + v 进入块选择模式,然后移动光标选中你要注释的行,再按大写的I进入行首插入模式输入注释符号如 // 或 #,输入完毕之后,按两下ESC,Vim会自动将你选中的所有行首都加上注释,保存退出完成注释。

Ctrl + v 进入块选择模式,选中你要删除的行首的注释符号,注意// 要选中两个,选好之后按d即可删除注释,ESC保存退出。

关于行号

显示行号: 命令模式 :set nu       取消行号   :set nonu    
跳到指定行:
    1. 正常模式下 ngg 或nG n为指定行数。 gg 文件第一行, G文件最后一行
    2. 命令模式下:      :n  
跳到指定列:
     1.  0或者| 可以跳转到光标当行的行首;   ^ 移动到行首第一个字符处
     2. $  跳转到行尾;
     3.   0nl  或者 n|   跳转到第n列;

最后

以上就是忧郁野狼为你收集整理的vi/vim使用命令的全部内容,希望文章能够帮你解决vi/vim使用命令所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(49)

评论列表共有 0 条评论

立即
投稿
返回
顶部