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. Nginx服务器架构简析

    一.Nginx的模块化 模块化结构的思想是一个很久的概念,但也正是成熟的思想造就了Nginx的巨大优越性. 我们知道Nginx从总体上来讲是有许多个模块构成的.习惯将Nginx分为5大模块分别为:核心 ...

  2. Mysql 更改最大连接数

    方法一: 进入MySQL安装目录 打开MySQL配置文件 my.ini 或 my.cnf查找 max_connections=100 修改为 max_connections=1000 服务里重起MyS ...

  3. 为什么要用Message Queue

    摘录自博客:http://dataunion.org/9307.html?utm_source=tuicool&utm_medium=referral 为什么要用Message Queue 解 ...

  4. [转]Gridview中实现RadioButton单选效果

    HTML <asp:TemplateField ItemStyle-Width="22px"> <ItemTemplate> <asp:RadioBu ...

  5. P3383: [Usaco2004 Open]Cave Cows 4 洞穴里的牛之四

    这个系列总算是做完了,这是我第一次高效率做完四道题,虽然中间有两道水题,但是第一和第四题还是蛮好的,但是只要能想到思路就很快能打完的. 像这道题,刚开始在想能不能用DP?但是苦于不知道怎么实施,后来又 ...

  6. 【转载】matlab中freqz函数的使用

    freqz函数计算线性系统的频率响应,包括幅频响应和相频响应,基本输入为线性系统的AMMA模型系数向量,一个典型的AMMA模型为 %               jw               -j ...

  7. 微软职位内部推荐-Senior SDE

    微软近期Open的职位: Position: Senior SDE-- Mobile Products Android/iOS/WP Senior Developer Contact Person: ...

  8. 使用Log Explorer查看和恢复数据

    由于一次意外操作,把QC数据库中的BUG表数据给删掉了.崩溃-上网找了下恢复方法,找到一款Log Explorer.下载安装使用后,发现这款软件的确不错,收藏ing.   本次的使用的Log Expl ...

  9. org.hibernate.StaleStateException: Batch update returned unexpected row count from update [0]; actual row count: 0; expected: 1

    org.hibernate.StaleStateException: Batch update returned unexpected row count from update [0]; actua ...

  10. Shell遍历文件的每一行[转载]

    #!/bin/sh while read line do echo $line done < /home/jms/lab/input.txt