• VIM 必知必会12大类型操作


    VIM 必知必会12大类型操作 - Claire_level的个人页面 - 开源中国社区

         VIM 必知必会12大类型操作
        

        vi 基本操作

        1、插入

        i 在光标前插入

        I 在行首插入

        a 在光标后插入

        A 在行末插入

        o 在下一行插入

        O 在上一行插入

        r 输入替换光标位置字符

        R 进入输入替换模式,输入时替换光标后字符

        u 撤销上一步,在没有保存文件时一直有用

        ESC 退出编辑模式

        2、保存

        :wq/ZZ 保存退出

        :w 保存

        :w! 强制保存

        :w filename 文件另存为 filename

        :n1,n2 w filename 将n1行到n2行的数据另存为filename

        3、退出

        :q 退出

        :q! 强制不保存退出

        :qw! 强制保存退出

        :x 保存退出

        4、光标移动

        h、j、k、l 进行移动

        H 定位到屏幕上面

        L 定位到屏幕下面

        M 定位到屏幕中间

        $ 光标到行尾

        0 光标到行首

        G 光标到文档最后一行

        gg 光标到文档第一行

        /n 光标到文档第n行

        nG 光标到文档第n行

        :n 光标到文档第n行

        n<enter>向下移动n行

        n<space> 向后移动n字符

        pageup | ctrl+b  向上翻页

        pagedown | ctrl+f 向下翻页

        5、复制/粘贴/删除

        yy、Y 复制当前行

        nyy、nY 复制从当前行开始的n行

        p 粘贴到下一行

        P 粘贴到上一行

        dd 剪切当前行

        ndd 剪切n行

        p 粘贴到下一行

        D 当前光标开始删除到行尾

        dd 删除当前行

        ndd 从当前行开始向后删除n行

        d1G 删除第1行到当前行的数据

        dnG 删除第n行到当前行的数据

        dG 删除当前行到最后一行的数据

        x 向后删除1个字符/删除光标所在字符

        nx 向后删除n个字符/删除光标后n个字符

        X 向前删除1个字符

        :n1,n2G 删除指定范围的行

        6、搜索

        :set ic 设置搜索时不区分大小写

        :set noic 设置关闭搜索时不区分大小写

        /str 从光标位置向下搜索str

        ?str 从光标位置向上搜索str

        n 找下一个

        N 找上一个

        7、替换

        :%s/abc/123/g 把abc全部替换成123

        :%s/abc/123/gc 同上,但需要用户一个个的确认替换

        :n1,n2s/abc/123/g 把n1到n2行中abc全部替换成123

        8、撤销

        u 退回前一个动作

        ctrl+r 重复前一个动作

        :e! 文档还原到最原始状态

        9、块操作

        v字符选择 光标经过的字符被选中

        V行选择 光标经过的行被选中

        ctrl+v块选择 矩阵式选中

        y 复制被选中的数据

        d 删除被选中的数据

        10、多文件编辑

        vim file1 file2 同时编辑两个文件file1和file2

        :files 列出vim当前打开的文件列表

        :n 编辑下一个文件

        :N 编辑上一个文件

        11、多窗口操作

        :sp file2 在打开一个文件后,用:sp在新窗口中打开另一个文件file2

        ctrl+w -->j 窗口向下切换。先按ctrl+w,打开,再按j

        ctrl+w -->k 窗口向上切换。先按ctrl+w,打开,再按k

        12、定义快捷键

        :map 定义快捷键

        ctrl+v ctrl+p  获得快捷键,p是要设置的快捷键位

        ctrl+v+p 获得快捷键

        :map ^p I#<ESC> 定义ctrl+p快捷键,实现进入插入模式,在光标所在行行首添加#注释,并退回到命令模式

        :map ^e Iaabbcc 定义ctrl+e快捷键,在光标前插入aabbcc

        :map ^b 0x 定义ctrl+b快捷键,删除光标所在行前的#

        :ab myname claire 自动替换,输入myname后自动替换为claire

        :unab myname claire 取消自动替换,输入myname后自动替换为claire

        13、连续行注释

        n1,n2s/^、#/g 将n1至n2行前加#号

        n1,n2s/^//g 去掉n1至n2行前的#号

        n1,n2s/^#//g 去掉n1至n2行前的#号

        n1,n2s/^/\/\//g 去掉n1至n2行前的//号

        14、其它操作

        set nu 显示行号(nu=number)

        set nonu 取消等号(nonu= no number)

        :r filename 把filename文件里的内容插入到当前光标所在的位置下

        :!command 暂时离开vim,去执行command命令。 如(:!df -h)

        :r !date 把当前系统时间导入到文件末尾
  • 相关阅读:
    小球下落
    生成1~n的排列
    hdu1871无题
    android本地定时通知
    php 5.3起弃用session_register
    centos 6.3 编译安装 nginx +mysql + php
    skynet网络库socketserver
    mac下通过docker搭建LEMP环境
    Git操作
    iOS本地通知
  • 原文地址:https://www.cnblogs.com/lexus/p/2766516.html
Copyright © 2020-2023  润新知