Linux vi/vim 常用命令

1、vim 全屏编辑器

1.1 打开文件

  • vim /path/to/somefile
  • vim +# :打开文件,并定位于第#行
  • vim +:打开文件,定位至最后一行
  • vim +/PATTERN : 打开文件,定位至第一次被PATTERN匹配到的行的行首

1.2 关闭文件

1.2.1 末行模式:

  • :q  退出  没有动过文件
  • :wq 保存并退出   动过了,不后悔
  • :q! 不保存并退出  动过了,后悔了
  • :w 保存
  • :w! 强行保存
  • :x 等价于:wq

1.2.2 编辑模式

  • ZZ: 保存并退出(不需要冒号)

1.3 三种模式

  • 编辑模式:按键具有编辑文本功能:默认打开进入编辑模式
  • 输入模式:按键本身意义
  • 末行模式:接受用户命令输入

1.3.1 编辑模式 -> 输入模式

  • i: 在当前光标所在字符的前面,转为输入模式;
  • a: 在当前光标所在字符的后面,转为输入模式;
  • o: 在当前光标所在行的下方,新建一行,并转为输入模式;
  • O:在当前光标所在行的上方,新建一行,并转为输入模式;
  • I:在当前光标所在行的行首,转换为输入模式
  • A:在当前光标所在行的行尾,转换为输入模式

1.3.2 输入模式 -> 编辑模式

  • ESC

1.3.3 编辑模式 -> 末行模式

  • :(冒号)

1.3.4 末行模式 -> 编辑模式

  • ESC ESC

1.3.5 输入模式 -> 编辑模式 -> 末行模式

不能直接从输入模式到末行模式;

1.4 编辑模式

1.4.1 移动光标

字符

  • h: 左;j: 下;k: 上;l: 右

单词

  • w: 移至下一个单词的词首
  • e: 跳至当前或下一个单词的词尾
  • b: 跳至当前或前一个单词的词首

行内

  • 0: 绝对行首
  • ^: 行首的第一个非空白字符
  • $: 绝对行尾

行间

  • G:文章末尾
  • 3G:第3行
  • gg:文章开头

翻屏

  • Ctrl + f  向下翻屛 forward
  • Ctrl + b 向上翻屛 back

1.4.2 删除/替换单个字符

  • x:删除光标位置字符
  • 3x:删除光标开始3个字符
  • r:替换光标位置字符

1.4.3 删除命令 : d

  • dd:剪切光标所在行
  • 3dd:剪切从光标所在行开始向下的3行内容
  • dw:剪切光标所在单词
  • 3dw:剪切光标所在单词开始向后的3个单词

1.4.4 复制粘贴&剪切

  • yy:复制光标所在一整行
  • 3yy:复制光标所在行开始向下的3行内容
  • yw:复制光标所在单词
  • yw:复制光标所在单词开始向后的3个单词
  • p:粘贴刚复制的内容,向下一行粘贴
  • P:粘贴刚复制的内容,向上一行粘贴

1.4.5 撤销&重做

  • u:撤销
  • ctrl+r:重做 撤销的操作
  • .:重复上一步的操作

1.5 末行模式  shift + :

  • set nu:设置行号
  • set nonu:取消行号
  • set readonly:在当前vim窗口设置该文件为只读
  • set noreadonly:取消只读

1.5.1 查找

  • /word:查找word单词在文档中第一次出现的位置,光标定位到单词首字符
  • n:向下查找单词
  • N:向上查找单词
  • :/word:查找word单词在文档中第一次出现的位置,光标定位到单词所在行首字符
  • :! ls -al /usr/local/ 临时跳出vim,执行命令

1.5.2 查找并替换

s/str1/str2/gi

  • /:临近s命令的第一个字符为边界字符,也可以为以下几个:/,@,#,%
  • g:一行内全部替换
  • i:忽略大小写

范围

  • n:行号
  • .:当前光标行
  • +n:偏移n行
  • $:末尾行,$-3
  • %:全文

 

  • :.,$s/after/before/  从当前行(.)到末尾行($)查找after并替换为before,如一行内有多个after,只替换第一个
  • :%s/after/before/gi   全文中将所有的after替换为before

1.5.3 其他

删除所有内容

光标在首行
:.,$d
dG

删除从第一行到倒数第三行内容,保留最后2行

:1,$-2d

复制3到9行,再按p粘贴

:3,9y

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值