linux vi编辑常用命令

来源:互联网 作者:佚名 时间:07-10 21:31:14 【

linux vi编辑常用命令,需要的朋友可以参考下
 

vi编辑器中有三种状态模式

1.命令模式

2.输入模式

3.末行模式

三种模式间的相互转换

vi编辑器的启动与退出

直接进入编辑环境

$ vi

进入编辑环境并打开(新建)文件

$ vi myfile

退出vi编辑环境

输入末行命令放弃对文件的修改,并退出编辑器

:q!

文件保存与另存为

保存文件

保存对vi编辑器中已打开文件的修改

:w

另存为文件

将vi编辑器中的内容另存为指定文件名

:w myfile

退出vi编辑器的多种方法

未修改退出

没有对vi编辑器中打开的文件进行修改,或已对修改进行了保存,直接退出vi编辑器

:q

保存并退出

对vi编辑器中的文件进行保存并退出vi编辑器

:wq

不保存退出

放弃对文件内容的修改,并退出vi编辑器

:q!

光标的移动和翻页操作

操作类型光标操作键功能

光标移动h向左移动光标

l向右移动光标

k向上移动光标

j向下移动光标

翻页Ctrl + f向前翻整页

Ctrl + b向后翻整页

Ctrl + u向前翻半页

Ctrl + d向后翻半页

行内快速跳转

操作键功能

^将光标快速跳转到本行的行首字符

$将光标快速跳转到本行的行尾字符

w将光标快速跳转到当前光标所在位置的后一个单词的首字母

b将光标快速跳转到当前光标所在位置的前一个单词的首字母

e将光标快速跳转到当前光标所在位置的后一个单词的尾字母

文件内行间快速跳转

命令功能

:set nu 在编辑器中显示行号

:set nonu 取消编辑器中的行号显示

1G跳转到文件的首行

G跳转到文件的末尾行

#G跳转到文件中的第#行

进入输入模式

命令功能

i在当前光标处进入插入状态

a在当前光标后进入插入状态

A将光标移动到当前行的行末,并进入插入状态

o在当前行的下面插入新行,光标移动到新行的行首,进入插入状态

O在当前行的上面插入新行,光标移动到新行的行首,进入插入状态

cw删除当前光标到所在单词尾部的字符,并进入插入状态

c$删除当前光标到行尾的字符,并进入插入状态

c^命令删除当前光标之前(不包括光标上的字符)到行首的字符,并进入插入状态

输入模式的编辑键操作

按键功能

方向键进行上下左右方向的光标移动

Home快速定位光标到行首

End快速定位光标到行尾

PageUp进行文本的向上翻页

PageDown进行文本的向下翻页

Backspace删除光标左侧的字符

Del删除光标位置的字符

删除操作

命令功能

x删除光标处的单个字符

dd删除光标所在行

dw删除当前字符到单词尾(包括空格)的所有字符

de删除当前字符到单词尾(不包括单词尾部的空格)的所有字符

d$删除当前字符到行尾的所有字符

d^删除当前字符到行首的所有字符

J删除光标所在行行尾的换行符,相当于合并当前行和下一行的内容

撤消操作

命令功能

u取消最近一次的操作,并恢复操作结果

可以多次使用u命令恢复已进行的多步操作

U取消对当前行进行的所有操作

Ctrl + r对使用u命令撤销的操作进行恢复

复制与粘贴操作

命令功能

yy复制当前行整行的内容到vi缓冲区

yw复制当前光标到单词尾字符的内容到vi缓冲区

y$复制当前光标到行尾的内容到vi缓冲区

y^复制当前光标到行首的内容到vi缓冲区

p读取vi缓冲区中的内容,并粘贴到光标当前的位置(不覆盖文件已有的内容)

字符串查找操作

命令功能

/word从上而下在文件中查找字符串“word”

?word 从下而上在文件中查找字符串“word”

n定位下一个匹配的被查找字符串

N定位上一个匹配的被查找字符串

字符串替换操作

命令功能

:s/old/new 将当前行中查找到的第一个字符“old” 串替换为“new”

:s/old/new/g 将当前行中查找到的所有字符串“old” 替换为“new”

:#,#s/old/new/g 在行号“#,#”范围内替换所有的字符串“old”为“new”

:%s/old/new/g 在整个文件范围内替换所有的字符串“old”为“new”

:s/old/new/c 在替换命令末尾加入c命令,将对每个替换动作提示用户进行确认

vi编辑器的在线帮助

使用vi在线帮助需安装的软件包

vim-common-6.3.035-3.i386.rpm

vim-enhanced-6.3.035-3.i386.rpm

软件包在RHEL5的第2张安装光盘

使用vi在线帮助的两种方法

在vi编辑器中按“F1”键

输入help末行命令

:help

linux vi编辑常用命令的更多相关文章

  1. Linux vi 编辑器 常用命令行

    1.vi 模式   a) 一般模式: vi 处理文件时,一进入该文件,就是一般模式了.   b) 编辑模式:在一般模式下可以进行删除,复制,粘贴等操作,却无法进行编辑操作.等按下'i,I,o,O,a, ...

  2. linux vi(vim)常用命令汇总(转)

    前言 首先解析一个vim vi是unix/linux下极为普遍的一种文本编辑器,大部分机器上都有vi的各种变种,在不同的机器上常用不同的变种软件,其中vim比较好用也用的比较广泛.vim是Vi Imp ...

  3. linux vi(vim)常用命令汇总

    1 查找 /xxx(?xxx) 表示在整篇文档中搜索匹配xxx的字符串, / 表示向下查找, ? 表示向上查找其中xxx可以是正规表达式,关于正规式就不多说了. 一般来说是区分大小写的, 要想不区分大 ...

  4. linux:终端常用命令 + vi命令修改文件及保存 方法

    首先介绍一下Ubuntu下各个目录的一般作用: /  这就是根目录,一台电脑有且只有一个根目录,所有的文件都是从这里开始的.举个例子:当你在终端里输入“/home”,你其实是在告诉电脑,先从/(根目录 ...

  5. Linux文件管理和编辑常用命令

    Linux文件管理和编辑常用命令 mkdir 命令 功能说明 mkdir 命令用于创建一个目录,mkdir是make directory的缩写 格式: mkdir [选项] 目录名 mkdir 命令的 ...

  6. Linux vi 编辑器常见命令的使用

    Linux vi 编辑器常见命令的使用 Linux下的文本编辑器有很多种,vi 是最常用的,也是各版本Linux的标配.注意,vi 仅仅是一个文本编辑器,可以给字符着色,可以自动补全,但是不像 Win ...

  7. Linux学习之CentOS(二)--初识linux的一些常用命令

    Linux学习之CentOS(二)--初识linux的一些常用命令 在VM上安装完了CentOS6.4以后,看着linux系统成功跑起来,心里小激动了一把......但是前方学习的道路还很遥远... ...

  8. Linux Tomcat部署常用命令

    Linux Tomcat部署常用命令 1.连接服务器 2.进入webapps目录:  cd /usr/local/tomcat8080/webapps/ 3.上传文件(war包等):rz 4.删除文件 ...

  9. VI/VIM 常用命令

    VI/VIM 常用命令=========== 整理自鸟哥的私房菜 ---------- - 移动光标 命令                    | 描述----------------------- ...

随机推荐

  1. 快速构建Windows 8风格应用16-SettingContract原理及构建

    原文:快速构建Windows 8风格应用16-SettingContract原理及构建 本篇博文主要介绍Setting Contract概述.Setting Contract实现基本原理.如何构建Se ...

  2. Windows 8 常用第三方SDK使用概览

    原文:Windows 8 常用第三方SDK使用概览 应用开发过程中,我们或多或少会使用到第三方的公司平台的功能,例如:新浪微博.人人网.高德地图等. 那么在Windows 8 Store App开发中 ...

  3. Redis查看帮助文档

    Redis查看帮助文档的方式,目前我用到的主要有两种: 1.访问官方文档: Redis文档 2.在redis-cli中通过命令查看,输入"?"或者"help"回 ...

  4. mediawiki在windows下的安装

    mediawiki在windows下的安装 对于刚接触wiki的朋友们来说,配置一个服务器环境,安装并运行mediawiki是一件很麻烦的事情,在这里,我尽量用通俗易懂的语言,介绍mw(mediawi ...

  5. 简话ASP.NET Web API

    简话ASP.NET Web API 在vs2012中,我们很容易在根据选择的ASP.NET MVC Web应用程序来新建一个Web API应用,聪明的你一定想见得到,Web API和MVC有着某种联系 ...

  6. 继承,is,as,多态

    继承中的构造方法:1.创建子类对象时,一定会先创建父类对象2.如果调用的子类构造方法没有使用base,就会自动调用父类无参的构造方法,   如果父类没有无参的构造方法就会报错3.如果调用的子类构造方法 ...

  7. Codekart 框架

    [Node.js框架] 为什么要开发 Codekart 框架 两年前,在被php的$符号和字符串处理折磨得半夜骂娘之后,我义无反顾地决定:珍爱生命,远离php. 之后一直在寻找一门“完美的语言”,先后 ...

  8. linux内核数据结构之链表

    linux内核数据结构之链表 1.前言 最近写代码需用到链表结构,正好公共库有关于链表的.第一眼看时,觉得有点新鲜,和我之前见到的链表结构不一样,只有前驱和后继指针,而没有数据域.后来看代码注释发现该 ...

  9. [转]使用ReactiveCocoa实现iOS平台响应式编程

    原文:http://www.itiger.me/?p=38 使用ReactiveCocoa实现iOS平台响应式编程 ReactiveCocoa和响应式编程 在说ReactiveCocoa之前,先要介绍 ...

  10. C# BackgroundWorker组件学习

    C# BackgroundWorker组件学习  C# BackgroundWorker组件学习 一个程序中需要进行大量的运算,并且需要在运算过程中支持用户一定的交互,为了获得更好的用户体验,使用Ba ...