初学者刚进入vi不要乱点键盘,vi的三种模式和各种命令很容易弄混@@

vi编辑器是Unix系统最初的编辑器。它使用控制台图形模式来模拟文本编辑窗口,允许查看文件中的行、在文件中移动、插入、编辑和替换文本。

vi共分为三种模式:命令模式,编辑模式,末行模式

(1)命令模式

命令模式为vi的初始模式。在普通权限下键入“”$ vi 文件名 “”或 临时root用户下键入 “# vi 文件名”(例:root@XXX-virtualBox:/ect# vi vsftpd.conf),则初始进入vi的命令模式。  编辑模式下按esc进入命令模式。网上很多写在末行模式按esc可进入命令模式,我的电脑进入末行模式后几乎所有按键都是输入,输入esc显示“^[”而不会退回到命令模式。所以如果有情况和我相同进入末行模式不能转换模式的,不要乱按回车键(我回车换行后退出不了。。结果按截屏键退到桌面强制退出vi@@)。

命令模式中:

ZZ:退出vi

h或<-左键:左移一个字符

j或下键:下移一行

k或上键:上移一行

l或右键:右移一个字符

pageDown(或ctrl+F):下翻一屏

pageUp(或ctrl+B):上翻一屏

G:移动到缓冲区的最后一行

num G:移动到缓冲区中第num行

gg:移动缓冲区的第一行

x:删除当前光标所在位置的字符

dd:删除当前光标所在行

dw:删除当前光标所在位置的单词

d$:删除当前光标所在位置至行尾的内容

J:删除当前光标所在行行尾的换行符(拼接行)

u:撤销前一编辑命令

a:在当前光标后追加数据

A:在当前光标所在行行尾追加数据

r char:用char替换当前光标所在位置的单个字符

R text:用text覆盖当前光标所在位置的数据,直到按下ESC键

很容易误按的一个命令:qq:左下角会出现“recording@”这个标识。这是vim的一个强大的功能。它可以录制一个宏,参考

 http://www.netingcn.com/vim-recording-function.html
按q可停止宏录制
 
 
(2)编辑模式
在命令模式中按下【i,I,o,O,a,A,r,R】等字母之后进入编辑模式。按下上述的字母时,画面的左下方可能会出现【--INSERT--或--插入--】的字样,可以做文字数据输入。各个按键含义如下:
a:在光标后开始插入
A:在行尾开始插入
i:从光标所在位置前面开始插入
I:从光标所在列的第一个非空白字元面前开始插入
o:在光标所在列下新增一列并进入输入模式
O:在光标所在列上方新增一列并进入输入模式
 
ESC:返回命令模式
 
(3)末行模式
网上很多说在命令模式中输入【:】会进入末行模式,我的电脑:没有效果。需要在大写模式(按CapsLock键)再按q键最末行会出现:,注意这时不能再切换回其他模式(如果可以请留言我修改,谢谢)。可在:后输入命令
:q 如果有未修改缓冲区数据,退出。
:q! 取消所有对缓冲区数据的修改并退出【不保存直接退出】
:w filename 将文件保存到另一个文件中
:wq将缓冲区数据保存到文件中并退出
:sp上下分屏
:vsp左右分屏
ctrl+w+w切换屏
 
有些资料写命令模式中输入【/】进入末行模式,和:的命令不同,/后可输入查找内容或一些命令。如果/后输入错误的命令会自动回到命令模式
 

linux vi文本编辑器三种模式切换及常用操作的更多相关文章

  1. linux中vim编辑器三种模式及常用命令的使用

    Linux命令经常使用才会烂熟于心 命令行模式: 移动光标: 向下左右箭头可以移动光标: 将光标移动到行尾:$; 将光标移动到行头:^: 将光标移动到页尾:shift+g; 将光标移动到页头:1+sh ...

  2. Linux vi文本编辑器

    vi文本编辑器 1.最基本用法 vi  somefile.4 1/ 首先会进入“一般模式”,此模式只接受各种命令快捷键,不能编辑文件内容 2/ 按i键,就会从一般模式进入编辑模式,此模式下,敲入的都是 ...

  3. Linux学习笔记 (三)Vi文本编辑器

    vi编辑器是所有Unix及Linux系统下标准的编辑器,它的强大不逊色于任何最新的文本编辑器,这里只是简单地介绍一下它的用法和一小部分指令.由于对Unix及Linux系统的任何版本,vi编辑器是完全相 ...

  4. 10分钟 教你学会Linux/Unix下的vi文本编辑器

    10分钟 教你学会Linux/Unix下的vi文本编辑器 vi编辑器是Unix/Linux系统管理员必须学会使用的编辑器.看了不少关于vi的资料,终于得到这个总结.不敢独享,和你们共享. 首先,记住v ...

  5. Linux之vi文本编辑器

    vi的基本概念 基本上vi可以分为三种状态,分别是命令模式(command mode).输入模式(Insert mode)和末行模式(last line mode),各模式的功能区分如下: 1) 命令 ...

  6. Linux文本文件——文本编辑器Vim

    Linux文本文件——文本编辑器Vim 摘要:本文主要学习在Linux系统中使用Vim文本编辑器编辑文本. 什么是Vim Vim是一个基于文本界面的编辑工具,使用简单且功能强大.更重要的是,Vim是所 ...

  7. linux之文本编辑器

    [目标] 管理员在进行系统操作的时候,不可避免地会对文本进行修改,如进行各种服务程序配置文件的修改,使程序对用户提供不同的服务效果.在本章我们向大家介绍Linux上常见的编辑器ed.vi.emacs, ...

  8. linux vi/vim 编辑器学习总结

    linux vi/vim 编辑器学习总结 很多时候我们开发人员不可避免的会涉及到项目部署,这个时候使用的就不是我们所熟知的 Windows 和 Mac OS 操作系统了,而是类 Unix 系统.项目部 ...

  9. vi文本编辑器命令

    基本上 vi 共分为三种模式,分别是『一般模式』.『编辑模式』与『指令列命令模式』. 这三种模式的作用分别是: 一般模式:以 vi 打开一个档案就直接进入一般模式了(这是默认的模式).在这个模式中, ...

随机推荐

  1. jQuar总结10:jQuery操作元素的属性

    jQuery操作元素的属性 1 设置单个属性 //html <div></div> //js $('div').attr('id', 'box'); $('div').attr ...

  2. page next page prev

    <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <hea ...

  3. JavaScript - this详解 (三)

    闭包 this 执行上下文决定了变量作用域 而闭包,它其实是一种决策,是一种模式,让我们可以灵活的改变变量作用域. 按惯例,上栗子 var global = 'global';function out ...

  4. delphi edit边框成为下划线

    设置它的几个属性:BevelEdges    |_ beLeft = False;    |_ beTop   = False;    |_ beRight = False;    |_ beBott ...

  5. jquery实现简单抽奖功能

    一直纠结要怎么用jquery实现抽奖功能,看别人很多都是用flash制作的,找了很多资料,最终找到一个比较适合需求的,我做了些许调整,以下是代码展示(复制下来可以直接使用). 先上图:

  6. 基于python+selenium的框架思路

    设想: 1.使用excel编写用例第一个sheet页为用例概要格式如下: 后面的sheet页为具体的用例步骤: 实现所有定位信息都与测试代码分离 2.读取该excel文件取出关键字等信息,作为关键字的 ...

  7. Excel转Json工具

    应用程序在本地的数据配置的格式一般有JSON.XML.YAML.INI等格式,但是如果直接编写JSON数据往往不是特别方便, 今天给大家分享的是如何在EXCEL配置好数据,然后一键转换成JSON和C# ...

  8. c++调用c#写的DLL

    c++调用c#写的DLL: 此文章演示了建立c#的dll: c++建立工程,引入dll: 不能解决的问题: 指定dll的路径,在代码里面直接写 #using "xxx.dll" 必 ...

  9. Eclipse中mvn install 报错error in opening zip file

    报错信息 [ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:2.3.2:compile (de ...

  10. 理解图像Garbor和HOG特征的提取方法及实例应用

    前言:今天接触到了这两个特征,看了课本和博客后很蒙蔽,没有理解这两个特征,本篇博客的目的是只是参考其他的博客总结这两个特征,如果未来能研究和工作领域是这方面的话再回来自己研学,如有错误也欢迎指出. G ...