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 来切换补全选择
宏
- 在normal 模式下,按q,然后选择寄存器例如接着按a会将宏录制保存到a寄存器, 进入到recording 模式,然后所有的操作会被记录,包括normal和insert 模式,最后在normal 模式下按q结束录制
- 在normal模式下,选择@a ,可以回放宏, 除外还可以在virsual 模式下执行mormal模式的命令:首先进入v模式,选择要处理的地方,然后按下
:进入命令模式,然后输入normal @a回车
移动修改命令
- normal模式下,使用w/W, b/B 在单词之间移动(W/B只认空格作为单词的分隔),w到单词开头,b到单词结尾
- 在同一行里跳转使用f + 字符,可以跳到以这个字符作为开头的字符,按: 来切换到下一个匹配, 按F+字符表示逆向搜索
- insert 模式下, 使用ctrl + w 可以向前删除一个单词,ctrl+h 删除一个字符,ctrl + u 删除一整行
- 在normal模式下,按r/c/s 来对当前光标的单词进行replace, change,substitu 的操作后立即进入insert模式, 常用的可以在normal模式按cw,表示把当前的字符删掉,重新输入
- zz 可以将当前光标内容移动到屏幕中间位置
- dt) delete to ) 删除到右括号
- d+数字,删除数字个字符
查找
搜索光标所在单词的上一个匹配,* 匹配下一个
语法高亮
sytax on- 神奇的
=,在visual模式下,全选后,按下=可以将当前的代码对齐 - gi 回到上次编辑的位置
总结
最好的学习方式就是遇到问题后再去查询命令
vim 高级技巧的更多相关文章
- sed命令详解 vim高级技巧 shell编程上
第1章 sed命令详解 1.1 查找固定的某一行 1.1.1 awk命令方法 [root@znix ~]# awk '!/oldboy/' person.txt 102,zhangyao,CTO 10 ...
- bundle中vim相关快捷键的使用
http://www.cnblogs.com/respawn/archive/2012/08/21/2649483.html http://blog.163.com/liao_ya/blog/stat ...
- linux高级技巧:heartbeat+lvs
linux高级技巧:heartbeat+lvs Heartbeat 项目是 Linux-HA 工程的一个组成部分,它实现了一个高可用集群系统.心跳服务和集群通信是高可用集群的两个关键组件,在 He ...
- 如何创建Vim Dotfile?
Dotfile是电脑系统里的隐藏文件,它是专门给更高级的用户,如开发者.程序员或工程师使用的,让他们用来调整系统.如何创建Vim-Dotfile? 可以参考以下步骤: 1. 首先,你要检查一下.vim ...
- 玩转Vim 编辑器
一:VIM快速入门 1.vim模式介绍 以下介绍内容来自维基百科Vim 从vi演生出来的Vim具有多种模式,这种独特的设计容易使初学者产生混淆.几乎所有的编辑器都会有插入和执行命令两种模式,并且大多数 ...
- vim安装中文帮助手册
安装方法: 在下面的网站下载中文帮助的文件包:$wget http://nchc.dl.sourceforge.net/sourceforge/vimcdoc/vimcdoc-1.5.0.tar. ...
- vim环境变量配置、背景色配置
我们使用vi或者vim的时候,如果想要显示行号,可能会这样做:切换到命令模式,然后输入set nu,再按回车键就显示了:还有就是咱们在编写程序的时候,有的时候会希望按下回车键后,光标不是每次都在行首, ...
- vim+vundle配置
Linux环境下写代码虽然没有IDE,但通过给vim配置几个插件也足够好用.一般常用的插件主要包括几类,查找文件,查找符号的定义或者声明(函数,变量等)以及自动补全功能.一般流程都是下载需要的工具,然 ...
- 萌新笔记——vim命令“=”、“d”、“y”的用法(结合光标移动命令,一些场合会非常方便)
vim有许多命令,网上搜有一堆贴子.文章列举出各种功能的命令. 对于"="."d"."y",我在无意中发现了它们所具有的相同的一些用法,先举 ...
随机推荐
- java String字符串判断
判断空字符串:StringUtils.isBlank StringUtils.isBlank(null) = true StringUtils.isBlank("") = true ...
- 四、CI框架之通过URL路径访问C中的函数
一.在C中写一个test001函数 二.在路径http://127.0.0.1/CodeIgniter-3.1.10/index.php/welcome/test001中访问 不忘初心,如果您认为这篇 ...
- HTML拖放
<html><head><style>.droptarget { float: left; width: 100px; height: 35p ...
- Android进阶——Android视图工作机制之measure、layout、draw
自定义View一直是初学者们最头疼的事情,因为他们并没有了解到真正的实现原理就开始试着做自定义View,碰到很多看不懂的代码只能选择回避,做多了会觉得很没自信.其实只要了解了View的工作机制后,会发 ...
- NET CLR via C#(第4版)第4章 类型基础
本章内容: 1 所有类型都从System.Object派生 2 类型转换 3 命名空间和程序集 4 运行时的相互关系 本章讲述使用类型和CLR时需掌握的基础知识.具体地说,要讨论所有类型都具有的一 ...
- VS Code 配置vue开发环境
一.插件 网上搜索vscode插件的文章,动辄十几个,其实根本用不了那么多,很多插件的作用还有重叠,电脑性能还被白白浪费.这里精简为主,每一个插件都发挥它最大的作用,并尽量说明它们的作用 Vetur ...
- you-get使用
1.pip install you-get 2.如果出错 查看错误bug you-get http://www.iqiyi.com/v_19rrnqxz7k.html#vfrm=2-4-0-1 ...
- APP测试关注的点 - 笔记
来源公开课笔记!!! 1.黑盒测试 是否正确并如设计的一样正常运行.测试自动化回归测试 2.测试主要关注参数: CPU.内存.耗电量.流量.FRS(流畅度).同时关注APP安装耗时和启动耗时 3.适配 ...
- Mac OS 终端利器 iTerm2配置大全
之前一直使用 Mac OS 自带的终端,用起来虽然有些不太方便,但总体来说还是可以接受的,是有想换个终端的想法,然后今天偶然看到一个终端利器 iTerm2,发现真的很强大,也非常的好用,按照网上配置了 ...
- 计算机网络(7): 传输层TCP和UDP以及TCP的工作方式
UDP:无连接:不保证可靠:面向报文的: TCP:面向连接:提供可靠交付:面向字节流(把应用层的数据分包,每个包装一些字节:不关心应用层给的包多大,而是根据网络状况,窗口大小决定) TCP报文: 序号 ...