Vi的使用:

范例一:

使用Vi进入一般模式:

[root@dsetl lp]# vi test1.txt

范例二:按下i键进入编辑模式,开始编辑文字

-- INSERT –

范例三:按下【ESC】键回到一般模式

范例四:在一般模式下按下 :wq保存后离开Vi

注意:如果文件权限不对,例如为-r--r--r--,可能无法写入,使用 :wq!多加一个叹号进行强制写入.

范例5vi命令设置行号

[root@dsetl lp]# cp /etc/man.config .

[root@dsetl lp]# vi man.config

:set nu – 设置行号

:set nonu --取消行号

范例6vi命令删除所在行

  • D或者d按两次 删除光标所在行

范例7vi命令查找字串

  • /text  从光标位置往下找字串text ?text 从光标位置往上找字串text

  • n 继续找下一个字串(在输入上面的寻找指令之后使用)

  • N 继续向上找一个字符串(在输入上面的寻找指令之后使用)

范例8vi命令移动光标

  • Ctrl+f 向下移动一页

  • Ctrl+b 向上移动一页

  • 0 移动到这一行的最前面处

  • $ 移动到这一行的最后面字符处

  • G移动到这个文件的最后一行

  • nG移动到这个文件的第n行。10G移动到这个文件的第10

  • gg移动到这个文件的第1

  • n<Enter> 光标向下移动n行。

  • 40 + 向右箭头

范例8vi命令搜索与替换(一般模式)

%表示整个文件,$从当前行到文件尾。s表示替换操作。

g放在命令末尾,表示对指定行的搜索字符串的每次出现进行替换;

不加g,表示支队指定行的搜索字符串的首次出现进行替换。

  • :%s/text1/text2/g   将各行的text1替换为text2

  • :1,$s/ str1/ str2/g 用字符串str2替换所有出现的字符串str1

  • :.,$s/ str1/ str2/g 用字符串str2替换正文当前行到末尾所有出现的字符串str1

  • :1,$s/ str1/ str2/gc 用字符串str2替换所有出现的字符串str1,进行询问

范例8vi命令删除、复制、粘贴(一般模式)

删除:

  • x为向后删除一个字符,X为向前删除一个字符。

  • dd 删除光标所在的那一整行,ndd,例如3dd删除向下的3行。

复制

  • yy表示复制光标所在的哪一行

  • nyy :n为数字。复制光标所在的向下n行,例如20yy则是复制20行。

  • yw 将光标所在单词拷入剪贴板

  • y$ 将光标至行尾的字符拷入剪贴板

粘贴:

  • p :把粘贴到的数据粘贴到光标的下一行,

  • P则为贴在光标的上一行。

范例9:复原操作与重做操作

  • u表示复原前一个操作,【Ctrl+r表示重做上一个操作。

  • . 小数点,意思是重复前一个动作。如果想重复删除,重复粘贴,按下“.”就可以。

  • Vi命令的使用练习:

Vi的使用的更多相关文章

  1. 在docker容器中vi指令找不到

    在使用docker容器时,有时候里边没有安装vi,敲vi命令时提示说:vi: command not found,这个时候就需要安装vi,可是当你敲apt-get install vi命令时,提示: ...

  2. linux vi 命令大全

    进入vi的命令 vi filename :打开或新建文件,并将光标置于第一行首 vi +n filename :打开文件,并将光标置于第n行首 vi + filename :打开文件,并将光标置于最后 ...

  3. Cygwin中解决vi编辑器方向键和Backspace键不好使、安装vim的方法

    修改.virc文件(如果没有就创建)vi .virc 添加以下内容set nocpset backspace=start,indent,eol 保存退出:wq 如果是vim就修改.vimrc文件. 由 ...

  4. vi(vim)键盘图及其基本命令

    进入vi vi filename                打开或新建文件,并将光标置于第一行首 vi +n filename           打开文件,并将光标置于第 n行首 vi + fi ...

  5. vi安装Vundle+YouCompleteMe+注释快捷'scrooloose/nerdcommenter'

    Vundle is short for Vim bundle and is a Vim plugin manager. 从git上下载vundle $ git clone https://github ...

  6. vi学习总结

    1.模式 命令行模式:光标的移动.内容删除移动复制操作 插入模式:文字输入,即编辑状态 底行模式:文件保存或退出vi,设置编辑环境 2.基本操作 vi myfile,输入vi 文件名,,则进入vi. ...

  7. vim(vi)常用操作及记忆方法

    vi(vim)可以说是linux中用得最多的工具了,不管你配置服务也好,写脚本也好,总会用到它.但是,vim作为一个“纯字符”模式下的工具,它的操作和WINDOWS中的文本编辑工具相比多少有些复杂.这 ...

  8. vim vi Ubuntu

    在vi编辑模式下按退格键不能删除内容,按方向键不能上下左右移动?如果是则:1. 在vi里非编辑模式下按冒号进入到末行命令模式,然后输入set nocompatible,回车,然后在进入vi编辑模式,看 ...

  9. vi 的使用

    Vi 分三种模式:一般模式,编辑模式,和命令模式 一般模式: 光标移动,搜索与替换,删除,复制,粘贴 编辑模式:插入或者替换文本 命令模式:读取.保存文件 一般模式 光标移动: h(左), j(下), ...

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

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

随机推荐

  1. “Guess the number” game

    项目描述:https://class.coursera.org/interactivepython-004/human_grading/view/courses/972072/assessments/ ...

  2. Python 文件I/O

    文件I/O是Python中最重要的技术之一,在Python中对文件进行I/O操作是非常简单的. 1.打开文件 语法: open(name[, mode[, buffering]]) 1.1文件模式 1 ...

  3. Oracle数据迁移至MySQL

    ORACLE DB: 11.2.0.3.0 MYSQL DB: 5.5.14 因项目需求,需要将ORACLE生产中数据迁移至MYSQL数据库中作为初始数据,方法有如下几种: 1.ORACLE OGG ...

  4. Oracle HS (Heterogeneous Services)深入解析 及协同Gateway工作流程(转)

    异构的数据源同Oracle Database做交互原理. 图1 上图是一张Oracle 异构连接处理的架构图,其中我们可以看到主要的非数据源模块包括有HS(Heterogeneous Service) ...

  5. MYSQL主键存在则更新,不存在则插入的解决方案(ON DUPLICATE KEY UPDATE)

    经常我们使用的最简单的数据库操作就是数据的更新,删除和插入,对于批量删除和插入的方法相信大家都很清楚,那么批量更新估计有的人就不知道了,并且还有批量插入,在插入时若有主键冲突则更新的操作,这在EAV模 ...

  6. AngularJs学习笔记-AngularJS权威教程学习笔记

    AngularJS是什么? AngularJS是一种构建动态Web应用的结构化框架.主要用于构建单页面Web应用, 增加抽象级别,使构建交互式的现代Web应用变得更加简单. AngularJS使开发W ...

  7. FPGA入门1

    FPGA入门知识介绍    近几年来,由于现场可编程门阵列(FPGA)的使用非常灵活,又可以无限次的编程,已受到越来越多的电子编程者的喜爱,很多朋友都想学习一些FPGA入门知识准备进行这个行业,现在关 ...

  8. Android -- ViewRoot,关于子线程刷新UI

    Android在4.0之后执行线程更新UI操作会报异常:CalledFromWrongThreadException:Only the original thread that created a v ...

  9. python 解析web接口的json数据

    实例1-使用urllib2 #utf-8 import urllib2 import json url="http://xxx.com" #获取json格式的字符串 page=ur ...

  10. codeforce 421D D. Bug in Code

    题目链接: http://codeforces.com/problemset/problem/421/D D. Bug in Code time limit per test 1 secondmemo ...