移动光标的方法

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. php数字转人民币金额大写

    numToRmb.php <?php header("content-type:text/html;charset=utf-8"); function numToRmb($n ...

  2. ZOJ3195 Design the city [2017年6月计划 树上问题04]

    Design the city Time Limit: 1 Second      Memory Limit: 32768 KB Cerror is the mayor of city HangZho ...

  3. LUOGU P2587 [ZJOI2008]泡泡堂

    传送门 解题思路 刚开始先写了个田忌赛马的贪心,就是要是打不过就拿最弱的送死,30分...后来瞄了眼题解,发现这样是错的,比如说这样的数据 : 3 3 2 3 1 如果用田忌赛马的话,让2-3 3-1 ...

  4. Faster RCNN算法训练代码解析(2)

    接着上篇的博客,我们获取imdb和roidb的数据后,就可以搭建网络进行训练了. 我们回到trian_rpn()函数里面,此时运行完了roidb, imdb = get_roidb(imdb_name ...

  5. 发布Qt Widgets桌面应用程序的方法

    Qt是一款优秀的跨平台开发框架,它可以在桌面.移动平台以及嵌入式平台上运行.目前Qt 5介绍程序发布的文章帖子比较少.大家又非常想要知道如何发布Qt应用程序,于是我花了一点儿时间介绍一下如何发布Qt桌 ...

  6. 安装docker报错问题

    安装docker容易出现错误的几种情况: 1.网络问题,无法下载完成的docker容器 2.linux内核版本必须是3.10及以上 3.可以选择使用aliyun的yum源,更好用 4.

  7. (实现)vue.js最简实现

    Vue.winward.js vue.js最简实现(the most simple vue.js) 让所有人都看得懂Vue原理 建议看完Vue.winward.js后,结合mpvue源码解读单页应用路 ...

  8. JS的八大数据类型

    js中的数据类型,包括基本数据类型(Number,String,Boolean, Undefined,Null)和   复杂(引用)数据类型(Object,Array,Function) 基本数据类型 ...

  9. Vijos1775 CodeVS1174 NOIP2009 靶形数独

    靶形数独 描述 小城和小华都是热爱数学的好学生,最近,他们不约而同地迷上了数独游戏,好胜的他 们想用数独来一比高低.但普通的数独对他们来说都过于简单了,于是他们向 Z博士请教, Z 博士拿出了他最近发 ...

  10. 【水滴石穿】react-native-ble-demo

    项目的话,是想打开蓝牙,然后连接设备 点击已经连接的设备,我们会看到一些设备 不过我这边在开启蓝牙的时候报错了 先放作者的项目地址: https://github.com/hezhii/react-n ...