vi/vim 总结

欲进入 vim 编辑器(从终端输入):1)vim 文件名 <回车>,文件有则打开,无则创建,光标定位在首行

                                             2)vim 文件名 + <回车> 光标定位在文件末行


在命令模式下修改命令的格式通常是:
    operator [number] motion
    其中 operator  是操作符,代表要做的事情,比如 d 表示删除
          [number]  可以附加的数字,代表所操作动作重复的次数
           motion    动作代表在所操作的文本上的移动,如 w 代表单词、e代表单词末尾、$ 代表行末


1、光标移动:

    在命令模式下,使用 h 左移、 j 下移、 k 上移、 l 右移,前加数字移动多次,

    如:下移10行 --> 10 j


    行内移动:1)w、b、e 以单词为单位移动,大写的W、B、E 会忽略标点符号
                       2w 表示向前移动2个单词,光标定位在下一个单词首字符
                       2b 表示向后移动2个单词
                       2e 表示向前移动2个单词,光标定位在本单词最后一个字符
                   2)数字0 移动光标至行首
                       ^ 移动光标到行首第一个单,此即行首有空格的情况,不会移动到空格前,
                          第一个单词之前
                       $ 移动光标到行末


    括号匹配:光标停在(、[、{ 处,按 % 光标移动到与之配对的括号处,再按 % 可跳回到第一个括号处

    行间跳转:1)ctrl + g 显示当前文件名和光标所在行的行号
                   2)G 跳转到文件最后一行
                        数字 + G 跳转到指定行, :数字 跳转到指定行
                   3)gg 跳转到文件的第一行
                        数字 + gg 跳转到指定行

    段落跳转:{ 上一段, } 下一段, 前加数字移动多段

    翻页跳转:ctrl b 向上翻页
                   ctrl f 向下翻页

    屏幕跳转:H 当前屏幕顶部
                   M 当前屏幕中部
                   L 当前屏幕底部

    标记跳转:可用m 在一行增加一个标记,标记名称可以是a-z 或A-Z 之间一个字母, 
                    '标记 直接跳转到标记行

                   如果添加标记的行被删或在其他行添加了相同的标记,之前的标记会被删除


    查找跳转:1)在命令模式下输入 /字符串,输入想要搜索的字符串
                       n 查找下一个匹配到的字符串,N 向上查找匹配到的字符串,
                       使用?代替/,可以进行逆向查找字符串
                       要回到之前的位置按ctrl-o, ctrl-i 返向ctrl-o
                   2)* 向下查找当前光标所在单词,# 向上查找当前光标所在单词


2、编辑模式:
    在命令模式下6个插入命令:
        i 在光标位置插入文本
        I 在行首插入文本
        a 在光标下一个位置插入文本
        A 在行末插入文本
        o 在光标所在行换行,插入文本
        O 在光标所在行上方换行,插入文本
    输入 ESC 退出编辑模式,今日命令模式,注意当前的输入法


3、可视模式:
    v 可视模式,从光标位置开始按照命令模式选中文本
    V 可视行模式,选中光标经过的完整行
    ctrl v 可视块模式,垂直方向选中文本
    可视模式下,可以和移动命令连用,例如:ggVG 能够全选所有内容


4、删除命令:
    在命令模式下,删除其实就是剪切

    行内删除:1)x 删除光标所在的一个字符
                   2)d 配合h、j、k、l移动命令,进行删除操作
                   3)d 配合w、b、e ,以单词为单位进行删除,大写的W、B、E 会忽略标点符号,
                       可配合数字使用
                        dw  表示在光标位置向前删除1个单词,光标定位在下一个单词首字符
                        d2b 表示在光标位置向后删除2个单词
                        d2e 表示在光标位置向前删除2个单词,光标定位在下一个单词之前
                   4)d 配合数字0、^、$ 可进行行内删除
                        d0 从光标处删除到行首
                        d^ 从光标处删除到行首,若在行首有空格的情况下,不会移动到空格前
                        d$ 从光标处删除到行末
                   5)dd 删除整行
                   6)D 从光标处删除到行末

    行间删除:1)d{ 从光标处删除到段末
                   2)d 配合可视模式进行删除操作
                   3)d 配合 行号G、行号gg 或 :行号,从光标处删除到指定行
                   4)d 配合标记,从光标处删除到标记处


5、复制命令:
    y 和 d 命令用法基本一致
        y2w 表示复制两个单词
        y^  表示复制至行首
        y$  表示复制至行尾
        yG  表示复制至文件尾
        y数字1 表示复制至文件首
        y配合可视模式进行复制等


6、粘贴命令:
    p 将最后一次删除或复制的内容在命令模式下粘贴到光标位置
    删除 + p = 剪切 + 粘贴


7、撤销命令:
    u 撤销在一次改动
    U 撤销在一行中所有改动
    ctrl 配合 R 恢复一次以前的撤销命令,恢复以前的操作结果


8、修改命令:
    r 替换当前字符
    R 替换当前光标后的字符,按ESC退出
    c 和 d 命令用法基本一致,只是删除后进入插入模式而已


9、替换命令:
    :s/old/new     在一行内替换一个字符串old 为新的字符串new
    :s/old/new/g   在所选行内替换所有的字符串old 为新的字符串new
    :%s/old/new/g  在文件内替换所有的字符串old 为新的字符串new
    :%s/old/new/gc 在进行全文替换时询问用户确认每个替换需添加c标志


10、缩排:
    >> 向右缩印
    << 向左缩印
    .  重复执行命令


11、文件命令:
    :e .  会打开内置文件浏览器,浏览当前目录的文件
    :e 文件名  打开已存在的文件
    :n 文件名  新建文件
    :w  保存当前文件
    :w 文件名  另存为,不会切换文件
    切换文件之前必须保证这个文件已经被保存


12、分屏命令:
    使用分屏命令,可以同时编辑和查看多个文件
    :sp 文件名  横向增加分屏
    :vsp 文件名 纵向增加分屏


    分屏窗口都是基于ctrl 配合 w 这个命令的
    w 切换到下一个窗口
    r 互换窗口
    c 关闭当前窗口,但是不能关闭最后一个窗口
    q 退出当前窗口,如果最后一个窗口,则关闭vi
    o 关闭其他窗口


13、退出vi/vim 编辑器:
    进入命令模式
    :q  <回车>  没有保存不能退出
    :q! <回车>  放弃所有改动
    :wq <回车>  保存并退出  等同于 :x




猜你喜欢

转载自blog.csdn.net/zyz1431/article/details/79394300