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. WPF与WinForm开发有什么区别?

    转自http://hi.baidu.com/leoliu83/blog/item/1d1a4a66dcb41134aa184cfd.html WPF开发于WinForm之后,从技术发展的角度,WPF比 ...

  2. Spring事务传播机制&隔离级别

    一.Propagation (事务的传播属性) Propagation : key属性确定代理应该给哪个方法增加事务行为.这样的属性最重要的部份是传播行为.有以下选项可供使用:PROPAGATION_ ...

  3. IntelliJ IDEA注册码

    1.打开IJ,help选项下的register 2. 选择Activation code 将注册码粘到内容框里,点击ok即可 43B4A73YYJ-eyJsaWNlbnNlSWQiOiI0M0I0QT ...

  4. IIS7配置Gzip压缩 JS压强失败的原因

    开启配置HTTP压缩(GZip) 在IIS7中配置Gzip压缩相比IIS6来说实在容易了许多,而且默认情况下就是启用GZip压缩的.如果没有,则可以再功能视图下找到“压缩”项,进入之后就会看到“静态内 ...

  5. 几个常见的布局的多种实现方式及margin负值总结

    第一部分:几个常见的布局实现方式 一.左右两边固定, center中间自适应未知 html代码中 center 部分首先要放在box的最前部分.然后是left,right 圣杯布局: <div ...

  6. flv转mp4选项设置

    使用格式工厂将flv转换为mp4视频后,播放视频正常,但使用web播放器播放时就只有声音没有影像,其实只有设置好视频编码就不会出现这种情况了:

  7. Ruby on Rails搭建环境出现的问题及解决方案

    问题一:在win7系统64位环境下执行cmd命令:rails new testapp 之后,回报如下图错误:Gem:installer::ExtensionBuildError: ERROR:Fail ...

  8. [GodLove]Wine93 Tarining Round #9

    比赛链接: http://vjudge.net/contest/view.action?cid=48069#overview 题目来源: lrj训练指南---二维几何计算   ID Title Pro ...

  9. 如何全面解决ECSHOP的jquery冲突

    主要就是Ecshop的AJAX传输类,transport.js中重写了object的对象原型,从而导致了与jq框架的冲突. 解决: 1. 删除transport.js中587行 - 636行中关于ob ...

  10. Add and Search Word

    Trie 树的一个应用 Design a data structure that supports the following two operations: void addWord(word) b ...