普通模式下的快捷键

快捷键   说明
  i    insert, 在光标所在处输入
  I    在当前光标所在行的行首输入
  a    append, 在光标所在处后面输入
  A    在当前光标所在行的行尾输入
  o    在当前光标所在行的下方打开一个新行
  O    在当前光标所在行的上方打开一个新行
  ZZ    保存退出
  ZQ    不保存退出

  :q   退出
  :q!    强制退出,丢弃做出的修改
  :wq   保存退出
  :x    保存退出

命令模式
  di"   光标在" "之间,则删除" "之间的内容

  yi(   光标在()之间,则复制()之间的内容
  vi[   光标在[]之间,则选中[]之间的内容
  dtx   删除字符直到遇见光标之后的第一个 x 字符
  ytx   复制字符直到遇见光标之后的第一个 x 字符

字符间跳转:
  h: 左 l: 右 j: 下 k: 上
  #COMMAND:跳转由#指定的个数的字符

单词间跳转:
  w:下一个单词的词首
  e:当前或下一单词的词尾
  b:当前或前一个单词的词首
  #COMMAND:由#指定一次跳转的单词数

当前页跳转:
  H:页首 M:页中间行 L:页底
  zt:将光标所在当前行移到屏幕顶端
  zz:将光标所在当前行移到屏幕中间
  zb:将光标所在当前行移到屏幕底端

行首行尾跳转:
  ^: 跳转至行首的第一个非空白字符
  0: 跳转至行首
  $: 跳转至行尾

行间移动:
  #G :扩展命令模式下:# 跳转至由#指定行
  G:最后一行
  1G, gg: 第一行

句间移动:
  ):下一句(:上一句

段落间移动:
  }:下一段{:上一段
  Ctrl+f: 向文件尾部翻一屏
  Ctrl+b: 向文件首部翻一屏
  Ctrl+d: 向文件尾部翻半屏
  Ctrl+u:向文件首部翻半屏

字符编辑:
  x: 删除光标处的字符
  #x: 删除光标处起始的#个字符
  xp: 交换光标所在处的字符及其后面字符的位置
  ~:转换大小写
  J:删除当前行后的换行符

替换命令(r, replace)
  r: 替换光标所在处的字符
  R:切换成REPLACE模式

删除命令:
  d: 删除命令,可结合光标跳转字符,实现范围删除

复制命令(y, yank):
  y: 复制,行为相似于d命令

粘贴命令(p, paste):
  p:缓冲区存的如果为整行,则粘贴当前光标所在行的下方;否则,则粘贴至当前光标所在处的后面
  P:缓冲区存的如果为整行,则粘贴当前光标所在行的上方;否则,则粘贴至当前光标所在处的前面

vim查找,替换的方法

查找
  /PATTERN:从当前光标所在处向文件尾部查找
  ?PATTERN:从当前光标所在处向文件首部查找
  n:与命令同方向
  N:与命令反方向

查找并替换
  s: 在扩展模式下完成查找替换操作
  格式:s/要查找的内容/替换为的内容/修饰符
  要查找的内容:可使用模式
  替换为的内容:不能使用模式,但可以使用\1, \2, ...等后向引用符号;还可以使用“&”引用前面查找时查找到的整个内容

修饰符:
  i: 忽略大小写
  g: 全局替换;默认情况下,每一行只替换第一次出现
  gc:全局替换,每次替换前询问

查找替换中的分隔符/可替换为其它字符,例如
s@/etc@/var@g
s#/boot#/#i

例:

用vim,在/etc/default/grub倒数第二行末尾引号前面加入 xyz

:%s/\(.*CMD.*\)"/\1 xyz"/

用vim,在/etc/fstab中给行首不是#开头的都加上#

方法一
:%s@\(^[^#].*\|^$\)@#\@
方法二
:%s@^[^#]\|^$@#&@

用vim,去除#开头的行

方法一
:%s/^#.*\n//
方法二 留下了空行
:%s@^#.*$@@

vim命令行模式常见快捷方式的更多相关文章

  1. VIM命令行模式下的相关知识

    当按下:键时, Vim会切换到命令行模式: 重复上次执行的EX命令,只需按@:就可以: 在一行或多个连续行执行命令 很多的EX全天候可以指定操作范围,如行号,位置标记等: 以:print命令作为演示, ...

  2. vim命令行模式

    1. 激活命令行模式 : 进入命令行模式 <Esc>  退出命令行模式 2. 常用命令 :p 打印 (:print) :e 读入文件 (:edit) :w 写入文件 (:write) :t ...

  3. vim 命令行模式 操作指令

      复制n行: nyy 粘贴:p 剪切(删除)n行: ndd 剪切 ( 删除 ) n个字符:nx 移动光标到第一行 : gg 移动光标到最后一行 : G 设置格式  :gg=G 返回上一次操作前(撤销 ...

  4. vim第五章 命令行模式

    vim第五章命令行模式 技巧 27 结识vim的命令行模式 在命令行模式中执行的命令有被称作ex命令    在按/调出查找提示符或者<C-r>=访问表示寄存器时 命令行模式也被激活     ...

  5. 《Practical Vim》第五章:命令行模式

    前言 出于历史原因,命令行模式又叫 Ex 模式,它具有的功能有: 读写文件:比如 :edit, :write 等等 创建标签页或者窗口:比如 :tabnew :split 操作缓存区,比如: bnex ...

  6. Ubuntu18.04 设置开机进入命令行模式

    首先来了解下启动级别(Runlevel): 指 Unix 或 类 Unix 操作系统下不同的运行模式,运行级别通常分为 7 级: 运行级别 0:系统停机状态,系统默认运行级别不能设为0,否则不能正常启 ...

  7. Linux 命令行模式 你需要知道的那些事

    注: 安装软件 pip install + 软件名  例如: pip install xadmin 卸载软件 pip uninstall + 软件名 例如 pip uninstall xadmin 安 ...

  8. Ubuntu 开机进入命令行模式

    1.修改配置 sudo vim /etc/default/grub 把 GRUB_CMDLINE_LINUX_DEFAULT="quiet splash" 改为 GRUB_CMDL ...

  9. appium+python自动化44-appium命令行模式

    前言 appium desktop有个客户端版本,每次运行脚本的时候都要去双击启动才能运行,很显然不太方便,影响效率.那么有没什么办法不启动桌面程序就能运行呢,比如cmd命令行执行? 环境: appi ...

随机推荐

  1. redis blog

    IBM 看到的blog如何 存储在redis种 var ArticleHelper = function () { this.ArticleIDSet = "AIDSet"; // ...

  2. SDRAM介绍

    一.             介绍 存储器的最初结构为线性,它在任何时刻,地址线中都只能有一位有效.设容量为N×M的存储器有S0-Sn-1条地址线:当容量增大时,地址选择线的条数也要线性增多,利用地址 ...

  3. python学习-输入输出

    Python的输入和输出非常方便,下面详细记录一下 任何计算机程序都是为了执行一个特定的任务,有了输入,用户才能告诉计算机程序所需的信息,有了输出,程序运行后才能告诉用户任务的结果.输入是Input, ...

  4. ubuntu下安装tensorflow-gpu版本过程

    我之前已经安装了cpu-only版的tensorflow,所以现在要先把原先的tf卸载 sudo pip uninstall tensorflow sudo pip3 install tensorfl ...

  5. Codeforces Round #344 (Div. 2) 631 C. Report (单调栈)

    C. Report time limit per test2 seconds memory limit per test256 megabytes inputstandard input output ...

  6. kotlin项目开发基础之gradle初识

    在Android Studio推出之后默认的打包编译工具就变为gradle了,我想对于一名Android程序员而言没人不对它知晓,但是对于它里面的一些概念可能并不是每个人都了解,只知道这样配置就ok了 ...

  7. GCD实战之多个网络请求的并发

    // 创建信号量 dispatch_semaphore_t semaphore = dispatch_semaphore_create(0); // 创建全局并行 dispatch_queue_t q ...

  8. 高性能mysql 第6章 查询性能优化

    查询缓存: 在解析一个sql之前,如果查询缓存是打开的,mysql会去检查这个查询(根据sql的hash作为key)是否存在缓存中,如果命中的话,那么这个sql将会在解析,生成执行计划之前返回结果. ...

  9. solaris启动脚本S33installramdisk

    脚本内容: state="$1" case "$state" in 'start') echo 'Starting install mr ramdisk' &g ...

  10. orm中的聚合函数,分组,F/Q查询,字段类,事务

    目录 一.聚合函数 1. 基础语法 2. Max Min Sum Avg Count用法 (1) Max()/Min() (2)Avg() (3)Count() (4)聚合函数联用 二.分组查询 1. ...