【Linux常见命令】vi,vim命令
所有的 Unix Like 系统都会内建 vi 文书编辑器,其他的文书编辑器则不一定会存在。
但是目前我们使用比较多的是 vim 编辑器。
vim 具有程序编辑的能力,可以主动的以字体颜色辨别语法的正确性,方便程序设计。
Vi/VIM的三种模式:
- 命令模式(Command mode)(一般模式)
- 输入模式(Insert mode)(a,i,o进入)
- 底线命令模式(Last line mode)(:)
进入VI:
- vi file 打开/新建文件,光标置于第1行行首
- vi file +n 打开文件,光标置于第n行行首
- vi file + 打开文件,光标置于最后一行行首
- vi file +/pattern 将表表置于第一个与pattern匹配的字符串处
- vi -r file 在使用vi时发生系统崩溃,恢复
- vi file ... file 打开多个文件,依次进行编辑
编辑模式:
- i,I 插入光标前
- a,A 插入光标后
- o,O 插入新的一行
- r,R 替换
- r 会替换光标所指的那一个字符
- R 会一直替换光标所指的文字,直到按下ESC为止
命令模式(一般模式)
一般模式(命令模式):切换行首行尾,第一行最后一行

- 第一行:gg
- 最后一行:shift+g
- 行首:Home键,shift+^
- 行尾: End键,shift+$
- 切换到指定行:ngg,n为指定行号
- ( 光标移至句首
- ) 光标移至句尾
- { 光标移至段落结尾
- } 光标移至段落开头
一般模式:块选择
- v 字符选择
- V 行选择
- ctrl+v 块选择
- y 复制已选
- d 删除已选
一般模式:删除
- x 删除当前光标所在处的字符,向后删除
- X 向光标前删除一个字符
- dd 删除游标所在的那一整行(常用)
- ndd 删除光标所在的向下n行
- 3dd 向光标所在的向下3行(包含光标所在的行和下面2行)
- d1G 删除当前行至第一行
- dG 删除当前行至最后一行
- d$ 删除光标至行尾
- d0 删除光标至行首
一般模式:移动到某行
- ngg 切换到指定行,n为指定行号
- n[Enter] n为数字,向下移动n行
- H 光标移到当前窗口最上方那一行
- M 光标移到当前窗口中间的那一行
- L 光标移到当前窗口最下方那一行
一般模式:复制粘贴
- yy 复制当前行
- nyy 复制当前行和向下n行(总共n行)
- p 在下一行粘贴
- P 在上一行粘贴
一般模式:撤销
- u:撤销
- Ctrl+r 重做上一次操作
- . 重复前一个操作
底线命令模式
底线命令模式:行号
- :set nu 显示行号
- :set nonu 取消显示行号
底线命令模式:退出
- :w 保存文件
- :wq 保存并退出
- :q 退出不保存
- :q! 强制退出
- :w [file] 另存为file
- :r [file] 读取file插入
- :n1,n2 w[file] 将n1至n2行的内容,另存为file
- :! command 暂时离开vi,执行命令
底线命令模式:查找和替换
- /word 向下搜索word,按n重复向下
- ?word 向上搜索word,按N重复向下
- :%s/A/B/g 把A全部替换为B
- :n1,n2s/A/B/g[c] 在n1,n2之间搜索A并替换为B,c参数可以一个一个确认
【Linux常见命令】vi,vim命令的更多相关文章
- Linux环境下vi/vim编辑器常用命令
使用vi文本编辑器 配置文件是Linux系统中的显著特征之一,其作用有点类似于Windows系统中的注册表,只不过注册表是集中管理,而配置文件采用了分散的自由管理方式.那么如何使用Linux字符操作界 ...
- Linux命令vi/vim 使用方法讲解
vi/vim 基本使用方法 vi编辑器是所有Unix及Linux系统下标准的编辑器,它的强大不逊色于任何最新的文本编辑器,这里只是简单地介绍一下它的用法和一小部分指令.由于对Unix及Linux系统的 ...
- -Git Linux vi/vim 命令 按键 MD
目录 目录 Linux vi/vim 简介 vi/vim 的使用 命令模式 输入模式 底线命令模式 vi/vim 使用实例 使用 vi/vim 进入一般模式 按下 i 进入输入模式,开始编辑文字 按下 ...
- Linux vi/vim命令
转自:http://www.runoob.com/linux/linux-vim.html Linux vi/vim 所有的 Unix Like 系统都会内建 vi 文书编辑器,其他的文书编辑器则不一 ...
- 3、Linux基础--cp、mv、rm、alias、vi/vim命令
笔记 1.考试 1.判断网络是否通畅的命令 ping 2.定义系统提示组成的变量 PS1 3.Linux中目录从什么开始 根(/) 4.系统中目录路径类型有哪些,解释一下 绝对路径:以根目录作为参照物 ...
- Linux学习---vi/vim命令
Vim是从 vi 发展出来的一个文本编辑器.代码补完.编译及错误跳转等方便编程的功能特别丰富,在程序员中被广泛使用. 所以本文直接用Vim编辑器 基本上 vi/vim 共分为三种模式,分别是命令模式( ...
- Linux vi/vim命令高效助记图
图片来源网上,如有侵权,请告知,我会删除掉,谢谢~ 常用编辑按键: 1 vi +[num] file 打开文件,并将光标置于第n行首 2 vi + file 打开文件,并将光标置于最后一行首 3 vi ...
- linux命令--vi,vim
进入vi的命令 vi filename :打开或新建文件,并将光标置于第一行首 vi +n filename :打开文件.并将光标置于第n行首 vi + filename :打开文件.并将光标置 ...
- 新手必学linux文本文件编辑命令 vi vim.....
作为一名Linux新手小白,今天就和大家简单地了解一下Linux的Vim文本编辑器的使用. Vim文本编辑器 vim编辑器的三大模式——命令模式.编辑模式和末行模式 命令 ...
- 【mark】自己整合的vi/vim命令
又发现一篇很好的 http://blog.chinaunix.net/uid-16759545-id-4891666.html 又发现一个很好的系列:有空闲要精读一下: http://www.cnbl ...
随机推荐
- 值传递:pass by value(按值传递) 和 pass by reference(引用传递)-[all]-[编程原理]
所有的编程语言,都会讨论值传递问题. 通过一个js示例直观认识 //理解按值传递(pass by value)和按引用传递(pass by reference) //pass by value var ...
- Redis设计与实现笔记 - hash
基本结构如下 初始状态一直使用 dictht[0],即 0 号哈希表 在发生扩容 rehash的时候,开始渐进式向 dictht[1]哈希表转移, 转移完成后交换 dicth[0] 与 dictht[ ...
- 手把手教你分析Mysql死锁问题
前言 前几天跟一位朋友分析了一个死锁问题,所以有了这篇图文详细的博文,哈哈~ 发生死锁了,如何排查和解决呢?本文将跟你一起探讨这个问题 准备好数据环境 模拟死锁案发 分析死锁日志 分析死锁结果 环境准 ...
- flask 入门 之 Python Shell (一)
1.安装插件: pip install flask_script 2.代码: #encoding:utf-8 from flask_sqlalchemy import SQLAlchemy from ...
- Flutter 实现网易云音乐字幕
老孟导读:没有接触过音乐字幕方面知识的话,会对字幕的实现比较迷茫,什么时候转到下一句?看了这篇文章,你就会明白字幕so easy. 先来一张效果图: 字幕格式 目前市面上有很多种字幕格式,比如srt, ...
- ps 命令显示不完整的问题
今天在使用ps命令的时候,无法查找到指定名字的进程ID,仔细查找才发现ps命令查找的结果中进程启动的命令以及参数信息被截断了 问题实例 用户wanng启动了一个进程 wanng_qytrunkcros ...
- Powershell操作MySQL
最近再用Python写一些监控脚本,并将监控数据输出到MySQL中,最后通过Python抓取MySQL中的数据进行监控汇总告警 考虑到一些微软产品使用Powershell更为方便,于是找了些资料,尝试 ...
- Java 数据类型转换的骚操作和神奇现象
问:银行用什么数据类型来表示余额?float还是double? 都不是!!下面说明为什么都不可以呢? public static void main(String[] args) { //浮点数他都是 ...
- AJ学IOS(05)UI之360等下载管理器九宫格UI
AJ分享,必须精品 先看效果 主要是完成了九宫格UI的搭建 代码 - (void)viewDidLoad { [super viewDidLoad]; //九宫格中每个格子的宽 #define kAp ...
- 跳转语句break与continue的使用环境
break:改变程序控制流 常用于do-while.while.for .switch循环中,终止某个循环,程序跳转到循环块外的下一条语句 continue:跳出本次循环,进入下一次循环