VI编辑器学习笔记
VIM的使用
VI是Linux系统中的一种编辑器,它的使用方法和界面与Unix平台十分相似,掌握了VIM的特殊,你可以感觉到它强大的功能与高效。Vim 相对来说较小,无论你使用任何Linux系统,你总是可以使用vi的。很多系统中,可能只有vi 供用户选择使用。系统配置文件的修改多数也用vi编辑器。
进入 vi:
在系统提示符下键入vi< 文件名称>,vi可以自动帮你载入所要编辑的文件或是开启一个新的文件。进入vi后屏幕方会出现波浪符号,凡是列首有该符号就代表此列目前是空的。
离开vi:
可以在特殊模式下键入
:q退出vi
:q!强制退出vi
:wq先保存再退出vi
命令模式(进入时默认的模式):
任何输入都会作为编辑命令,而不会出现在屏幕上,如输入正确,任何输入都引起立即反应。
命令模式下输入ZZ,直接退出vi,保存文档,返回终端。
输入模式(编辑模式):
任何输入数据都置于编辑寄存器。在命令模式下输入(i,a,A等),可进入输入模式。输入模式下按ESC,可返回到命令模式。
特殊模式(最后行模式):
在命令模式下,以“:”或者“/”为前导指令,出现在屏幕的最下一行,任何输入都被当成特别指令。
|
进入输入模式 |
|
|
命令 |
作用 |
|
<a>attach |
在光标后输入文本 |
|
<A> |
在当前行末尾输入文本 |
|
<i>insert |
在光标前输入文本 |
|
<I>大写的i |
在当前行开始输入文本 |
|
<o> |
在当前行后输入新的一行 |
|
<O> |
在当前行后输入新的一行 |
|
光标移动命令 |
|
|
命令 |
作用 |
|
<b>begin |
移动到当前单词的开始 |
|
<e>end |
移动到当前单词的结尾 |
|
<w>word |
向前移动一个单词 |
|
<h> |
向前移动一个字符 |
|
<j> |
向上移动一行 |
|
<k> |
向下移动一行 |
|
<l>小写L |
向后移动一个字符 |
|
删除操作 |
|
|
命令 |
作用 |
|
<x> |
删除光标所在的字符 |
|
<dw> |
删除光标所在的单词 |
|
<d$> |
删除光标至行尾所有字符 |
|
<D> |
同d$ |
|
<dd> |
删除当前行 |
|
改变与替换 |
|
|
命令 |
作用 |
|
<c> |
替换光标所在的字符 |
|
<R> |
替换字符序列 |
|
<cw> |
替换一个单词 |
|
<ce> |
同<cw> |
|
<cb> |
替换光标所在的前一个字符 |
|
<c$> |
替换光标位置至行尾的所有字符 |
|
<C> |
同<c$> |
|
<cc> |
替换当前行 |
|
查询命令 |
|
|
命令 |
作用 |
|
</abc> |
向前查询abc |
|
<?abc> |
向后查询abc |
|
<n> |
向前继续查询 |
|
<N> |
向后继续查询 |
|
拷贝与粘贴命令 |
|
|
命令 |
作用 |
|
</yw> |
将光标所在的单词拷入剪贴板 |
|
<y$> |
将光标至行尾的字符拷入剪贴板 |
|
<Y> |
同<y$> |
|
<yy> |
将当前行拷入剪贴板 |
|
<p> |
将剪贴板中的内容粘贴在光标后 |
|
<P> |
将剪贴板中的内容粘贴在光标前 |
|
拷贝与粘贴命令 |
|
|
命令 |
作用 |
|
<:q> |
将光标所在的单词拷入剪贴板 |
|
<:q!> |
将光标至行尾的字符拷入剪贴板 |
|
<:w> |
同<y$> |
|
<:w filename> |
将当前行拷入剪贴板 |
|
<:w! filename> |
将剪贴板中的内容粘贴在光标后 |
|
<:wq> |
将剪贴板中的内容粘贴在光标前 |
|
<:x> |
同<:wq> |
|
<ZZ> |
同<:wq>在默认模式下使用 |
其他命令
<:set nu>显示行号
<nG> 表示跳到n行
<u>或<:undo>撤销(undo)
<.>表示重做(redo)
<nyy>表示拷贝n行
<:e filename>创建新文件
<:n filename>加载新文件
删除:特殊模式下
dd 表示删除光标所在的行;
D 表示删除光标所在位置到行尾的字符;
dw 表示删除光标所在位置的字;
替换:特殊模式下(等于删除原来的字符,插入新的字符)
cc 表示替换光标所在的行;
cw 表示替换光标所在的字;
r 表示替换光标所在位置;
查询:默认模式下
/str表示查找str,从前往后找,查找结束后光标在最前端。
?str表示查找str,从后往前找,查找结束后光标在最后端。
查找结果为多项时,按n从前到后移动选中查找结果;按N从后往前选中查找结果。
拷贝和粘贴:默认模式下
yy表示拷贝光标所在行;
Y表示拷贝光标到行尾的字符;
p表示光标移动到需要粘贴的地方;
nyy表示拷贝n行;a
设置行号:特殊模式下
: set nu 或 :set number;
行跳转:默认模式下
nG 表示跳转到第n行;
在当前文件中,:e表示打开另外一个文件;:n表示新建一个文件。
撤销操作
:undo表示撤销操作;
在Vim 中使用:!后面可以加其他环境的特殊,例如 :! gcc –o sc second.c 或 :!./sc;
VI编辑器学习笔记的更多相关文章
- Linux——vim/vi 简单学习笔记
Vim/Vi是一个功能强大的全屏幕文本编辑器,是Linux/UNIX上最常用的文本编辑器,它的作用是建立.编辑.显示文本文件.Vim/Vi 没有菜单,只有命令. 早前也用过Vim变过C++/C的代码, ...
- Vim 编辑器学习笔记
参考资料: 世界上最牛的编辑器: Vim 1
- Unity扩展编辑器学习笔记--从路径下找到拥有某个组件类型的预设
public static List<T> GetAssetsWithScript<T>(string path) where T:MonoBehaviour { T tmp; ...
- Linux学习笔记(四) vi编辑器
一.vi 编辑器 vi 编辑器 (Visual Interface) 是所有 Unix 及 Linux 系统下标准的编辑器,相当于 Windows 系统中的记事本 它有三种模式,分别是: Comman ...
- Linux学习笔记之VI(VIM)编辑器
百度关于vi的资料 http://baike.baidu.com/view/908054.htm 关于vi 和vim的介绍可以在上面的网址看到. 1 进入和退出vi 进入:在终端命令行输入 vi ...
- Linux 学习笔记 2 Centos 安装与网络的配置以及VI编辑器的使用
前言 当然,还是觉得Centos 在众多的Linux 发行版中,还是很有地位的,好多的服务器大多沿用的都是一代的Centos 因为它开源(这是废话)而且稳定,这才是服务器沿用的最重要的一项指标. 镜像 ...
- linux学习笔记--vi与vim编辑器
vi编辑器全名为Visual Interface,即为可视化接口,类似于Windows中的记事本 vim相当于是vi的一个升级版本,包含vi的一切操作命令,vim相对于vi做了哪些提升: 1.vim支 ...
- Linux学习笔记 (三)Vi文本编辑器
vi编辑器是所有Unix及Linux系统下标准的编辑器,它的强大不逊色于任何最新的文本编辑器,这里只是简单地介绍一下它的用法和一小部分指令.由于对Unix及Linux系统的任何版本,vi编辑器是完全相 ...
- deepin linux 学习笔记(二)——文本编辑器
目录 deepin linux 学习笔记(二)--文本编辑器 前言 nano 小巧的命令行编辑器 通用 编辑 定位 排版 配置 vim 思路独特的超级编辑器 命令模式 插入模式 底线模式(末行模式) ...
随机推荐
- 关于socket tcp 断线重连
这个问题困扰过我几次,都没有来得及研究,今天研究一下. 首先写一个最简易的socket tcp程序,连接成功后再关闭服务器然后再用客户端各种操作看是什么情况 测试表明 (1)客户端已经连接,当服务端关 ...
- nuget.exe the application could not be started
http://stackoverflow.com/questions/5730412/error-when-running-the-nuget-exe-command Ok, so this turn ...
- CUBRID学习笔记 19 sql语句1
创建 欢迎转载 ,转载时请保留作者信息.本文版权归本人所有,如有任何问题,请与我联系wang2650@sohu.com . 过错 create table tableName (字段名 字段类型 pr ...
- Linux红帽认证----I Want
仅此设定一个目标,此证一定搞到手!!!
- javascript权威指南笔记--javascript语言核心(六)
通过ECMAScript 3创建的属性都是可写的.可枚举的.可配置的. 在ECMAScript 5中,数据属性的4个特性分别是它的值.可写性.可枚举性.可配置性.存取器属性的特性是读取.写入.可枚举性 ...
- 【转】移动端input输入placeholder垂直不居中
在移动端编写input输入框时候,为了输入文字与输入框垂直居中,一般情况下,会将input的line-height的高度等于height.但在移动端输入的时候会发现,虽然输入内容确实是垂直居中了,但是 ...
- jsp get方式请求参数中包含中文乱码问题解决
1. 自己接收到参数之后在后台进行转码处理 2: 修改tomcat的配置文件 server.xml <Connector port="8080" protocol=&quo ...
- Java 实现二分法查找算法
算法 假如有一组数为3,12,24,36,55,68,75,88要查给定的值24.可设三个变量front,mid,end分别指向数据的上界,中间和下界,mid=(front+end)/2. 1.开始令 ...
- Nginx模块学习之————accesskey权限模块使用(Nginx防盗链详细解说),防止别人下载文件和图片
nginx 的第三方模块ngx_http_accesskey_module 来实现下载文件的防盗链 1.具体安装教程:http://www.cnblogs.com/tinywan/p/5983694. ...
- Android notifications通知栏的使用
app发送通知消息到通知栏中的关键代码和点击事件: package com.example.notifications; import android.os.Bundle; import androi ...