移动光标的方法

H 光标移动到这个屏幕的最上方那一行的第一个字符

M  光标移动到这个屏幕的中央那一行的第一个字符

L 光标移动到这个屏幕的最下方那一行的第一个字符

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

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

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

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

搜索替换

/word 向光标之下寻找一个名称为word的字符串。例如要在档案内搜索vbird这个字符串,就输入/vbird即可(常用)

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

n 这个n是英文按键,代表着重复前一个搜寻的动作。举例来说,如果刚刚我们执行/vbird 去向下搜寻vbird这个字符串,则按下n后,

会向下继续搜寻下一个名称为vbird的字符串。如果是执行?vbird的话,那么按下n则会向上继续搜寻名称为vbird的字符串

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

使用/word 配置n及N是非常有帮助的 ,可以让你重复的找到一些你搜寻的关键词

:n1,n2s/word1/word2/g n1与n2为数字,在第n1与n2行之间寻找word1这个字符串,并将该字符串取代为word2

举例来说,在100到200行之间搜寻vbird 并取代为VBIRD则:

:100,200s/vird/VBIRD/g (常用)

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

:1,$/word1/word2/gc 从第一行到最后一行寻找word1字符串,并将该字符串取代为 word2  且在取代前显示提示字符给用户确认

confirm 是否 需要取代 (常用)

删除 复制 与粘贴

x,X 在一行字当中,x为向后删除一个字符,(相当于 del 按键) X 为向前删除一个字符

nx n为数字,连续向后删除n个字符,举例来说,我要连续删除 10个字符, 10x

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

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

d1G 删除光标所在到第一行的所有数据

dG 删除光标所在到最后一行的所有数据

yG 复制游标所在行到最后一行的所有数据

y0 复制光标所在的那个字符到该行行首的所有数据

y$ 复制光标所在的那个字符到该行行尾的所有数据

p,P p 为将已复制的数据在光标下一行贴上,P则为贴在游标上一行,举例来说,我目前光标在第20行,且已经复制了10行数据

,则按下p后,那10行数据会贴在原本的20行之后,就是从21行开始帖,但如果是按下P,那么原本的第20行会被推到变成30行(常用)

J 将光标所在行与下一行的数据结合成同一行

c 重复删除多个数据,例如向下删除10行 [10cj]

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

Ctrl + r  重复上一个动作(常用)

. (点) 重复前一个动作

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

进入输入或取代的编辑模式

i,l 进入输入模式(Insert mode )

i 为【从目前光标所在处输入】 I 为 【在目前所在行的第一个非空格符处开始输入】 (常用)

a A 进入输入模式(Insert mode)

a 为【从目前光标所在的下一个字符处开始输入】A 为【从光标所在行的最后一个字符处开始输入】

oO 进入输入模式(Insert mode)

这是英文字母o的大小写,o为【在目前光标所在的下一行处输入新的一行】O 为在目前光标所在处的上一行输入新的一行(常用)

rR 进入取代模式(Replace mode)

r 只会取代光标所在的那一个字符一次,R会一直取代光标所在的字符,知道按下Esc 为止(常用)

上面这些按键中,在vi画面的左下角处会出现【INSERT】 【replace】

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

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

指令行的存储, 离开等指令

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

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

:q 离开 vi(常用)

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

注意: ! 在vi中,常常有 强制的意思。

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

ZZ 这是大写的 Z ,若档案没有更改,则不存储离开,若档案已经被更改过,则存储后离开

:w [filename]  在编译的数据中,读入另一个档案的数据,即将【firlename】 这个档案内容加到游标所在行的后面

:n1,n2 w[filename] 将n1到n2 的内容存储成filename 这个档案。

:!command 暂时离开vi 到指令行模式下执行 command 的显示结果,例如【:!ls /home】 即可在vi 当中查看/home底下ls输出的档案信息

vim 环境的变更

:set nu 显示行号,设定之后,会在每一行的前缀显示改行的行号

:set nonu 与 set nu  相反,为取消行号!

Liunx vi/vim 2的更多相关文章

  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的增强版,可能有些发行版本没有自带,可以 ...

随机推荐

  1. View的滑动原理和多种滑动方法

    参考链接: http://blog.csdn.net/chunqiuwei/article/details/50679568# http://blog.csdn.net/zly921112/artic ...

  2. Functional Programming Contest - September'14

    比赛链接 A题 -- Enter your code here. Read input from STDIN. Print output to STDOUT main = do x <- get ...

  3. 使用JSP渲染Web视图

    Pom文件引入以下依赖 注意,创建SpringBoot整合JSP,一定要为war类型,否则会找不到页面 不要把jsp页面存放在Resources目录下,resources目录是给springboot打 ...

  4. wpf icommand 命令接口

  5. 为啥Spring和Spring MVC包扫描要分开

    开始学习springmvc各种小白问题 根据例子配置了spring扫描包,但是一直提示404错误,经过大量搜索,发现,扫描包的配置应该写在springmvc的配置文件中,而不是springmvc 配置 ...

  6. 常用命令5--文件搜索命令3-find

    发现没有出来install.log.syslog ,find不能进行模糊搜索.要想模糊搜索,必须用通配符. 没有所有者的文件是垃圾文件.但是内核产生文件,在这两个文件夹里文件有可能没有所有者,很正常, ...

  7. c++控制内存分配

    为了满足应用程序对内存分配的特殊需求,C++允许重载new运算符和delete运算符控制内存分配,通过定位new表达式初始化对象(好处是可以在某些场景下避免重新内存分配的消耗) 1.operate n ...

  8. python实例 字符串

    比起C/C++,Python处理字符串的方式实在太让人感动了.把字符串当列表来用吧. #! /usr/bin/python word="abcdefg" a=word[2] pri ...

  9. IntelliJ IDEA包层级结构显示方式

    在开发的过程中,程序结构增多,通过树状结构看包结构目录,更加舒适. Idea默认情况下是不分层级展示包结构的 点击设置标志按钮,如下图所示 去掉Hide Empty Middle Packages的勾 ...

  10. 阿里云杨敬宇:5G时代,边缘计算将发挥更大价值

    “5G时代,边缘计算将发挥更大价值.”3月8日,阿里云边缘计算技术负责人杨敬宇向媒体表示,边缘计算作为5G时代的一项关键技术,未来将成为不可或缺的基础设施之一. 5G时代万物智联将真正成为现实,但对计 ...