1、vi3中模式
一般模式、编辑模式、命令模式
2、快捷操作
i、I插入:i在目前的光标所在处插入文字;I(大写i)在行首插入
a、A 增加:a由光标所在的下一个字开始输入;A由光标所在行的最后增加
o、O插入新的一行:o从光标所在的下一行插入文字;O(大写)从光标所在行的上一行插入文字
r,R取代:r会取代光标所在的那一个字符;R会一直取代光标所在的文字,直到按下“ESC”为止
数字0:移动到这一行的最前面字符处
$:移动到这一行的最后面字符处
G:移动到这个档案的最后一行
nG:n为数字,移动到这个档案的第n行
gg:移动到第一行,相当于1G
n回车:光标向下移动n行
n空格:光标向后移动n格
yy:复制光标所在那一行
nyy:复制光标所在的向下n行
p(小写):粘贴到光标所在下一行
P(大写):粘贴到光标所在上一行
u:撤销
ctrl+r:重做上一个动作
:e! : 将档案还原到原始状态
/word:在光标之后寻找一个字符串为word的字符串
?word:在光标之前寻找一个字符串为word的字符串
n:重复前一个搜寻动作
N反向进行前一个搜寻动作
x:向后删除一个字符
X:向前删除一个字符
nx:向后删除n个字符
dd:删除光标所在的那一整行
ndd:删除光标所在的向下n行
d1G:删除光标所在到第一行的所有数据
dG:删除光标所在到最后一行的所有数据
:n1,n2s/word1/word2 g : 在第n1与n2行之间寻找word1字符串,并将该字符串替换为word2 g为全部替换的意思
:1,$s/word1/word2/ g : 从第一行到最后一行寻找word1字符串,并将该字符串替换为word2
:1,$s/word1/word2/ g : 从第一行到最后一行寻找word1字符串,并将该字符串替换为word2,c表示提示用户是否替换
: %s/word1/word2 g : 全文替换
:w : 将编辑的数据保存
:w! : 若文件属性为只读时,强制保存
:w filename 另存为
:n1,n2 w filename 将n1到n2的内容另存为filename文件中
:set nu : 显示序号
set nonu : 不显示序号
:q : 退出vi
:q! : 若修改过文件,又不想保存,可以强制退出
:wq : 保存后退出
:wq! : 强制保存后退出,是否能保存成与当前用户对文件拥有的权限
:x : 保存并退出
:r filename : 将另外个文件的数据读入到光标所在行后面
2、vim附加功能
格式: vim filename 使用vim代开文件
v:字符选择
V(大写):行选择
ctrl+v:块选择
y:复制到选择的地方
d:删除选择的内容
3、多文件编辑(vi打开文件时,不怎么好用,用vim打开比较好用)
:n : 编辑下一个文件
:N : 编辑上一个文件
:files : 列出当前vim打开的所有文件
4、多窗口功能(vi无这个功能,需使用vim)
:sp filename : 打开一个新窗口,如果加file,表示在新窗口打开一个新文件,否则表示两个窗口同事打开一个文件
ctrl+wj : 先按ctrl不放,再按w后放开两键,再按j则光标移动到下方窗口
ctrl+wk :按键方式同上,光标移动到上方窗口
ctrl+wq : 保存退出

vi/vim学习的更多相关文章

  1. Vi/VIM键盘图, Vi/vim学习图

    Vi/vim学习图 引用: Vi键盘图片可视化教程 http://www.cnblogs.com/me115/archive/2010/11/16/1878295.html 网上的文章易流失.感谢分享 ...

  2. 【Linux学习】Vi / Vim编辑器—编辑器工作模式、vi编辑操作

    Vi / Vim编辑器-编辑器工作模式.vi编辑操作 推荐一个很好的学习指南:http://www.oschina.net/translate/learn-vim-progressively 一.编辑 ...

  3. linux vi/vim 编辑器学习总结

    linux vi/vim 编辑器学习总结 很多时候我们开发人员不可避免的会涉及到项目部署,这个时候使用的就不是我们所熟知的 Windows 和 Mac OS 操作系统了,而是类 Unix 系统.项目部 ...

  4. Linux学习---vi/vim命令

    Vim是从 vi 发展出来的一个文本编辑器.代码补完.编译及错误跳转等方便编程的功能特别丰富,在程序员中被广泛使用. 所以本文直接用Vim编辑器 基本上 vi/vim 共分为三种模式,分别是命令模式( ...

  5. Linux学习之CentOS(二十)------vi/vim 按键说明

    vi/vim 按键说明 除了上面简易范例的 i, Esc, :wq 之外,其实 vim 还有非常多的按键可以使用. 第一部份:一般模式可用的光标移动.复制粘贴.搜索替换等 移动光标的方法 h 或 向左 ...

  6. 【学习总结】vi/vim命令是使用

    每次要么想不起来用,要么进去了出不来,真是醉了.痛定思痛此处填坑. 参考教程:菜鸟教程vi/vim 实验环境:借Git-bash宝地一用 注意:记住关键的步骤! 按i a o进入输入模式(即使有时按v ...

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

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

  8. vi/vim键盘图-----又一张桌面背景好图

    也许还是有很多人不能愿意用CLI的vi/Vim来写东西,不过,当你真的习惯了,它的高效性就是不可估量了.下面的这张图,一看就明白了,从此,学习变的不再艰难^_^ 补注: 图中没有关于查找和替换的,应该 ...

  9. vi/vim使用指北 ---- Learning the vi and Vim Editors 读书 笔记

    vi/vim作为liux系统下最强大,最流行的文本编辑器之一.边看<Learning the vi and vim Editor>边学习vim,顺便做写简单的笔记,供以后查询. 没看这本书 ...

随机推荐

  1. java 进程启用远程查看

    用jconsole 1.启动脚本增加: JAVA_OPTS="-Djava.net.preferIPv4Stack=true -Djava.rmi.server.hostname=192.1 ...

  2. ztree

    http://www.s u c h s o.com/projecteactual/ztree-jiaocheng-mvc-checkbox-quanxuan-demo-down.html http: ...

  3. LeetCode344:Reverse String@Python

    Write a function that takes a string as input and returns the string reversed. Example: Given s = &q ...

  4. React子组件与父组件传值

    一 子组件向父组件传值 //子组件var Child = React.createClass({ render: function(){ return ( <div> 请输入邮箱:< ...

  5. linux vim 替换指定字符为回车

    有个问题,想要知道逗号分隔的字符串  example: aaa,bbb,ccc 分隔后的个数 1 将   aaa,bbb,ccc 替换成 aaa bbb ccc 方法: :%s/,/^M/g ^M是用 ...

  6. jstl <c:forEach> 介绍

    varStatus是<c:forEach>jstl循环标签的一个属性,varStatus属性.就拿varStatus="status"来说,事实上定义了一个status ...

  7. jQuery Mobile 脚本加载问题

    刚开始使用jQuery Mobile,发现很多问题需要重新考虑,比如脚本加载问题. 在普通html中,如果a.html中有链接到b.html,b.html中有类似代码: $(document).rea ...

  8. 生产者消费者模式--阻塞队列--LOCK,Condition--线程池

    1.阻塞队列:http://www.cnblogs.com/dolphin0520/p/3932906.html 2.Condition 生产者消费者实现 :http://www.cnblogs.co ...

  9. HDU 3065 病毒侵袭持续中(AC自动机)

    这题数据太水,一开始没有加上Get的方法也能AC..话说AC自动机中一定要注意加上Get的方法!(不然,同一个后缀的其他单词就没被算上了.) 代码如下: #include <stdio.h> ...

  10. java基础九[网络与线程](阅读Head First Java记录)

    网络socket连接 Java API的网络功能包(java.net)已经将底层的TCP连接等都封装好了,我们只需要通过Socket对象来建立客户端和服务器的连接,然后客户端能向服务器发送请求,并接收 ...