Vim常用命令总结:

  下文是小编自己整理的关于日常linux vim编程过程中用的一些常用命令,资料参考鸟哥的

如果有需要的小伙伴可以参考一下!(底部有下载地址)

一、 一般模式可用的按钮说明

1.1 光标移动

h (←) , j(↓),k (↑) ,l (→)

上下左右移动一个字符

[Ctrl] + [f]

屏幕『向下』移动一页,相当亍 [Page Down]按键 (常用)

[Ctrl] + [b]

屏幕『向上』移动一页,相当亍 [Page Up] 按键 (常用)

n<space>

n数字,光标向右移动n个字符

0 或功能键[Home]

移动到这一行到最前面字符处

$ 或功能键[End]

移动到这一行到最后面字符处

nG

n 为数字。移动到这个档案到第 n 行。 (可配合 :set nu)

gg

移动到这个档案到第一行,相当于 1G 啊!

n<Enter>

n 为数字。光标向下移 n 行

1.2 搜索和取代

/word

向光标之下寻找一个名称为 word 的字符串

?word

向光标之上寻找一个字符串名称为 word 的字符串。

n

重复前一个搜寻的动作

N

与 n 刚好相反,为『反向』迚行前一个搜寻动 作

使用 /word 配合 n 及 N 是非常有帮助的!可以让你重复的找到一些你搜寻的关键词!

:n1,n2s/word1/word2/g

在第 n1 不 n2 行之间寻找 word1 这个字符串,并 将该字符串取代为 word2 !

:1,$s/word1/word2/g

从第一行到最后一行寻找 word1 字符串,并将该字符串取代为 word2 !

:1,$s/word1/word2/gc

从第一行到最后一行寻找 word1 字符串,并将该字符串取代为 word2 !且在取代前显示提示字符给用户确讣 (confirm) 是否需要取 代!

1.3 删除、复制和贴上

x, X

x 为向后删除一个字符 (相当亍 [del] 按键), X 为向 前删除一个字符(相当亍 [backspace] 亦即是退格键)

nx

n 为数字,连续向后删除 n 个字符

dd

删除游标所在的那一整列

ndd

删除光标所在的向下 n 列

d$

删除游标所在处,到该行的最后一个字符

d0

删除游标所在处,到该行的最前面一个字符

yy

复制游标所在的那一行

nyy

复制光标所在的向下 n 列

y0 、y$

同d0,d$

p,P

p 为将已复制的数据在光标下一行贴上,P 则为贴在游标上一行!

u

复原前一个动作。

[Ctrl]+r

重做上一个动作。

这个 u 不 [Ctrl]+r 是很常用的指令!一个是复原,另一个则是重做一次

.

意思是重复前一个动作

二、一般模式切换到编辑模式的可用的按钮说明

i,I

进入插入模式

i 为『从目前光标所在处插入』,

I 为『在目前所在行的第一个非空 格符处开始插入』。

a, A

迚入插入模式(Insert mode):

a 为『从目前光标所在的下一个字符处开始插入』,

A 为『从光标 所在行的最后一个字符处开始插入』

[Esc]

退出编辑模式,回到一般模式中

三、一般模式切换到指令列模式的可用的按钮说明

3.1 指令列的储存、离开等指令

:w

将编辑的数据写入硬盘档案中

:w!

若文件属性为『只读』时,强制写入该档案。不过,到底能不能写入, 还 是跟你对该档案的档案权限有关啊!

:q

离开 vi

:q!

若曾修改过档案,又不想储存,使用 ! 为强制离开不储存档案。

:wq

储存后离开,若为 :wq! 则为强制储存后离开

ZZ

若档案没有更动,则不储存离开,若档案已经被更动 过,则储存后离开!

:w [filename]

将编辑的数据储存成另一个档案(类似另存新档)

:! command

暂时离开 vi 到指令列模式下执行 command 的显示结果

3.2 vim 环境的变更

:set nu

显示行号,设定之后,会在每一行的前缀显示该行的行号

:set nonu

不 set nu 相反,为取消行号!

知识在于积累,整理的world文档放到百度云盘了,需要的小伙伴可以去下载  http://pan.baidu.com/s/1dDZ5xC1

Vim常用命令总结的更多相关文章

  1. vim常用命令(iOS)

    iOS下vim的使用: vim 的三种模式: .一般模式(默认) .插入模式(写文字) .命令行模式(保存) 各种模式的功能区分如下: .一般模式:控制屏幕光标的移动,字符和光标的删除,移动复制某区段 ...

  2. 实用手册:130+ 提高开发效率的 vim 常用命令

    Vim 是从 vi 发展出来的一个文本编辑器.代码补完.编译及错误跳转等方便编程的功能特别丰富,在程序员中被广泛使用.和 Emacs 并列成为类 Unix 系统用户最喜欢的编辑器.这里收录了130+程 ...

  3. vim常用命令汇总

    vim常用命令汇总: http://www.cnblogs.com/softwaretesting/archive/2011/07/12/2104435.html 定位 本行第一个字符 ctrl+$ ...

  4. [转]vim常用命令

    [转]vim常用命令 http://www.cnblogs.com/sunyubo/archive/2010/01/06/2282198.html http://blog.csdn.net/wooin ...

  5. vim常用命令 vim键盘布局

    vim键盘布局,vim快捷键 vim常用命令:

  6. VI/VIM 常用命令

    VI/VIM 常用命令=========== 整理自鸟哥的私房菜 ---------- - 移动光标 命令                    | 描述----------------------- ...

  7. Vim常用命令【转载】

    下面基本是vim的基本用法,刚开始学习可能有些不习惯.但贵在坚持,即使不习惯,也要坚持使用,做到不经过思考就能操作,你会发现真的很方便.很多操作可以通过不同的命令达到,我这里只列出常用的. 基础命令 ...

  8. Linux—vim常用命令

    vim常用命令: 1. 键入i进入编辑模式2. esc进入命令模式3. a,进入编辑模式3. b,光标移动到单词前,end,光标移动到行尾4. home光标移动到行首5. cc,删除当前行,并进入编辑 ...

  9. vim常用命令总结(转)

    vim常用命令 -------------------------------------------------------------------------------------------- ...

随机推荐

  1. mac下安装和配置mysql5.7.9

    我安装的是5.7.9版本的sql 一开始在网上看到的都是其他版本的安装,弄得自己卸载了好几次 mysql就只有一个dmg主文件,安装这一个就好了. 5.7以后安装的mysql不再使用旧版的默认密码:r ...

  2. iOS 创建framework & bundle 主要配置

    bundle:base sdk 为iOS, delete compile resource framework:target dependencies,headers,mach-o proj: tar ...

  3. PR视屏剪切

    一款常用的视频编辑软件,由Adobe公司推出.现在常用的有CS4.CS5.CS6.CC.CC 2014及CC 2015版本.是一款编辑画面质量比较好的软件,有较好的兼容性,且可以与Adobe公司推出的 ...

  4. sql文件批量导入mysql数据库

    有一百多个sql文件肿么破?一行一行地导入数据库肯定是极其愚蠢的做法,但是我差点就这么做了... 网上首先找到的方法是:写一个xxx.sql文件,里边每一行都是source *.sql ...,之后再 ...

  5. LVM逻辑卷的创建及使用

    在上一篇随笔里面 LVM逻辑卷基本概念及LVM的工作原理,详细的讲解了Linux的动态磁盘管理LVM逻辑卷的基本概念以及LVM的工作原理,包括LVM中最重要的四个基本点(PE.PV.VG以及LV),这 ...

  6. Maven学习笔记(1)之安装Maven

    此笔记是学习Maven时自己摸索+各种百度而来,并非全部原创,望与各位一同学习,勿拍~勿拍~ 安装步骤 1.下载Maven的最新版本,地址:http://maven.apache.org/downlo ...

  7. 【海洋女神原创】How to: Installshield做安装包时如何添加文件

    我一直以为这不是一个问题,可是没想到在几个群内,对于如何向安装包添加文件不解的大有人在,今日稍暇,整理成篇,以供参考 首先我想再大声地说一遍:不要再跟我说英文看不懂了!!!!你做了程序员这一行,就得逼 ...

  8. js实现图片实时预览

    注: 此博客转自 http://www.cnblogs.com/goody9807/p/6064582.html  转载请注明出处 <body> 上传图片: <input type= ...

  9. C#中web页面之间传递数组参数

    一直以来用到的都是在url地址中传递string类型,那么如果是数组类型的该怎么传递呢? ]; arryStr[] = "a"; arryStr[] = "b" ...

  10. -webkit-overflow-scrolling : touch;快速滚动标签

    http://www.cnblogs.com/PeunZhang/p/3553020.html(链接出处,只是转载学习) 对于如何使用弹性滚动,这里并没有最好的方案,具体看产品的用户群.产品的定位等, ...