复制粘贴

  • 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 回到上次编辑的位置

总结

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

vim 高级技巧的更多相关文章

  1. sed命令详解 vim高级技巧 shell编程上

    第1章 sed命令详解 1.1 查找固定的某一行 1.1.1 awk命令方法 [root@znix ~]# awk '!/oldboy/' person.txt 102,zhangyao,CTO 10 ...

  2. bundle中vim相关快捷键的使用

    http://www.cnblogs.com/respawn/archive/2012/08/21/2649483.html http://blog.163.com/liao_ya/blog/stat ...

  3. linux高级技巧:heartbeat+lvs

    linux高级技巧:heartbeat+lvs   Heartbeat 项目是 Linux-HA 工程的一个组成部分,它实现了一个高可用集群系统.心跳服务和集群通信是高可用集群的两个关键组件,在 He ...

  4. 如何创建Vim Dotfile?

    Dotfile是电脑系统里的隐藏文件,它是专门给更高级的用户,如开发者.程序员或工程师使用的,让他们用来调整系统.如何创建Vim-Dotfile? 可以参考以下步骤: 1. 首先,你要检查一下.vim ...

  5. 玩转Vim 编辑器

    一:VIM快速入门 1.vim模式介绍 以下介绍内容来自维基百科Vim 从vi演生出来的Vim具有多种模式,这种独特的设计容易使初学者产生混淆.几乎所有的编辑器都会有插入和执行命令两种模式,并且大多数 ...

  6. vim安装中文帮助手册

    安装方法:   在下面的网站下载中文帮助的文件包:$wget http://nchc.dl.sourceforge.net/sourceforge/vimcdoc/vimcdoc-1.5.0.tar. ...

  7. vim环境变量配置、背景色配置

    我们使用vi或者vim的时候,如果想要显示行号,可能会这样做:切换到命令模式,然后输入set nu,再按回车键就显示了:还有就是咱们在编写程序的时候,有的时候会希望按下回车键后,光标不是每次都在行首, ...

  8. vim+vundle配置

    Linux环境下写代码虽然没有IDE,但通过给vim配置几个插件也足够好用.一般常用的插件主要包括几类,查找文件,查找符号的定义或者声明(函数,变量等)以及自动补全功能.一般流程都是下载需要的工具,然 ...

  9. 萌新笔记——vim命令“=”、“d”、“y”的用法(结合光标移动命令,一些场合会非常方便)

    vim有许多命令,网上搜有一堆贴子.文章列举出各种功能的命令. 对于"="."d"."y",我在无意中发现了它们所具有的相同的一些用法,先举 ...

随机推荐

  1. AP架构基本过程

    ①.有线网络搭建(vlan,dhcp,路由等.) ②.ap零配置启动,通过dhcp获取IP地址及网关ip,同时获取ac ip地址. ③.AP主动建立到达ac的capwap隧道. ④.ap与ac建议隧道 ...

  2. Win10电脑安装虚拟机

    版权声明:本文为CSDN博主「MHades」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明.原文链接:https://blog.csdn.net/qq_42545 ...

  3. GCPC 2013_A Boggle DFS+字典树 CSU 1457

    上周比赛的题目,由于那个B题被神编译器的优化功能给卡了,就没动过这个题,其实就是个字典树嘛.当然,由于要在Boggle矩阵里得到初始序列,我还一度有点虚,不知道是用BFS还是DFS,最后发现DFS要好 ...

  4. day23(023-递归练习)

    23.01_File类递归练习(统计该文件夹大小) * 需求:1,从键盘接收一个文件夹路径,统计该文件夹大小(字节?) * * 从键盘接收一个文件夹路径 * 1,创建键盘录入对象 * 2,定义一个无限 ...

  5. (递归)P1025 数的划分

    题解: #include<iostream>using namespace std;int ret=0,m_n;void p(int n,double k,int j){ if(k==1) ...

  6. POJ 1094:Sorting It All Out拓扑排序之我在这里挖了一个大大的坑

    Sorting It All Out Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 29984   Accepted: 10 ...

  7. Python csv文件操作

    一.open文件打开和with open as 文件打开的区别 file= open("test.txt","r") try: for line in file ...

  8. Django——CSRF防御

    关于CSRF攻击原理在上一篇博客已经有过说明,这篇主要介绍下Django关于开启CSRF及CSRF工作机理.关于开启防御有两种,一种是全局开启,另一种是局部开启. 全局: 中间件 django.mid ...

  9. Linux基础应用

    Linux刚面世时并没有图形界面,因此所有的操作全靠命令完成,如磁盘操作.文件读取.目录操作.进程管理.文件权限等都要通过命令完成.且在职场中,大量的服务器维护都是通过远程命令来完成. 常用的7个命令 ...

  10. C#用户控件的使用

    1.添加一个用户控件 2.编辑用户控件,相当于自己定义了一个控件,和其他控件一样在窗体中使用,是一个类. 右击项目,生成一下,就可以看到窗体的工具箱上面多了一组工具,可以看到我们定义的控件login ...