文章目录

  • normal 模式下
  • visual模式下
  • insert 模式
  • command 模式
  • vim多文件操作
  • 其他

normal 模式下

  • a append 在当前字符后插入
  • i insert 在当前字符前插入
  • o open a line below
  • A append after a line
  • I insert before line
  • O append a line above
  • u undo 撤销上一步操作
  • p paste 粘贴
  • ctrl+r 返回上一步操作
  • h(左)j(下)k(上)l(右)移动
  • w/W移动到下一个word/WROD开头
  • e/E移动到下一个word/WORD结尾
  • b/B回到上一个word/WORD开头,即backward
  • word是非空白符分割单词,WORD空白符分割单词
  • 行首快速搜索并移动到某一字符f{char}即可快速移动到这个字符开头
  • 行尾快速搜索并移动到某一字符F{char}即可快速移动到这个字符开头
  • 使用0快速移动到行首,^快速移动到第一个空格位置,使用$快速移动到行尾,使用g_行尾非空白字符
  • /进行后向查找
  • ?进行反向查找
  • n/N查找下一个/上一个匹配
  • 查找中可以用*/#进行匹配
  • 输入v进入visual模式
  • 输入V会选中整行并进入可视模式
  • 使用ctrl+v会进行块状选择
  • gi直接跳转到最开始位置并进入编辑模式
  • t移动到前一个字符
  • 使用;/,进行快速的下一个/前一个搜索
  • 使用(,)句子间移动
  • ctrl+o返回上一个位置,相当于Word中的ctrl+z不删除
  • H/M/L跳转到屏幕开头/中间/结尾
  • ctrl+u/ctrl+f分别为上下翻页
  • zz把光标放回屏幕中间
  • x快速删除一个字符,
    daw(delete around word)快速删除一个单词及周围空格,默认可以用dw替代,diw快速删除一个单词不包含周围空格,dd快速删除一行,dt((delete to ())快速删除括号内容,d$删除到行尾,d0删除到行首,2dd快速删除两行
  • r(eplace)/c(hange)/s(substitute)
  • r替换一个字符,即向后删除一个字符并插入新字符,R相当于在Word中按下insert键
    s删除向前删除字符并进入插入模式,4s删除当前位置往后4个字符并进入插入模式,S删除整行并进入插入模式,
    C删除整行并进入插入模式,ct"(change to “”)修改""中内容
  • y(ank)+p(aste)实现复制粘贴,d(elete)+p(aste)实现剪贴粘贴,一般先进入visual模式,选择后,再执行复制粘贴或者剪贴粘贴操作,yy复制一行

visual模式下

  • h(左)j(下)k(上)l(右)移动
  • y yank 复制
  • p paste 粘贴
  • w/W移动到下一个word/WROD开头
  • e/E移动到下一个word/WORD结尾
  • b/B回到上一个word/WORD开头,即backward
  • word是非空白符分割单词,WORD空白符分割单词
  • 使用0快速移动到行首,^快速移动到第一个空格位置,使用$快速移动到行尾,使用g_行尾非空白字符
  • 使用ctrl+v会进行块状选择
  • 使用(,)句子间移动
  • H/M/L跳转到屏幕开头/中间/结尾
  • ctrl+u/ctrl+f分别为上下翻页
  • zz把光标放回屏幕中间
  • 选择后,x快速删除选择内容
  • y(ank)+p(aste)实现复制粘贴,d(elete)+p(aste)实现剪贴粘贴,一般先进入visual模式,选择后,再执行复制粘贴或者剪贴粘贴操作,yy复制一行

insert 模式

  • normal模式输入i进入insert模式
  • ESC进入normal
  • ctrl+h删除上一个字符
  • ctrl+w删除上一个单词
  • ctrl+u删除当前行
  • 使用ESC或者ctrl+c或者ctrl+[,建议用ctrl+[,因为ctrl+c可能中断其他插件
  • shift+insert粘贴系统粘贴板内容

command 模式

  • normal模式输入冒号(:)进入命令模式
  • 命令模式下可以全局替换, :% s /java/python 即将文件中全局的java替换为python, 其中%表示全局,s表示替换,/java表示要替换的字符串,/python表示替换为的字符串
  • :/python表示查找文章中的python字符串
  • :[range]s /{pattern}/{string}/[flags]
    其中range表示范围,%表示全部,10,20表示10-20行
    flags常用标志,g(lobal)全局范围,c(onfirm)每个替换需要确认,n(umber)报告匹配次数而不替换

vim多文件操作

  • 打开多个缓存区:e filename,打开filename这个文件
  • Buffer: 每打开一个文件便打开一个buffer,使用:ls显示有哪些缓存区,使用:b n跳转到第n个缓冲区,:bpre前一个缓存区,:bnext下一个缓存区,:bfirst第一个缓存区,:blast最后一个缓存区,:b buffer_name直接跳转缓存区可以使用tab键补全
  • Window:每个缓存区可以打开多个窗口,每个窗口可以打开多个缓存区,<ctrl+w>s 水平分割,<ctrl+w>v 垂直分割,或者:sp(水平分割),:vs(垂直分割),<ctrl+w>H/J/K/L 移动窗口到左边/下边/上边/右边,<ctrl+w>h/j/k/l 切换到左边/下边/上边/右边窗口
  • Tab:容纳多个窗口的桌面,相当于虚拟桌面

其他

  • vim中补全:
    <ctrl+n>关键字补全
    <ctrl+xf> 路径文件名补全
    <ctrl+xo> 全能补全,需要对应插件支持

  • w(ord)/s(entence)/p(aragraph)

  • 单词/句子/段落
    可以配合数字使用,如2aw可以选中2个单词及周围空格

  • 系统剪贴板为"+

  • normal下使用q录制宏,再输入q结束录制

  • q{register}选择要保存的寄存器

  • @{register}回放录制的命令

  • vim修改主题 :colorscheme+空格+<ctrl+d>显示已安装主题

Vim常用操作,normal模式、insert模式和visual模式相关推荐

  1. C++ STL::list常用操作及底层实现(中1)——实现list常用操作之插入(insert、push_front、push_back、splice)

    STL::list插入介绍及自实现插入功能 1插入数据之insert(): 1.1 `iterator insert(iterator position,const value_type & ...

  2. Linux之Vim常用操作

    Linux之Vim常用操作 Vim是一个功能强大的全屏幕文本编辑器,是Linux/UNIX上最常用的文本编辑器,它的作用是建立.编辑和显示文本文件.Vim没有菜单,只有命令. 一.插入命令 命令 作用 ...

  3. linux撤销编辑内容,linux编辑利器vim常用操作

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

  4. vim常用操作技巧与配置

    转自:http://os.chinaunix.net/a2006/0706/963/000000963867.shtml vi是linux与unix下的常用文本编辑器,其运行稳定,使用方便,本文将分两 ...

  5. VIM 常用操作(转载)

    vi(vim)可以说是linux中用得最多的工具了,不管你配置服务也好,写脚本也好,总会用到它.但是,vim作为一个"纯字符"模式下的工具,它的操作和WINDOWS中的文本编辑工具 ...

  6. Linux下vim常用操作

    vim有三种模式,分别是命令模式.编辑模式和最后行模式 当我们在命令行模式中时是不可以进行文本编辑的,我们可以通过按一下几个字母中的其中一个进入编辑模式 i 插入,也就是在你光标位置的前面进行插入编辑 ...

  7. Vim 输入法在normal和insert之间自动切换

    利用imdisable实现Fcitx与Vim模式切换 在使用fcitx时,可以使用: 在插入(insert)模式下切换到常规模式(normal)时,输入法不会自动改变成英文输入法,可以考虑使用以下配置 ...

  8. vim常用操作总结完整版

    技术交流QQ群:1027579432,欢迎你的加入! 技术交流QQ群:1027579432,欢迎你的加入! 1.vim介绍 vim的三种工作模式 命令模式:shell默认情况下打开的是命令模式,对源文 ...

  9. Vim 常用操作、查找和替换

    这篇文章来详细介绍 Vim 中查找相关的设置和使用方法. 包括查找与替换.查找光标所在词.高亮前景/背景色.切换高亮状态.大小写敏感查找等. 查找 在normal模式下按下/即可进入查找模式,输入要查 ...

最新文章

  1. SAP PM 入门系列18 - IP25为维护计划 Set Deletion Flag
  2. 2020暑期实习后台开发字节跳动笔试
  3. 在最长的距离二叉树结点
  4. 比较强得一个个性签名
  5. [Python爬虫] 之十二:Selenium +phantomjs抓取中的url编码问题
  6. JavaScript 解决浮点值运算Bug
  7. 一个多线程和队列的实例演示
  8. 网易视频云分享:如何搭建视频转码集群
  9. 前端:JS类型判断类库
  10. CentOS7安装EPEL源
  11. 前端学习(2766):生命周期函数
  12. 短视频生产利器!视频裁剪之横屏转竖屏新技术,出自腾讯多媒体实验室
  13. 北工商计算机考研难吗,北京工商大学考研难吗?一般要什么水平才可以进入?...
  14. MIDL2011报错。
  15. 草根站长胖子讲述做站故事
  16. 汽车车牌JS正则表达式验证(含新能源车牌)
  17. 华硕老毛子(Padavan)——锐捷6.41,静态ip,学生破解过程分享,非专业仅供参考,啰嗦的一批,有耐心能看懂
  18. SqlTransaction作用及如何使用(超详细)
  19. FPGA实现按键检测消抖程序
  20. 轻松学会正则表达式(标题狗)

热门文章

  1. 超级好看又易上手教你用python画樱花
  2. 黑苹果cpu架构三个问号_苹果三位芯片大神讲述M1背后的故事
  3. Linux下批量把GDK编码的文章转化为UTF-8编码的文章以及“iconv: 未知 xxx 处的非法输入序列”错误处理
  4. 国产浏览器 html5,老外评测国产浏览器 HTML5性能不俗
  5. 爬取东方求闻史记和东方求闻口授图片
  6. Sqoop 实际应用及样例
  7. 阿里JAVA实习生面试总结(2019年春招)
  8. vue遍历输出列表中以逗号隔开的字符串
  9. 参赛【GGJ2022】回顾,作品--双生共合
  10. Hive sql : 查询连续登录天数