zoukankan      html  css  js  c++  java
  • vim 高级技巧

    复制粘贴

    • normal 或v模式下 y/d/x 复制后,p来粘贴

    编辑模式

    • 默认的 set autoindent 会导致粘贴代码会导致缩进混乱
    • 一则可以先关掉autoindent,二则可以先设置set paste 进入到粘贴模式,粘贴完后再恢复

    选择寄存器,使用系统寄存器

    • 使用" 来选择寄存器,例如"add 可以将当前行保存到寄存器a中, 如果不指定寄存器时,默认会保存到无名寄存器
    • 使用"+来选择系统寄存器,这样的话,可以在不同的地方粘贴。 当然同样可以将其它地方的地方拷贝,再到vim 里"+p来粘贴
    • 在使用系统寄存器之前,先执行命令: echo has('clipboard') 如果输出1才可以使用系统寄存器

    补全

    • ctrl + n 来匹配补全,并使用ctrl+n 和 ctrl+b 来切换补全选择

    1. 在normal 模式下,按q,然后选择寄存器例如接着按a会将宏录制保存到a寄存器, 进入到recording 模式,然后所有的操作会被记录,包括normal和insert 模式,最后在normal 模式下按q结束录制
    2. 在normal模式下,选择@a ,可以回放宏, 除外还可以在virsual 模式下执行mormal模式的命令:首先进入v模式,选择要处理的地方,然后按下: 进入命令模式,然后输入normal @a 回车

    移动修改命令

    1. normal模式下,使用w/W, b/B 在单词之间移动(W/B只认空格作为单词的分隔),w到单词开头,b到单词结尾
    2. 在同一行里跳转使用f + 字符,可以跳到以这个字符作为开头的字符,按: 来切换到下一个匹配, 按F+字符表示逆向搜索
    3. insert 模式下, 使用ctrl + w 可以向前删除一个单词,ctrl+h 删除一个字符,ctrl + u 删除一整行
    4. 在normal模式下,按r/c/s 来对当前光标的单词进行replace, change,substitu 的操作后立即进入insert模式, 常用的可以在normal模式按cw,表示把当前的字符删掉,重新输入
    5. zz 可以将当前光标内容移动到屏幕中间位置
    6. dt) delete to ) 删除到右括号
    7. d+数字,删除数字个字符

    查找

    • 搜索光标所在单词的上一个匹配,* 匹配下一个

    语法高亮

    • sytax on
    • 神奇的=,在visual模式下,全选后,按下= 可以将当前的代码对齐
    • gi 回到上次编辑的位置

    总结

    最好的学习方式就是遇到问题后再去查询命令

  • 相关阅读:
    C/C++字符串转换函数;
    MFC CTreeCtrl 递归遍历算法
    汉字转拼音
    Windows之权限讲解
    Ubuntu 保存文件时报E212
    ON_WM_MOUSEWHEEL无响应
    sln、db、opendb、vcxproj、filters、user文件跟踪说明
    iOS 9: UIStackView入门
    Swift语言Storyboard教程:第一部分
    springboot启动项目报错:ERROR:o.s.b.d.LoggingFailureAnalysisReporter解决办法
  • 原文地址:https://www.cnblogs.com/hustcpp/p/11332195.html
Copyright © 2011-2022 走看看