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. [转]SQL Relay使用

    一.SQL Relay是什么? SQL Relay是一个开源的数据库池连接代理服务器 二.SQL Relay支持哪些数据库? * Oracle * MySQL * mSQL * PostgreSQL ...

  2. HTTP简介

    HTTP协议是Hyper Text Transfer Protocol(超文本传输协议)的缩写,是用于从万维网(WWW:World Wide Web )服务器传输超文本到本地浏览器的传送协议.. HT ...

  3. Razor视图添加命名空间

    在.cshtml文件添加@using MyNamespace,只是在页面添加引用这样编译不通过,还需要在view文件夹的web.config添加引用,找到<namespaces>添加< ...

  4. Xml 序列化

    1 XML序列化只能序列化对象的公有属性,并且要求对象有一个无参的构造方法,否者无法反序列化. 2 [Serializable]和[NonSerialized]特性对XML序列化无效!所以使用XML序 ...

  5. winform 自定义控件引用问题

    最近做了一个仿combobox的控件,与combobox类似,多了文字筛选的功能,如何实现在这里不再赘述.由于comboboxEx中用到了另一个用户控件,当生成dll,引用到项目中去时,发现工具栏中不 ...

  6. GTC China 2016观感

    上周二在北京参加了GTC China 2016,最大的感受就是一个字,“冷”!黄教主一如既往坚持机车皮夹克装,9月中旬的北京还没有那么的冷啊,感觉全场的空调简直是为他而开...好的,以上吐槽完毕,接着 ...

  7. C++学习笔记27:异常处理机制

    一.异常处理机制基础 异常的定义 程序中可以检测的运行不正常的情况 异常处理的基本流程 某段程序代码在执行操作时发生特殊情况,引发一个特定的异常 另一段程序代码捕获该异常并处理它 二.异常的引发 th ...

  8. css中font-size的单位总结:px、em、pt

    px:基于像素的单位.像素是一种有用的单位,因为在任何媒体上都可以保证一个像素的差别确实是可见的.em :一般用来测量长度的通用单位(例如元素周转的页边空白和填充),当用于指定字体大小时,em单位是指 ...

  9. android gradle的全局管理

    转自:https://github.com/stormzhang 工程目录下建立baseConfig.gradle文件 内容如下 ext { android = [compileSdkVersion: ...

  10. js数字时钟

    <!doctype html> <html lang="en"> <head> <meta charset="UTF-8&quo ...