原文链接:http://blog.csdn.net/love__coder/article/details/6739670

1、光标移动

上:k

下:j

左:l 『字母L小写』

右:h

上一行行首:- 『减号』

下一行行首:+

行首:0 『数字0』

行尾:$

单词词尾或后一个单词词尾:e

后一个单词词首:w

单词词首或前一个单词词首:b

跳转到特定行::行号 ( :5  :跳转到第5行 )

上一屏:ctrl + b

下一屏:ctrl + f

上半屏:ctrl + u

下半屏:ctrl + d

向上滚屏:ctr + y

向下滚屏:ctr + e

跳到文件头:gg

跳到文件尾:G

2、搜索

向后模式搜索:/ + 搜索模式

向前模式搜索:?+ 搜索模式

注意:结合n和N向前向后查找

3、追加或插入

光标右侧追加:a

光标行尾追加:A

光标左侧追加:i

光标行首追加:I  『i 的大写』

光标下方插入行:o 【字母o】

光标上方插入行:O 【字母o的大写】

n到m行行首插入#: :n,m s/^/#/g 『1到5行,行首插入wow :1,3 s/^/wow/g 』

n到m+l行行首插入#: :n,+l s/^/#/g『1到6行,行首插入# :1,+5 s/^/#/g 』

4、删除

删除光标:x

删除光标左侧:X

删除光标所在的单词:dw

删除当前行:dd

删除光标至行尾:d$或D

删除当前行及以下n-1行:ndd  『n是数字,是要删除的行数』

删除n到m行: :n,m d 『删除1到3行     :1,3 d』 当m 用$ 时,表示到文档尾

5、复制粘贴

复制光标所在的单词:yw

复制光标至行尾:y$ 或Y

复制当前行:yy

复制行n次:yyn

复制当前行及以下n-1行:nyy『n是数字,是要复制的行数』

复制n到m行,粘贴到k+1行: :n,m co k 『复制1到3行,粘贴到第5行     :1,3 co 4』

剪切n到m行,粘贴到k+1行: :n,m m k 『剪切1到3行,粘贴到第5行     :1,3 m 4』

粘贴到光标下:p

粘贴到光标上:P

6、撤销回复

撤销:u

恢复:ctrl + r

7、替换

替换光标所在的字符:r

替换一个单词:cw

替换光标所在的前一个字符:cb

替换光标至行尾的所有字符:c$

替换当前行:cc

替换当前行的第一个old为new: :s/old/new

替换当前行的所有的old为new::s/old/new/g

替换当前行到最后行的第一个old为new::.,$s/old/new

替换当前行到最后行的所有old为new::.,$s/old/new/g

替换第n行到第m行的第一个old为new::n,m s/old/new

替换第n行到第m行的所有old为new::n,m s/old/new/g

替换所有行的第一个old为new: :%s/old/new
替换所有行的所有old为new: :%s/old/new/g

8、其他

查看当前设置::set all

显示行号::set nu

隐藏行号::set nonu

不保存退出::q

不保存强制退出::q!

保存编辑::w

保存并退出::wq

把两行连接在一起:J

把n行连接在一起:nJ      光标所在行及其下n-1行

执行shell命令::! shell  例如:查看到当前时间::! date

读取shell执行的结果,并把结果放在光标的后面::r!shell 例如:列出目录中的文件::r!ls

简单加密文件::X

vim +n filename 打开文件filename,并且把光标置于第n行行首

vim + filename 打开文件filename,并把光标置于最后一行行首

vim +/pattern filename 打开文件,并把光标置于第一个与pattern匹配的串行

vim -r filename 在上次vim崩溃处恢复filename

vim常用命令(复习版)(转)的更多相关文章

  1. vim常用命令总结(转)

    vim常用命令 -------------------------------------------------------------------------------------------- ...

  2. 图解vim常用命令

    VI 即 Visual Interface,可视化接口,VIM是VI的增强版 (improved),两张图总结vim常用命令. 图片来自 https://www.cnblogs.com/yangjig ...

  3. 转 vim常用命令总结

    vim常用命令总结 vim 选择文本,删除,复制,粘贴   文本的选择,对于编辑器来说,是很基本的东西,也经常被用到,总结如下: v    从光标当前位置开始,光标所经过的地方会被选中,再按一下v结束 ...

  4. Vim常用命令总结

    Vim常用命令总结: 下文是小编自己整理的关于日常linux vim编程过程中用的一些常用命令,资料参考鸟哥的 如果有需要的小伙伴可以参考一下!(底部有下载地址) 一. 一般模式可用的按钮说明 1.1 ...

  5. vim常用命令(iOS)

    iOS下vim的使用: vim 的三种模式: .一般模式(默认) .插入模式(写文字) .命令行模式(保存) 各种模式的功能区分如下: .一般模式:控制屏幕光标的移动,字符和光标的删除,移动复制某区段 ...

  6. 实用手册:130+ 提高开发效率的 vim 常用命令

    Vim 是从 vi 发展出来的一个文本编辑器.代码补完.编译及错误跳转等方便编程的功能特别丰富,在程序员中被广泛使用.和 Emacs 并列成为类 Unix 系统用户最喜欢的编辑器.这里收录了130+程 ...

  7. vim常用命令汇总

    vim常用命令汇总: http://www.cnblogs.com/softwaretesting/archive/2011/07/12/2104435.html 定位 本行第一个字符 ctrl+$ ...

  8. [转]vim常用命令

    [转]vim常用命令 http://www.cnblogs.com/sunyubo/archive/2010/01/06/2282198.html http://blog.csdn.net/wooin ...

  9. vim常用命令 vim键盘布局

    vim键盘布局,vim快捷键 vim常用命令:

  10. VI/VIM 常用命令

    VI/VIM 常用命令=========== 整理自鸟哥的私房菜 ---------- - 移动光标 命令                    | 描述----------------------- ...

随机推荐

  1. 【题解】JXOI2017颜色

    一眼线段树...显然,我们可以考虑最后所留下的区间,那显然这个区间中应当不能存在任何与区间外相同的颜色.这里的转化也是很常用的,我们用 \(nxt[i]\) 表示与 \(i\) 颜色相同的下一个位置在 ...

  2. bzoj 2140: 稳定婚姻 (二分图)

    //========================== 蒟蒻Macaulish:http://www.cnblogs.com/Macaulish/  转载要声明! //=============== ...

  3. [AHOI2009]最小割 最小割可行边&必须边

    ~~~题面~~~ 题解: 做这题的时候才知道有最小割可行边和必须边这种东西..... 1,最小割可行边, 意思就是最小割中可能出现的边. 充要条件: 1,满流 2,在残余网络中找不到x ---> ...

  4. BZOJ3195:[JXOI2012]奇怪的道路——题解

    http://www.lydsy.com/JudgeOnline/problem.php?id=3195 Description 小宇从历史书上了解到一个古老的文明.这个文明在各个方面高度发达,交通方 ...

  5. React ref的用法

    React的ref有3种用法: 1. 字符串(已废弃)2. 回调函数3. React.createRef() (React16.3提供) 1. 字符串 最早的ref用法. 1.dom节点上使用,通过t ...

  6. CF993E Nikita and Order Statistics

    小于x的赋值为1,否则为0 区间等于k的个数 求0~n连续的n+1个k? N<=1e5? FFT! 考虑卷积建模:用下标相加实现转移到位,数值相乘类比乘法原理! 法一: 分治,然后FFT没了 法 ...

  7. oracle xml操作

      /*=====================生成\修改xml========================= */ --xmlelement多个标签层级 SELECT XMLELEMENT(& ...

  8. arm开发板刷机方法

    1.linux系统启动方式 bootloader->kernel->system 在嵌入式系统中内存为DRAM,inand flash 都不能直接启动需要被初始化.其中初始化程序在(boo ...

  9. RabbitMQ基础概念(消息、队列、交换机)

    1.消息的确认 RabbitMQ需要对每一条发送的消息进行确认.消费者必须通过AMQP的basic.ack命令显式地向RabbitMQ发送一个确认,或者在订阅到队列的时候就将auto_ack参数设置为 ...

  10. 51Nod 1095 Anigram单词 | Hash

    Input示例 5 add dad bad cad did 3 add cac dda Output示例 1 0 2 题意:一系列字符串,查询字符串S,能通过其他字符串交换串内字符顺序得到的字符串个数 ...