VIM操作指南

摘要:
VIM操作指南I移动h,j,k,l对应于左,下,上,向右w向前移动光标一个单词b向后移动光标一单词nw向前移动光标n个单词nb向后移动光标n单词$将光标移动到行首^将光标移到当前行的第一个字母)将光标移动至下一个句子(将光标移动到上一句gg将光标移动到页G的第一行将光标移动至页nj的最后一行向下移动n行nG跳转到第n行H将光标移动屏幕顶部M将光标移动移动到屏幕中间L将光标移动到底部fx将光标移到下一行

VIM操作指南 

 

一.  移动


  1. h,j,k,l 对应左,下,上,右
  2. w 移动光标向前一个单词
  3. b 移动光标向后一个单词
  4. nw  移动光标向前n个单词
  5. nb   移动光标向后n个单词
  6. $   移动光标到行首
  7. ^   移动光标到当前行的第一个字母处
  8. )    移动光标到下一个句子
  9. (    移动光标到上一个句子
  10. gg   移动光标到页的第一行
  11. G    移动光标到页的最后一行
  12. nj    向下移动n行
  13. nG   跳至第n行
  14. H    移动光标到屏的上方
  15. M    移动光标到屏的中间
  16. L     移动光标到屏的下方
  17. fx     移动光标到本行的下一个x处


二.剪切与拷贝


  1. <shift-v>  选择文本(可视化)
  2.  v         选择文本
  3. d          剪切选择的内容到剪贴板
  4. y         拷贝选择的内容到剪贴板
  5. dd        删除当前行
  6. dw        剪切一个词(或daw)
  7. yy        拷贝当前行
  8. cc        剪切当前行并进入插入模式
  9. dfs        剪切从当前光标处到下一个s间的字符
  10. c$  删除从光标位置至行尾的字符并进入插入模式
  11. d$  删除从光标位置至行尾的字符
  12. p        粘贴 


三.插入与替换操作


  1. i  在当前字符插入
  2. I  在当前行首插入
  3. a  在当前字符的右边插入
  4. A  在当前行尾插入
  5. o  在当前行的下方插入
  6. O  在当前行的上方插入
  7. r   替换单个字符
  8. cl  修改一个字符
  9. cc 修改一整行

四.保存操作


  1. :q  退出
  2. :q! 强制退出
  3. :w  保存
  4. :wq  存盘并退出
  5. :new 文件名  新建文件


五.窗口操作


  1. <C-h,j,k,l>  切换到上下左右的窗口中去
  2. <C-H,J,K,L> 向上下左右进行窗口
  3. wm:WMToggle  打开浏览窗口
  4. F8   打开或关闭Taglist窗口
  5. :close  关闭当前窗口
  6. <C-w>  切换活动窗口
  7. :only  关闭其余窗口,只保留当前窗口
  8. :split  横向分割窗口
  9. :vsplit 纵向分割窗口
  10. :4split  分割窗口,并使新窗口只有4行
  11. <C-U> 文本向上滚动半屏
  12. <C-D> 文本向下滚动半屏
  13. <C-F> 向前滚动整屏
  14. <C-B> 向后滚动整屏
  15. zz  当前行置为屏的正中央
  16. zt  当前行置于屏的顶端
  17. zb  当前行置于屏的底端
  18. :previous 移动到前一个文件
  19. :next     移动到后一个文件
  20. :2next    向前跳过2个文件
  21. :last     移动到最后一个文件
  22. :first     移动到第一个文件
  23. cal    打开Calendar窗口


六.重做与搜索替换


  1. x 删除当前字符
  2. u 撤销
  3. <C-R> 重做(撤销的反操作)
  4. /text   向后搜索text,搜索后,用n向下搜索定位,N向上搜索定位
  5. ?text  向前搜索text,搜索后,用n向上搜索定位,N向下搜索定位
  6. /text\>  查找单个词text
  7. /\>text\>查找单个词text
  8. /^the   只匹配行首为the的单词
  9. /the$\>只匹配行首为the的单词
  10. J      将多行拼接为一行
  11. gU    当前单词变为大写
  12. gu     当前单词变为小写
  13. gUU    当前行都变为大写
  14. guu     当前行都变为小写
  15. :s/from/to  当前行from替换为to,只替换第一个(:s/from/to/g  表示替换当前行所有)
  16. :1,5s/from/to  从1至5行from替换to
  17. :%s/from/to/g  文件所有from替换为to


七.VIM常用设置命令


  1.  :Set ignorecase  忽略大小
  2. :Set noignorecase  精确匹配
  3. 3.   :Set nohlsearch    关闭高亮显示
  4. 4.   :Set hlsearch      打开高亮显示
  5. 5.   :Set number      显示行号
  6. 6.   :Set nonumber    不显示行号
  7. 7.   VIM配置文件为_vimrc


八.跳转(书签)


:jumps  列出跳转的历史记录

``       回到跳转前的地方

ma      设置当前行为书签

`a       跳到书签a处

:marks  查看书签列表

‘        进行此次跳转之前的起跳点

“        上次编辑该文件时的光标最后停留的位置

[        最后一次修改的起始位置

]        最后一次修改的结束位置


九.其他


:map   列出键值映射

:vmap  列出可视化键值映射

:nmap  列出正常键值映射

:imap  列出插入的键值映射

:cmap  列出命令行键值映射

:omap  列出系统键值映射


 :imap <F2><CR> Date: <Esc>:read!date<CR>kJ  定义F2为插入日期

免责声明:文章转载自《VIM操作指南》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇cygwin+windows 使用JNI时 .c文件打包成.soSTM32 对内部FLASH读写接口函数下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

perl学习一:探索Perl世界

1.perl4种变量 scalar: $ 纯变量,标量array: @hash: %file: 大写 2.变量组成 1.命名规则 大小写敏感 、 字母数字下划线。。。2.无关键字,$+其他,但不可以与内置变量冲突。3.命名长度无限。 3.纯变量中:整型、浮点型、字符、字符串、 整数变量 1.可以用_分割字符数字 2.012为八进制10 3.0x1f为16进...

python基础二

一、pycharm使用 1、创建python新工程 2、添加内容文件及其位置 3、python调整字体,按住Ctrl+鼠标滑轮上下,pycharm设置在【File】-->【Settings】打开 设置:可以在【File】-->【Settings】-->【Editor】-->【General】的选项里进行设置 4、python...

vim:将刚写的单词大写和单词的定义

最近打算把caps lock映射成<esc>键,那按起来多爽,现在的有一个小问题,如何快捷的输入大写字母、 用这个键盘映射搞定。 inoremap <c-u> <esc>gUiwa 大家有机会测试一下,这个组合不管你的光标在单词的位置,直接将整个单词大写。 解释一下: <esc> 进入normal模式 gU ...

正则表达式全部符号解释

字符 描述 将下一个字符标记为一个特殊字符、或一个原义字符、或一个 向后引用、或一个八进制转义符。例如,'n' 匹配字符 "n"。' ' 匹配一个换行符。序列 '\' 匹配 "" 而 "(" 则匹配 "("。 ^ 匹配输入字符串的开始位置。如果设置了 RegExp 对象的 Multiline 属性,^ 也匹配 ' ' 或 ' ' 之后的位置。...

Atom配置(VIM党) · iuunhao

为什么说是Vim党呢?首先我是一个深度的Vim用户,自己的电脑上基本上可以兼容Vim的插件都有,所有浏览器,所有编辑器都是Vim的操作方式,当然包括我现在书写的markdown的软件EME也是兼容的Vim的操作。 自从4年前,一次偶尔的机会接触到了Vim这款编辑器,就深深的被吸引了。 从刚开始实用别人的配置文件,直到最后自己用了2年的时间打磨出了自己的配置...

JAVA IO流常见问题

1、字节流和字符流的区别? (1)读写单位不同:字节流以字节(8 bit)为单位,字符流以字符为单位,根据码表映射字符,一次可能读多个字节。 (2)处理对象不同:字节流能处理所有类型的数据(如图片、avi 等),而字符流只能处理字符类型的数据。 (3)字节流没有缓冲区,是直接输出的,而字符流是输出到缓冲区的。因此在输出时,字节流不调用 colse() 方法...