介绍

vim命令和vi的操作基本一致,vim命令的参数很多,我在这里列出了一些平时需要用的一些参数,vim主要有两个界面一个是esc的操作界面还有一个是输入i的编辑界面。

移动光标

0 (零):将光标移动到行的起始处。

$:将光标移动到行的末尾处。

H:将光标移到当前窗口(而非全文)的第一行起始处。

M:将光标移到当前窗口的居中一行起始处。

L:将光标移到当前窗口的最后一行起始处。

gg:将光标移动到文档的开始处

G:将光标移动到文档的末尾

<数字>G:将光标移动到指定的数字行的起始处。

<数字>-:将光标移动到当前光标减去指定数字的光标行开始处

<数字>+:将光标移动到当前光标加上指定数字的光标行开始处

删除与恢复

删除命令:

x(小写):删除光标所在处字符。

dd:删除光标所在的行。

D:删除从光标所在之处开始直到该行末尾的全部字符。

<数字>dd:删除从光标当前行开始指定的数字行

恢复(Undo)命令:

u:恢复刚被删除的文本。

U:恢复光标所在行在此次编辑中的全部改变。

复制粘贴

yy:复制光标所在行

<数字> yy:复制从光标开始指定数字的行

p:粘贴复制的内容到光标的所在行的下一行

查找字符

/<字符串>:从光标所在处开始往后查找第一个符合的字符串

?<字符串>:从光标所在处开始往前查找第一个符合的字符串

n:查找下一个

N:查找上一个

替换字符串

:s/old/new/ 替换当前行第一个 old 为 new

:s/old/new/g 替换当前行所有 old 为 new

:n,$s/old/new/ 替换第 n 行开始到最后一行中每一行的第一个 old 为 new

:n,$s/old/new/g 替换第 n 行开始到最后一行中每一行所有 old 为 new

n 为数字,若 n 为"."表示从当前行开始到最后一行

:%s/old/new/(等同于 :g/old/s//new/) 替换每一行的第一个 old 为 new

:%s/old/new/g(等同于 :g/old/s//new/g) 替换每一行中所有 old 为 new

保存与退出

:q:退出vi。

:q!:舍弃当前对编辑内容所作的修改,强行退出vi。

:w [<文件名称>]:将正在编辑的内容以<文件名称>为名存盘(相当于Save as...),如果没有指定<文件名称>,则使用原有的文件名称(相当于Save...)。

:wq:存盘退出。

其它的一些参数命令

显示行号:set nu

取消显示行号:set nonu

总结

vim是个强大的文本编辑工具,还有很多其它的用法,后面再慢慢完善。

备注:

作者:pursuer.chen

博客:http://www.cnblogs.com/chenmh

本站点所有随笔都是原创,欢迎大家转载;但转载时必须注明文章来源,且在文章开头明显处给明链接。

《欢迎交流讨论》

Linux vim命令的更多相关文章

  1. 0050 Linux VIM 命令

    1.  模式切换 vim的模式 $ vi filename 进入normal 模式,这是命令模式,用于执行大多数常用的编辑命令,不能输入 敲i 进入 insert 模式,这是正常的编辑模式,按Esc ...

  2. linux vim 命令使用

    基本上vim可以分为三种状态,分别是命令模式(command mode).插入模式(Insert mode)和底行模式(last line mode) 模式切换方法 在命令模式输入“i”,进入插入模式 ...

  3. Linux vim命令记录

    Ndd  :删除N行 多行删除 :1,10d ctrl+v ,移动光标,ctrl+i,输入#,esc :移动处均会输入# gg:文档头 G:文档尾 o:下一行,并进入insert模式 O:上一行并输入 ...

  4. 从零开始学安全(十六)● Linux vim命令

    游标控制 h 游标向左移 j 游标向下移 k 游标向上移 l (or spacebar) 游标向右移 w 向前移动一个单词 b 向后移动一个单词 e 向前移动一个单词,且游标指向单词的末尾 ( 移到当 ...

  5. Linux vim命令详解

    vi: o  处于下一行编辑模式 A  处于编辑的后面  ==>END gg 文件的开头 98gg 跳转到第98行 Shift + G 文件结尾 $ 文件行结尾 ^ 文件行开头   ==> ...

  6. linux VIM基本命令

    linux VIM命令: vim 在命令行中输入vim,进入vim编辑器 Esc 退出i(插入)命令进行其他命令使用 :sh 进入shell命令行,运行完命令后ctrl+d退出又一次进入vim编辑继续 ...

  7. 今天在Mac机器上使用了Flex Builder编辑了一个源代码文件,保存后使用vim命令去打开时发现系统自动在每一行的结尾添加了^M符号,其实^M在Linux/Unix中是非常常见的,也就是我们在Win中见过的/r回车符号。由于编辑软件的编码问题,某些IDE的编辑器在编辑完文件之后会自动加上这个^M符号。看起来对我们的源代码没有任何影响,其实并不然,当我们把源代码文件Check In到svn之类

    今天在Mac机器上使用了Flex Builder编辑了一个源代码文件,保存后使用vim命令去打开时发现系统自动在每一行的结尾添加了^M符号,其实^M在Linux/Unix中是非常常见的,也就是我们在W ...

  8. [工作需求]linux常用命令以及vim常用命令

    一.             Linux 常用命令 mkdir dirname新建文件夹 cd ~ 进入自己的家目录 cd dirname 进入名字为dirname的目录: l 显示当前文件夹下的文件 ...

  9. Linux常用命令——文本编辑器Vim

    Linux常用命令--文本编辑器Vim Linux  Vim常用操作 插入命令 a 在光标所在字符后插入 A 在光标所在行尾插入 i 在光标所在字符前插入 I 在光标所在行首插入 o 在光标下插入新行 ...

随机推荐

  1. Java String,StringBuffer和StringBuilder的区别

    [可变与不可变] String是字符串常量,不可变. StringBuffer和StringBuilder是字符串变量,可变. [执行速度方面] StringBuilder > StringBu ...

  2. 3515 如何调试AT指令、查看拨号模块的打印

    冯sir给了一个在设备运行的程序serial,运行起来后可以敲指令输入AT指令,具体步骤如下: 1.将serial文件从U盘拷贝到设备里,U盘在设备系统下的目录是/stm/udisk/0/,但是注意设 ...

  3. html中 table 和 form的位置

    对于web前端开发来说  经常会用到 像firebug这样审查元素 工具 发现了一个这样的现象: 当 able><form><tr>....</tr>< ...

  4. LinuxMM--Memory Pressure

    Memory pressure定义在操作系统中,用户分配.文件缓存.网卡包缓冲区等等都会消耗内存.一旦出现内存紧张就会导致memory pressure.引发当某个任务需要请求内存时就有可能引发mem ...

  5. spring aop一些名词的理解

    最近想深入了解spring,已经使用spring一段时间,但是对spring的理解一直很肤浅,先把几个常见的名词理解一下. 比如一个ssh架构的电商系统上面有用户模块,商品模块,订单模块,支付模块等, ...

  6. js 正则表达式

    //判断字符串是否为数字 function checkRate(input) { var re = /^[0-9]+.?[0-9]*$/; if (!re.test(input.rate.value) ...

  7. 三道关于Taylor级数的题目,证明你爹是你爹

    =============幂级数的唯一性==================

  8. ruby 常注意的

    1.ruby中生成字符串有两种形式 一种单引号,这种在使用时,对字符串不作处理,照原样输出 双引号就不同了,他会查找字符串中需要替换的字符,例如\n,#{}这种都会先替换为需要的值. 所以在使用的时候 ...

  9. 『TCP/IP详解——卷一:协议』读书笔记——15

    2013-08-25 13:39:40 第6章 ICMP:Internet控制报文协议 6.1 引言 ICMP经常被认为是IP层的一个组成部分.它传递差错报文以及其他需要注意的信息.ICMP报文同通常 ...

  10. [UE4]逻辑状态机组件

    逻辑状态机 为了实现对目标状态的控制,以及广播改变状态后的事件,可在蓝图中继续处理不同状态下的行为. 实现过程: 1.继承ActorComponent实现LogicStateMachine: 2.被击 ...