zoukankan      html  css  js  c++  java
  • Vim备忘

    建议结合tmux使用,多开一个pane使用make或者使用tftp传输文件等。
    Ctrl+b z可以最大化当前pane,不用的时候再Ctrl+b z回到原窗口。


    1. 唯手熟尔

    1. Vim的模式

    Vim模式转换关系。

    graph LR cmd((命令模式)) input((输入模式)) normal((正常模式)) visual((可视模式)) normal--i/I a/A o/O-->input input--ESC-->normal normal--v/V/Ctrl+v-->visual visual--ESC-->normal normal--:-->cmd cmd--ESC-->normal

    正常模式:一般用于浏览文件,也包括一些复制、粘贴、删除等操作。

    命令模式:编辑器配置,文本查找和替换,文本块选择等。

    输入模式:文本输入和编辑。

    可视模式:模拟鼠标操作

    2. Vim退出

    命令 说明
    :q 退出未被编辑的文件
    :q! 强行退出vi,丢弃所做改动
    :x 存盘退出vi
    :wq 存盘退出vi
    ZZ 等同于:wq

    3. 光标移动

    上下左右移动

    在命令行下光标移动的方法:

    命令 说明
    k、Ctrl+P、<up_arrow> 向上移动,前面可以加数字表示移动多少行
    j、Ctrl+N、<down_arrow> 向下移动,前面可以加数字表示移动多少行
    h、Backspace、<left_arrow> 向左移动
    l、Space、<right_arrow> 向右移动

    移动到指定字符

    参考“查找”部分。

    词移动

    命令 说明
    w 向前移动,光标停在下个单词词首,每次一个单词
    W 向前移动,光标停在下个单词词首,每次一个字符串
    b 向后移动,光标停在前个单词词首,每次一个单词
    B 向后移动,光标停在前个单词词首,每次一个字符串
    e 向前移动,光标停在前个单词词尾,每次一个单词
    E 向前移动,光标停在前个单词词尾,每次一个字符串

    行移动

    光标快速定位。快速显示当前行?

    命令 说明
    I 光标进入行首并进入编辑模式。
    A 光标移至行尾并进入编辑模式。
    G 将光标定位到最后一行
    nG 将光标定位到第n行
    gg 将光标定位到第1行
    ngg 将光标定位到第n行
    :n 将光标定位到第n行

    页面窗口以及大范围移动

    命令 说明
    Ctrl+f/PageUp 向上翻页,前面可以加数字来表示翻多少页
    Ctrl+b/PageDown 向下翻页,前面可以加数字来表示翻多少页
    Ctrl+d 向上翻半页
    Ctrl+u 向下翻半页
    Ctrl+e 向下滚动
    Ctrl+y 向上滚动
    zt 光标所在行移动到窗口的顶部,侧重浏览
    zz 光标所在行移动到窗口的中间,侧重浏览
    zb 光标所在行移动到窗口的底部,侧重浏览
    H 光标移动到窗口的顶部,侧重窗口内编辑移动
    M 光标移动到窗口的中间,侧重窗口内编辑移动
    L 光标移动到窗口的底部,侧重窗口内编辑移动
    n% 移动到n%的位置

    窗口移动

    命令 说明
    Ctrl+w h/j/k/l 窗口间上下左右移动
    Ctrl+w H/J/K/L 窗口本身上下左右移动

    4. 文本选择

    命令 说明
    v 字符可视化模式(Characterwise visual mode)。文本选择是以字符为单位的。
    V 行可视化模式(Linewise visual mode)。文本选择是以行为单位的。
    Ctrl+v 块可视化模式(Blockwise visual mode)。可以选择一个矩形内的文本。

    5. 查找

    命令 说明
    / 向下查找
    向上查找
    q/ 在vim最下方开个新的窗口向下查找
    q? 在vim最下方开个新的窗口向上查找
    n 跳到下一个
    N 跳到上一个

    6. 文本编辑

    6.1 文本输入

    在命令行模式下输入编辑命令(i/I、a/A、o/O),就可以进入输入模式,Vi左下角将会提示“插入”字样。
    Vi的编辑命令。

    命令 说明
    a 在当前光标后面开始插入
    A 在当前行行末开始插入
    i 在当前光标前开始插入
    I 在当前和光标行行首开始插入
    o 从当前光标开始下一行开始插入
    O 从当前光标开始前一行开始插入

    6.2 文本处理

    文本块选定

    ESC+v

    复制和粘贴【*】

    y复制,p粘贴,yny复制n行。

    插入模式下粘贴

    Ctrl + r

    剪切和删除

    剪切

    命令 说明
    x或nx 从光标开始的一个或者n个字符
    X和nX 剪切光标前的一个或者n个字符

    删除

    命令 说明
    dd 删除光标所在的行
    D 删除从光标开始位置到行尾
    dw 删除从光标位置至该词末尾的所有字符
    d0 删除从光标开始至行首
    dnd 删除光标所在行开始的n行
    dnG 将光标所在行至第n行删除

    7. 文件浏览

    Vim下面原生的文件浏览

    命令 说明
    :Ex 在当前窗口浏览完之后直接打开文件
    :Vex 垂直分出来的一个窗口浏览文件
    :Sex 水平分出来的一个窗口浏览文件

    在窗格间切换的方法
    Ctrl+w+方向键——切换到前/下/上/后一个窗格
    Ctrl+w+h/j/k/l ——同上
    Ctrl+ww——依次向后切换到下一个窗格中
    插件的话推荐defx,NERDTree很久不更新了,不建议。

    8. Vim配置

    显示行号:

    设置命令 说明
    nu/number 显示行号
    nu! 切换显示/不显示行号
    nonumber 不显示行号

    查找设置:

    设置命令 说明
    incsearch 即时查看找到的结果
    hlsearch 对匹配的所有项目进行高亮显示
    ignorecase 忽略大小写
  • 相关阅读:
    HttpServletResponse工具类和HttpServletRequest工具类,前台参数接收方式和后台返回(JSON)数据格式
    centos7使用docker安装es(elasticsearch)
    springboot发送邮件
    Springboot在工具类(Util)中使用@Autowired注入Service
    Spring Boot应用程序启动器
    ssh端口转发功能
    小型自动化运维工具pssh和传输工具rsync
    用linux主机做网关搞源地址转换(snat)
    shell脚本判断里面的字符含义
    heartbeat高可用
  • 原文地址:https://www.cnblogs.com/dluff/p/13617980.html
Copyright © 2011-2022 走看看