vim命令行模式常见快捷方式
普通模式下的快捷键
快捷键   说明
      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命令行模式常见快捷方式的更多相关文章
- VIM命令行模式下的相关知识
		当按下:键时, Vim会切换到命令行模式: 重复上次执行的EX命令,只需按@:就可以: 在一行或多个连续行执行命令 很多的EX全天候可以指定操作范围,如行号,位置标记等: 以:print命令作为演示, ... 
- vim命令行模式
		1. 激活命令行模式 : 进入命令行模式 <Esc> 退出命令行模式 2. 常用命令 :p 打印 (:print) :e 读入文件 (:edit) :w 写入文件 (:write) :t ... 
- vim 命令行模式 操作指令
		复制n行: nyy 粘贴:p 剪切(删除)n行: ndd 剪切 ( 删除 ) n个字符:nx 移动光标到第一行 : gg 移动光标到最后一行 : G 设置格式 :gg=G 返回上一次操作前(撤销 ... 
- vim第五章 命令行模式
		vim第五章命令行模式 技巧 27 结识vim的命令行模式 在命令行模式中执行的命令有被称作ex命令 在按/调出查找提示符或者<C-r>=访问表示寄存器时 命令行模式也被激活 ... 
- 《Practical Vim》第五章:命令行模式
		前言 出于历史原因,命令行模式又叫 Ex 模式,它具有的功能有: 读写文件:比如 :edit, :write 等等 创建标签页或者窗口:比如 :tabnew :split 操作缓存区,比如: bnex ... 
- Ubuntu18.04 设置开机进入命令行模式
		首先来了解下启动级别(Runlevel): 指 Unix 或 类 Unix 操作系统下不同的运行模式,运行级别通常分为 7 级: 运行级别 0:系统停机状态,系统默认运行级别不能设为0,否则不能正常启 ... 
- Linux 命令行模式 你需要知道的那些事
		注: 安装软件 pip install + 软件名 例如: pip install xadmin 卸载软件 pip uninstall + 软件名 例如 pip uninstall xadmin 安 ... 
- Ubuntu 开机进入命令行模式
		1.修改配置 sudo vim /etc/default/grub 把 GRUB_CMDLINE_LINUX_DEFAULT="quiet splash" 改为 GRUB_CMDL ... 
- appium+python自动化44-appium命令行模式
		前言 appium desktop有个客户端版本,每次运行脚本的时候都要去双击启动才能运行,很显然不太方便,影响效率.那么有没什么办法不启动桌面程序就能运行呢,比如cmd命令行执行? 环境: appi ... 
随机推荐
- shell脚本中的数组
			以下命令,都是以数组array=("20150417" "20150416" "20150415")为例. 注意bash中只支持一维数组,没 ... 
- python、第二篇:库相关操作
			一 系统数据库 information_schema: 虚拟库,不占用磁盘空间,存储的是数据库启动后的一些参数,如用户表信息.列信息.权限信息.字符信息等performance_schema: MyS ... 
- string::find_last_not_of
			#include <iostream>#include <string> using namespace std;int main(){ string s1("abc ... 
- 第07课:【实战】调试Redis准备工作
			7.1 Redis源码下载与编译 Redis源码下载与编译在前面已经说过了,同学们可以去第04课:GDB常用命令详解(上)学习. 编译成功后,会在src目录下生成多个可执行程序,其中redis-ser ... 
- CH5101 LICS//hdu5904 LICS
			恭喜我已经正式沦为pj组选手QwQ 标题两个题其实不一样的.这是ch 这是hdu 一.CH上的:裸题,求LICS.n<=3000 经典普及组dp题,题解烂大街了.所以对于这题,只讲细节: $ ... 
- sublime添加书签
			ctrl+f2添加书签, f2切换书签 
- 微信小程序let和var以及const有什么区别
			在JavaScript中有三种声明变量的方式:var.let.const. var:声明全局变量,换句话理解就是,声明在for循环中的变量,跳出for循环同样可以使用. for(var i=0;i&l ... 
- JavaScript基础——JavaScript函数(笔记)
			avaScript 函数(笔记) JavaScript 是函数式编程语言,在JavaScript脚本中可以随处看到函数,函数构成了JavaScript源代码的主体. 一.定义函数 定义函数的方法有两种 ... 
- 【leetcode】1249. Minimum Remove to Make Valid Parentheses
			题目如下: Given a string s of '(' , ')' and lowercase English characters. Your task is to remove the min ... 
- 自定义 Swiper 的上一页,下一页按钮
			1. Swiper 的上一页,下一页按钮,不是必需包含在container 中的 2. 定义上一页,下一页按钮的样式,CSS略.... 3. 在初始化Swiper中,定义上一页,下一页按钮 
