本文只记录个人工作中最常用到的vim快捷键,不是很全,但是已经覆盖了绝大多数功能。
参考:《鸟哥Linux私房菜》以及https://www.cnblogs.com/momofan/p/5936203.html
注:文中涉及到的c-xxx都表示,Ctrl+XXX,比如c-f,就是Ctrl+f。
 
跳转:
H 移动光标到屏幕的首行(head)
M 屏幕中间行(middle)
L 屏幕尾行(last)
gg 文档首行
G 文档尾行
:n 跳转到某行
c-f 下一页(forward,同page down)
c-b 上一页(back,同page up)
 
插入:
i 在光标处插入
I 在当前行的第一个非空格符处插入
 
查找、复制、粘贴:
/xxx 在文档中向下查找匹配xxx的字符串,区分大小写,xxx可以是正规表达式。查找到以后, 再输入 n 查找下一个匹配处, 输入 N 反方向查找。
?xxx 向上查找,其他同上。
yy 拷贝光标所在行
dd 删除(剪切)光标所在行
v v和c-v表示visual模式,可以选择多行文本,并将文本块当做普通文本进行其他操作
p 粘贴在光标下一行(P是光标上一行)
 
多文件编辑:
vim f1 f2 打开多个文件
:ls 列出打开的所有文件名
:n 编辑下一个文件(:N编辑上一个文件)
:e file 编辑指定文件
:sp file vim分割出一个横/纵向窗口,并打开新文件
c-w-w 光标在多个窗口间循环定位,从而实现多窗口间内容复制、粘贴等
 
配置:
vimrc vim启动时会读取 /etc/vimrc 和 ~/.vimrc (全局设置的vimrc 和用户设置)。所以可以修改用户设置的vimrc实现自定义配置。比如,显示行号、高亮语法、tab、括号匹配等
 
存储、离开:
Esc 退出编辑模式,回到一般模式
:w 写入,加!强制
:q 离开,加!强制
:wq 写入离开,加!强制
:w file 另存新文档
ZZ 若档案未修改就不存储离开,若改动就存储离开。

个人最常用的vim操作的更多相关文章

  1. vim操作备忘录

    vim操作备忘录 vim 备忘录 vim的书籍虽然看不不少,可是老是容易忘记,主要是自己操作总结过少,这个博客就主要用来记录一些比较常见的术语和操作,以防止自己再次忘记. <leader> ...

  2. vim操作(待补充)

    :wq 存盘 + 退出 (:w 存盘, :q 退出) :e 打开新文件 :q 退出 h.j.k.l,分别控制光标左.下.上.右移一格. 按Ctrl+B:屏幕往后移动一页.[常用] 按Ctrl+F:屏幕 ...

  3. 大数据(4) - HDFS常用的shell操作

    注意:这次使用的是第二部分安装的集群,不是高可用集群 为了方便,开发,必须写集群脚本,试想集群的机器是100台以上,而不是3台的情况.... 集群启动脚本 vim /home/admin/tools/ ...

  4. 高级运维(六):源码安装Redis缓存服务、常用Redis数据库操作指令、配置Redis主从服务器

    一.源码安装Redis缓存服务 目标: 本案例要求先快速搭建好一台Redis服务器,并测试该缓存服务器: 1> 设置变量test,值为123 2> 查看变量test的值 3> 设置计 ...

  5. 整理常用的 vim 命令

    vim 是一款功能强大的文本编辑器,它是Linux下常用的编辑器之一,对于熟练掌握了 vim 的人来说,用它编辑文件,方便又快捷,能极大的提高工作效率 vim 功能强大,对应的命令也非常的多,对于初学 ...

  6. Oracle手边常用命令及操作语句

    Oracle手边常用命令及操作语句 作者:白宁超 时间:2016年3月4日11:24:08 摘要:日常使用oracle数据库过程中,常用脚本命令莫不是用户和密码.表空间.多表联合.执行语句等常规操作. ...

  7. TP5常用命令符操作

    ThinkPHP5常用命令符操作   1. 模块自动生成指令:   默认会读取应用目录application下面的build.php作为自动   生成的定义文件,如果你的定义文件位置不同,则需要使用 ...

  8. 一些常用的vim编辑器快捷键:

    一些常用的vim编辑器快捷键: h」.「j」.「k」.「l」,分别控制光标左.下.上.右移一格. 按「ctrl」+「b」:屏幕往“后”移动一页. 按「ctrl」+「f」:屏幕往“前”移动一页. 按「c ...

  9. 原生JavaScript常用的DOM操作

    之前项目一直都是用JQuery或者Vue来做的,确实好用,毕竟帮我们解决了很多浏览器兼容问题,但是后面发现大公司面试题都是要原生Javascript来做,然后我就一脸懵逼哈哈哈,毕竟大公司需要的框架或 ...

随机推荐

  1. node stream流

    stream 模块可以通过以下方式使用: const stream = require('stream');   Node.js 中有四种基本的流类型: Writable - 可写入数据的流(例如 f ...

  2. PSP Daily软件Alpha版本——基于NABCD评论,及改进建议

    1.根据(不限于)NABCD评论作品的选题: 此软件的用户人群较为明确,即:用户(软件工程课上学生)记录例行报告.写每周PSP表格和统计的需求.潜在用户还有未来该课堂的学生和需要用PSP方法记录任务完 ...

  3. Alpha 冲刺8

    队名:日不落战队 安琪(队长) 今天完成的任务 登录的数据post. okhttp学习第二弹. 明天的计划 okhttp学习第三弹. 个人信息界面数据get. 还剩下的任务 个人信息数据get. 遇到 ...

  4. mac python install zlib not available

    用brew install 3.4.4(python)时报 zipimport.ZipImportError: can't decompress data; zlib not available 的错 ...

  5. Scrum Meeting Beta - 4

    Scrum Meeting Beta - 4 NewTeam 2017/12/2 地点:新主楼F座二楼 任务反馈 团队成员 完成任务 计划任务 安万贺 完成了部分页面标题栏颜色的修改和字体的调整Iss ...

  6. java分页算法

    int totalPageNum = (totalRecord  +  pageSize  - 1) / pageSize;

  7. win7 64位机ODBC的数据源DSN添加和移除问题

    64位机器上ODBC的操作方法与32位机器是不一样的,如果直接从控制面板上-管理员工具-ODBC进去的话会发现User DSN以及System DSN里面都为空,ADD的时候连ODBC Driver都 ...

  8. ADB抓取日志和日志过滤

    建议抓取日志之前先清除缓存的log数据:adb logcat -c 网上有人介绍可以这样写:adb logcat -c && adb logcat 1.使用V.D.I.W.E.F.S优 ...

  9. .net 下SSE使用

    HTML5有一个Server-Sent Events(SSE)功能,允许服务端推送数据到客户端.(通常叫数据推送),基于数据推送是这样的,当数据源有新数据,它马上发送到客户端,不需要等待客户端请求.这 ...

  10. Socket 传一幅图片给另一个终端

    练习Socket传文件,先添加一个组件,简化socket发送和接收文件, 获取IP和端口的类 public static class AddressHelper { /// <summary&g ...