第一部份:一般模式可用的按钮说明,光标移动、复制粘贴、搜索取代等

移动光标的方法:

h 向左箭头键(←) 光标向左移动一个字符

j 向下箭头键(↓) 光标向下移劢一个字符

k向上箭头键(↑) 光标向上移动一个字符

l向右箭头键(→) 光标向右移动一个字符

如果想要进行多次移动的话,例如向下移动 30 行,可以使用 "30j" 或 "30↓" 的组合按键

[Ctrl] + [f] 屏幕『向下』移动一页,相当于 [Page Down]按键 (常用)

[Ctrl] + [b] 屏幕『向上』移动一页,相当于 [Page Up] 按键 (常用)

0 或功能键[Home] 这是数字『 0 』:移动到这一行的最前面字符处 (常用)

$ 或功能键[End] 移动到这一行的最后面字符处(常用)

G 移动到这个档案的最后一行(常用)

nG  n 为数字。移动到这个档案的第 n 行。例如 20G 则会移动到这个档案的第 20 行(可配合 :set nu)

gg 移动到这个档案的第一行,相当于 1G ! (常用)

n<Enter> n 为数字。光标向下移动 n 行(常用)

搜寻与取代

/word:向光标之下寻找一个名称为word的字符串,例如要在文件内搜寻boxiaoyuan这个字符串,就输入/boxiaoyuan即可(常用)

?word:向光标之上寻找一个字符串名称为word的字符串

n:这个 n 是英文按键。代表『重复前一个搜寻的动作』。举例来说, 如果刚刚我们执行 /boxiaoyuan 去向下搜寻 boxiaoyuan 这个字符串,则按下n后,会向下继续搜寻下一个名称为boxiaoyuan 的字符串。如果是执行?boxiaoyuan的话,那么按下n则会向上继续搜寻名称为boxiaoyuan的字符串!

N:这个N是英文按键。与n刚好相反,为『反向』进行前一个搜寻动作。 例如 /boxiaoyuan 后,按下 N 则表示『向上』搜寻boxiaoyuan 。

:n1,n2s/word1/word2/g  n1与n2为数字。在第n1与n2行之间寻找word1这个字符串,并将该字符串取代为word2!举例来说,在100到200行之间搜寻boxiaoyuan并取代为BOXIAOYUAN 则:『:100,200s/boxiaoyuan/BOXIAOYUAN/g』。(常用)

:1,$s/word1/word2/g 从第一行到最后一行寻找word1字符串,并将该字符串取代为 word2!(常用)

:1,$s/word1/word2/gc 从第一行到最后一行寻找word1字符串,并将该字符串取代为 word2!且在取代前显示提示字符给用户确认 (confirm)是否需要取代!(常用)

删除、复制与粘贴

x, X 在一行字当中,x为向后删除一个字符(相当于[del] 按键),X为向前删除一个字符(相当于 [backspace] 亦即是退格键) (常用)

dd 删除游标所在的那一整行(常用)

ndd n为数字。删除光标所在的向下n行,例如20dd则是删除20行(常用)

yy 复制游标所在的那一行(常用)

nyy n 为数字。复制光标所在的向下n行,例如20yy 则是复制 20 行(常用)

p, P: p 为将已复制的数据在光标下一行贴上,P则为贴在游标上一行! 举例来说,我目前光标在第20行,且已经复制了10行数据。则按下p后, 那10行数据会贴在原本的20 行之后,亦即由 21 行开始贴。但如果是按下 P 呢? 那么原本的第 20 行会被推到变成 30 行。 (常用)

u 复原前一个动作。(常用)

[Ctrl]+r 重做上一个动作。(常用)

. 重复前一个动作的意思。 如果你想要重复删除、重复贴上等等动作,按下小数点『.』就好了! (常用)

第二部份:一般模式切换到编辑模式的可用的按钮说明

进入插入或取代的编辑模式:

i, I 进入插入模式(Insert mode): i 为『从目前光标所在处插入』, I 为『在目前所在行的第一个非空格符处开始插入』。 (常用)

a, A 进入插入模式(Insert mode): a 为『从目前光标所在的下一个字符处开始插入』, A 为『从光标所在行的最后一个字符处开始插入』。(常用)

o, O 进入插入模式(Insert mode): 这是英文字母 o 的大小写。o 为『在目前光标所在的下一行处插入新的一行』; O 为在目前光标所在处的上一行插入新的一行!(常用)

r, R 进入取代模式(Replace mode): r 只会取代光标所在的那一个字符一次;R会一直取代光标所在的文字,直到按下 ESC 为止;(常用)

[Esc] 退出编辑模式,回到一般模式中(常用)

第三部份:一般模式切换到指令列模式的可用的按钮说明

指令列的储存、离开等指令

:w 将编辑的数据写入硬盘档案中(常用)

:w! 若文件属性为『只读』时,强制写入该档案。不过,到底能不能写入, 还是跟你对该档案的档案权限有关!

:q 离开 vi (常用)

:q! 若曾修改过档案,又不想储存,使用 ! 为强制离开不储存档案。

:wq 储存后离开,若为 :wq! 则为强制储存后离开 (常用)

vi/vim使用总结的更多相关文章

  1. Linux vi/vim(转载)

    Linux vi/vim 所有的 Unix Like 系统都会内建 vi 文书编辑器,其他的文书编辑器则不一定会存在. 但是目前我们使用比较多的是 vim 编辑器. vim 具有程序编辑的能力,可以主 ...

  2. vi/vim 的使用

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

  3. 解决vi/vim中粘贴会在行首多很多缩进和空格的问题

    解决vi/vim中粘贴会在行首多很多缩进和空格的问题 secureCRT会将你原来的文本原封不动的按照字符串的样式发送给服务器.所以当你的服务器上的vim设置为autoindent的话,在i模式下,那 ...

  4. Linux下Vi/Vim使用笔记

    启动和关闭vim vi 打开 Vi/Vim 打开 Vi/Vim 并加载文件 <file> vi <file> vim编辑器的三种模式:一般模式.编辑模式和命令行模式在一般模式中 ...

  5. vi/vim基本使用方法

    vi/vim 基本使用方法本文介绍了vi (vim)的基本使用方法,但对于普通用户来说基本上够了!i/vim的区别简单点来说,它们都是多模式编辑器,不同的是vim 是vi的升级版本,它不仅兼容vi的所 ...

  6. Linux vi/vim

    所有的 Unix Like 系统都会内建 vi 文书编辑器,其他的文书编辑器则不一定会存在. 但是目前我们使用比较多的是 vim 编辑器. vim 具有程序编辑的能力,可以主动的以字体颜色辨别语法的正 ...

  7. Linux上vi(vim)编辑器使用教程

    vi(vim)是上Linux非常常用的编辑器,很多Linux发行版都默认安装了vi(vim).vi(vim)命令繁多但是如果使用灵活之后将会大大提高效率.vi是“visual interface”的缩 ...

  8. 【转载】-- vi/vim使用

    vi/vim 基本使用方法本文介绍了vi (vim)的基本使用方法,但对于普通用户来说基本上够了!i/vim的区别简单点来说,它们都是多模式编辑器,不同的是vim 是vi的升级版本,它不仅兼容vi的所 ...

  9. 小白学Linux(五)--VI/VIM编辑器

    我们操作文件,终究离不开编辑文件,对文件内容的编辑,Linux系统下,我们通常使用VI/VIM来编辑文件.VI是每个Linux都会自带的文本编辑器,VIM是VI的增强版,可能有些发行版本没有自带,可以 ...

  10. vi, vim 基本使用(1)

    本文介绍了vi (vim)的基本使用方法,但对于普通用户来说基本上够了!vi 编辑器是所有Unix及Linux系统下标准的编辑器,它的强大不逊色于任何最新的文本编辑器,这里只是简单地介绍一下它的用法和 ...

随机推荐

  1. matlab神经网络工具箱创建神经网络

    为了看懂师兄的文章中使用的方法,研究了一下神经网络 昨天花了一天的时间查怎么写程序,但是费了半天劲,不能运行,百度知道里倒是有一个,可以运行的,先贴着做标本 % 生成训练样本集 clear all; ...

  2. Deep Learning 学习笔记(8):自编码器( Autoencoders )

    之前的笔记,算不上是 Deep Learning, 只是为理解Deep Learning 而需要学习的基础知识, 从下面开始,我会把我学习UFDL的笔记写出来 #主要是给自己用的,所以其他人不一定看得 ...

  3. GET、POST详解 --转自http://hi.baidu.com/richarwu/item/bd43633a6ba62986b611dbcd

    HTTP Get,Post请求详解 请求类型 三种最常见的请求类型是:GET,POST 和 HEAD GET:获取一个文档 大部分被传输到浏览器的html,images,js,css, … 都是通过G ...

  4. thingsboard在windows下安装和使用

    在官网下载thingsboard和tb-gateway 需要安装java8 thingsboard服务安装 https://thingsboard.io/docs/user-guide/install ...

  5. 点击jQuery Mobile的按钮改变颜色

    jquery-mobile-移动 我有这样的代码来改变点击一个按钮的颜色: $('.fav').live('click', function(e) { $(this).buttonMarkup({ t ...

  6. div+css显示两行或三行文字

    display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: ; //需要控制的文本行数 overflow: hidd ...

  7. Mycat实战之数据迁移(oracle -- mysql)

    1.案例场景: Mycat 后面接一个 Oracle 实例与一个 MySQL 实例,假设用户表,订单表,转账记录表, Oracle 字符集为 GBK 的,MySQL 字符集则要求 UTF8的 完成用户 ...

  8. python:for语句的使用方法

    for循环的语法格式: for i in range(n):#从数据类型中拿一个值赋值给i print(i)#打印i 例如: #for for i in range (1,6,2):#从一开始到六之前 ...

  9. 19-从零玩转JavaWeb-继承关系与方法覆盖

    配套视频详解 继承子类与父类的关系 继承子类与父类的关系代码演示 继承方法的覆盖 方法覆盖原则 一.继承编写过程   二.子类可以继承父类当中哪些内容 可以自行把修饰符换下, 然后查看子类能不能访问 ...

  10. java Web EL表达式详解

    1.EL表达式的简介 EL表达式是一种JSP技术,能够代替JSP中原本要用Java语言进行显示的语句,使得代码更容易编写与维护.最基本的语法是${express}. 2.获取并显示数据 从四个域中通过 ...