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编辑器学习笔记的更多相关文章

  1. Linux——vim/vi 简单学习笔记

    Vim/Vi是一个功能强大的全屏幕文本编辑器,是Linux/UNIX上最常用的文本编辑器,它的作用是建立.编辑.显示文本文件.Vim/Vi 没有菜单,只有命令. 早前也用过Vim变过C++/C的代码, ...

  2. Vim 编辑器学习笔记

    参考资料: 世界上最牛的编辑器: Vim 1

  3. Unity扩展编辑器学习笔记--从路径下找到拥有某个组件类型的预设

    public static List<T> GetAssetsWithScript<T>(string path) where T:MonoBehaviour { T tmp; ...

  4. Linux学习笔记(四) vi编辑器

    一.vi 编辑器 vi 编辑器 (Visual Interface) 是所有 Unix 及 Linux 系统下标准的编辑器,相当于 Windows 系统中的记事本 它有三种模式,分别是: Comman ...

  5. Linux学习笔记之VI(VIM)编辑器

    百度关于vi的资料 http://baike.baidu.com/view/908054.htm 关于vi 和vim的介绍可以在上面的网址看到. 1   进入和退出vi 进入:在终端命令行输入 vi ...

  6. Linux 学习笔记 2 Centos 安装与网络的配置以及VI编辑器的使用

    前言 当然,还是觉得Centos 在众多的Linux 发行版中,还是很有地位的,好多的服务器大多沿用的都是一代的Centos 因为它开源(这是废话)而且稳定,这才是服务器沿用的最重要的一项指标. 镜像 ...

  7. linux学习笔记--vi与vim编辑器

    vi编辑器全名为Visual Interface,即为可视化接口,类似于Windows中的记事本 vim相当于是vi的一个升级版本,包含vi的一切操作命令,vim相对于vi做了哪些提升: 1.vim支 ...

  8. Linux学习笔记 (三)Vi文本编辑器

    vi编辑器是所有Unix及Linux系统下标准的编辑器,它的强大不逊色于任何最新的文本编辑器,这里只是简单地介绍一下它的用法和一小部分指令.由于对Unix及Linux系统的任何版本,vi编辑器是完全相 ...

  9. deepin linux 学习笔记(二)——文本编辑器

    目录 deepin linux 学习笔记(二)--文本编辑器 前言 nano 小巧的命令行编辑器 通用 编辑 定位 排版 配置 vim 思路独特的超级编辑器 命令模式 插入模式 底线模式(末行模式) ...

随机推荐

  1. 关于socket tcp 断线重连

    这个问题困扰过我几次,都没有来得及研究,今天研究一下. 首先写一个最简易的socket tcp程序,连接成功后再关闭服务器然后再用客户端各种操作看是什么情况 测试表明 (1)客户端已经连接,当服务端关 ...

  2. nuget.exe the application could not be started

    http://stackoverflow.com/questions/5730412/error-when-running-the-nuget-exe-command Ok, so this turn ...

  3. CUBRID学习笔记 19 sql语句1

    创建 欢迎转载 ,转载时请保留作者信息.本文版权归本人所有,如有任何问题,请与我联系wang2650@sohu.com . 过错 create table tableName (字段名 字段类型 pr ...

  4. Linux红帽认证----I Want

    仅此设定一个目标,此证一定搞到手!!!

  5. javascript权威指南笔记--javascript语言核心(六)

    通过ECMAScript 3创建的属性都是可写的.可枚举的.可配置的. 在ECMAScript 5中,数据属性的4个特性分别是它的值.可写性.可枚举性.可配置性.存取器属性的特性是读取.写入.可枚举性 ...

  6. 【转】移动端input输入placeholder垂直不居中

    在移动端编写input输入框时候,为了输入文字与输入框垂直居中,一般情况下,会将input的line-height的高度等于height.但在移动端输入的时候会发现,虽然输入内容确实是垂直居中了,但是 ...

  7. jsp get方式请求参数中包含中文乱码问题解决

    1. 自己接收到参数之后在后台进行转码处理 2: 修改tomcat的配置文件  server.xml <Connector port="8080" protocol=&quo ...

  8. Java 实现二分法查找算法

    算法 假如有一组数为3,12,24,36,55,68,75,88要查给定的值24.可设三个变量front,mid,end分别指向数据的上界,中间和下界,mid=(front+end)/2. 1.开始令 ...

  9. Nginx模块学习之————accesskey权限模块使用(Nginx防盗链详细解说),防止别人下载文件和图片

    nginx 的第三方模块ngx_http_accesskey_module 来实现下载文件的防盗链 1.具体安装教程:http://www.cnblogs.com/tinywan/p/5983694. ...

  10. Android notifications通知栏的使用

    app发送通知消息到通知栏中的关键代码和点击事件: package com.example.notifications; import android.os.Bundle; import androi ...