Tips:

在 vi 里面, [tab] 这个按钮所得到的结果与空格符所得到的结果是不一样的,特别
强调一下!

一般模式

移动光标

30↓ 向下移动30行

40→ 向右移动40个字符

gg 移动到档案第一行,相当于1G

G 移动到档案最后一行

40G 移动到40行,配合:set nu 使用

0 移动光标到行首

$ 移动光标到行尾

ctrl+f 向下翻页 相当于 PageDown

ctrl+b向上翻页 相当于 PageUp

ctrl+d向下移动半页

ctrl+u向上移动半页

w 移动到下个单词(任何东西)的开头

e 移动到下个单词的结尾

b移动到上个单词的开头

搜寻

/xxx 光标下面,搜索xxx字符串

?xxx 光标上面,搜索xxx字符串

n 重复前一个搜索动作

N 反向重复前一个搜索动作

取代

:n1,n2s/word1/word2/g n1行到n2行之间搜索word1替换为word2

:1,$s/word1/word2/g 1行到最后一行搜索word1替换为word2

:1,$s/word1/word1/gc 1行到最后一行搜索word1替换为word2,并提示是否取代(confirm)

删除

x 向后删除,相当于del

X 向前删除,相当于backspace

dd 删除光标所在一整行

30dd 删除光标向下30行

dG 删除到页尾

d1G删除到页首

复制

yy 复制光标所在行(yank)

20yy 复制光标以下20行

粘贴

p 将已复制的数据在光标的下一行粘贴

P 将已复制的数据在光标的上一行粘贴

复原

u 复原,相当于Windows中的ctrl+z

ctrl+r 撤销,相当于Windows中的ctrl+y

. 重复前一个动作,比如重复删除一行,重复粘贴

编辑模式

i 当前光标字符前插入

I 当前行第一个非空字符插入

a 当前光标字符后插入

A 当前行最后字符后插入

o 当前行下一行插入一行

O 当前行上一行插入一行

r 可以替换当前字符

R 一直取代光标所在字符,知道按下esc

命令模式

:w 保存编辑

:q 离开vim

:q! 强制离开不保存

:wq 强制保存退出

:wq! 强制存盘后离开

:w [filename] 将编辑的数据存储成另一个档案(类似另存新档)

:r [filename] 在编辑的数据中,读入另一个档案的数据.亦即将[filename]在编辑癿数据中,读入另一个档案癿数据。亦即将 『filename』 这个档案内容加到游标所在行后面 

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

:set nu 设置行号

:set nonu   取消行号

:e! 恢复文件的原始状态

VIM的暂存档 救援回复 开启时的警告

使用vim编辑器时,在被编辑的文档同目录下,vim会生成名为.filename.swp的文件作为出现状况的存档功能

vim man_db.conf
按下ctrl+z vim会被放到背景去执行

[shichaogeng@study vitest]$ ll -a

[shichaogeng@study vitest]$ kill - %1   #仿真系统将vim删除的场景

vim man_db_config

进入恢复回档界面,如果想要不再提醒,需要删除.filename.swp

VIM额外功能

vim编辑右下角0%代表目前这个画面代表整个文件的1%

区块选择(visual block)

v: 字符选择,会将光标经过的地方反白选择

V: 列选择,会将光标经过的列反白选择

ctrl+v: 区块选择,可以用长方形的方式选择资料

y: 将反白的地方复制起来

d:将反白的地方删除掉

p:将刚刚复制的区块,在游标所在出粘贴

例:

[shichaogeng@study vitest]$ vim test1 

按下ctrl+v进行反白选择

按y进行复制

按p进行粘贴

多文件编辑

:files 列出当前vim编辑的所有文件

:n 编辑下一个文件

:N 编辑上一个文件

多窗口功能

在指令模式下输入:sp filename就可开启分区窗口(如果同一文件打开两个窗口,:sp就可以,不必输入filename) split

ctrl+w+↓  先按下ctrl键不放,按住w放开所有按键,按上下来切换

vim的挑字补全功能

ctrl+x--> ctrl+n   按照正在编辑的内容作为关键字补偿

ctrl+x--> ctrl+f  按照文件名作为关键字补偿

ctrl+x--> ctrl+o   按照扩展名作为关键字补偿

vim环境设定与记录

~/.viminfo记录你用vim做过的操作记录

/etc/vimrc 记录vim设定参数

你可以建立~./vimrc来定义你的vim参数

例如:

其中,"为批注

Linux vim程序编辑器的更多相关文章

  1. 鸟哥的Linux私房菜-第10/11/12/13章(vim程序编辑器、学习bash、正则表达式与文件格式化处理、学习Shell Scripts)

    第10章 vim程序编辑器 可以将vim看做vi的进阶版本,vim可以用颜色或底线等方式来显示出一些特殊的信息. 为何要学习vim?因为: a. 所有的 Unix Like 系统都会内建 vi 文书编 ...

  2. 第十章、vim 程序编辑器

    第十章.vim 程序编辑器   1. vi 与 vim 1.1 为何要学 vim 2. vi 的使用 2.1 简易执行范例 2.2 按键说明 2.3 一个案例的练习 2.4 vim 的暂存档.救援回复 ...

  3. vim程序编辑器---常用操作整理

    vim程序编辑器---常用操作整理 移动光标方法 o 在光标行的下一行,进入编辑模式 $ 移动到光标这行,最末尾的地方 G(大写) 移动到文件最末行 :set  nu 文件显示行数 :set  non ...

  4. 攻城狮在路上(叁)Linux(三十一)--- vim程序编辑器

    本篇主要介绍vim编辑器的使用方式,具体内容后续补充.

  5. linux学习笔记:vim程序编辑器—vim的使用

    注:以下是学习<鸟哥的linux私房菜>(第三版)的学习笔记,纯属个人学习记录. 2018-11-19 一.学习vim的原因 很多软件的编辑接口都会主动调用vi 二.vim的使用 (1)v ...

  6. 别人的Linux私房菜(10)vim程序编辑器

    很多软件的编辑接口会主动调用vi vi分一般命令模式.编辑模式.命令行模式. 使用vi :/bin/vi welcome.txt 下下端显示文本有多少行,多少字符, 一般命令模式: 上下左右移动光标k ...

  7. Linux学习笔记—vim程序编辑器

    vi和vim vim是vi的升级版,支持vi的所有指令 vi的使用 vi分为三种模式:一般模式.编辑模式.命令行模式 一般模式 以vi打开一个文件就直接进入一般模式了,这个模式下可以使用上下左右按键来 ...

  8. 第十章 Vim程序编辑器学习(下)

    在试用vim编辑时,vim会在于被编辑的档案的目录下,再建立一个名为****.swp的档案,如果你的系统因为某些原因断线,你编辑的档案还没有存储,这个时候的****.swp就能够挥发救援的功能 1.在 ...

  9. 鸟哥私房菜基础篇:vim 程序编辑器习题

    猫宁!!! 参考链接:http://cn.linux.vbird.org/linux_basic/0310vi.php 鸟哥是为中国信息技术发展做出巨大贡献的人. 1-我用 vi 开启某个档案后,要在 ...

随机推荐

  1. 关于TCP/IP,必须知道的十个知识点(转)

    三次握手四次挥手可参考:http三次握手,四次挥手 本文整理了一些TCP/IP协议簇中需要必知必会的十大问题,既是面试高频问题,又是程序员必备基础素养. 一.TCP/IP模型 TCP/IP协议模型(T ...

  2. [CSP-S模拟测试]:Walker(数学)

    题目传送门(内部题86) 输入格式 第一行$n$接下来$n$行,每行四个浮点数,分别表示变换前的坐标和变换后的坐标 输出格式 第一行浮点数$\theta$以弧度制表示第二行浮点数$scale$第三行两 ...

  3. PTA编程总结二

    7-1 币值转换 (20 分) 输入一个整数(位数不超过9位)代表一个人民币值(单位为元),请转换成财务要求的大写中文格式.如23108元,转换后变成“贰万叁仟壹百零捌”元.为了简化输出,用小写英文字 ...

  4. pandas库简介和数据结构

    pandas简介 pandas是一个强大的Python数据分析的工具包.是基于Numpy来构件的. pandas提供快速.灵活和富有表现力的数据结构. 主要功能: 具备对其功能的数据结构DataFra ...

  5. 六:flask-自定义URL转换器

    flask进行url参数匹配的时候,是继承的werkzeug.routing.BaseConverter库进行重写的 导入看源码 里面有所有的URL参数数据类型的判断 也就是说,可以继承过后实现自己的 ...

  6. SpringContextHolder使用报错

    版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/dobecoder/article/details/88401612今天在使用SpringContex ...

  7. Matlab 文件格式化/Matlab Source File Formattor

    由于需要使用到别人编写的Matlab代码文件,但是呢不同的人有不同的风格,有的写得就比较糟糕了. 为了更好地理解代码的内容,一个比较美观的代码会让人身心愉悦. 但是在网上并没有找到一个比较好的实现,此 ...

  8. HTML5——新表单元素 表单属性 语义元素

    表单元素 新的表单元素 datalist——输入域选项列表 keygen——提供一种验证用户的可靠方法 output——不同类型的输出,比如计算或脚本输出 表单属性 <form> / &l ...

  9. Alert弹出框处理

    selenium的API提供了Alert类对alert弹出框的处理的方法,涉及到的方法有text,dismiss(),accept()和send_keys(),在javascript中主要有alert ...

  10. python每日一练:0000题

    **第 0000 题:**将你的 QQ 头像(或者微博头像)右上角加上红色的数字,类似于微信未读信息数量那种提示效果. 类似于图中效果 示例代码: from PIL import Image,Imag ...