VI normal command summary

与大部分其它编辑器不同,进入 Vim 后,缺省状态下键入的字符并不会插入到所编辑的文件之中。Vim 的模式(mode,可以简单地理解为“状态”)概念非常重要。需要知道,Vim 有以下几个模式:

●正常(normal)模式,缺省的编辑模式;下面如果不加特殊说明,提到的命令都直接在正常模式下输入;任何其它模式中都可以通过键盘上的 Esc 键回到正常模式。

●命令(command)模式,用于执行较长、较复杂的命令;在正常模式下输入“:”(一般命令)、“/”(正向搜索)或“?”(反向搜索)即可进入该模式;命令模式下的命令要输入回车键(Enter)才算完成。

●插入(insert)模式,输入文本时使用;在正常模式下键入“i”(insert)或“a”(append)即可进入插入模式(也有另外一些命令,如“c”,也可以进入插入模式,但这些命令有其它的作用)。

●可视(visual)模式,用于选定文本块;可以在正常模式下输入“v”(小写)来按字符选定,输入“V”(大写)来按行选定,或输入“Ctrl-V”来按方块选定。

1、复制

1)单行复制

在命令模式下,将光标移动到将要复制的行处,按“yy”进行复制;

2)多行复制

在命令模式下,将光标移动到将要复制的首行处,按“nyy”复制n行;其中n为1、2、3……

2、粘贴

在命令模式下,将光标移动到将要粘贴的行处,按“p”进行粘贴

u 撤销上一步的操作

Ctrl+r 恢复上一步被撤销的操作

删除一行:dd

删除一个单词/光标之后的单词剩余部分:dw

删除当前字符:x

d0: 删至行首

d$: 删至行尾

w或W : 光标右移一个字至字首

b或B : 光标左移一个字至字首

e或E : 光标右移一个字至字尾

): 光标移至句尾

(: 光标移至句首

}: 光标移至段落开头

{: 光标移至段落结尾

nG: 光标移至第n行首

n+: 光标下移n行

n-: 光标上移n行

n+: 光标下移n行

n-: 光标上移n行

H: 光标移至屏幕顶行

M: 光标移至屏幕中间行

L: 光标移至屏幕最后行

0: 光标移至当前行首

$: 光标移至当前行尾

Ctrl+u: 向文件首翻半屏

Ctrl+d: 向文件尾翻半屏

Ctrl+f: 向文件尾翻一屏

Ctrl+b: 向文件首翻一屏

i: 在光标前

I: 在当前行首

a: 光标后

A: 在当前行尾

o: 在当前行之下新开一行

O: 在当前行之上新开一行

/pattern: 从光标开始处向文件尾搜索pattern

?pattern: 从光标开始处向文件首搜索pattern

n: 在同一方向重复上一次搜索命令

N: 在反方向上重复上一次搜索命令

:s/p1/p2/g: 将当前行中所有p1均用p2替代

:g/p1/s//p2/g: 将文件中所有p1均用p2替换

:set number 显示行号

xp 交换前后两个字符的位置

ddp 上下两行的位置交换

/+上下箭头 搜索历史

:+上下箭头 :命令的历史

yw 将光标所在单词拷入剪贴板

y$ 将光标至行尾的字符拷入剪贴板

yy 将当前行拷入剪贴板

p 将剪贴板中的内容粘贴在光标后

P 将剪贴板中的内容粘贴在光标前

:args 显示当前文件名

u 撤销,相当于Ctrl+z

U 一次撤销一行的所有操作

Ctrl+R 重做

Ctrl+v 选择一个块

:set number 显示行号

:set nonumber 不显示行号

J 把下面一行合并到本行后面

% 查找配对的括号

查找的一些选项

设置高亮

:set hlsearch 设置高亮

:set nohlsearch 关闭高亮

:nohlsearch 关闭当前已经设置的高亮

u 撤销最后执行的命令

U 修正之前对该行的操作

Ctrl+R Redo

文件结束:shift + g

文件开始:g g

vi filename //打开或新建文件,并将光标置于第一行首

vi +n filename //打开或新建文件,并将光标置于第n行首

vi + filename //打开或新建文件,并将光标置于末行首

vi +/pattern filename: 打开文件,并将光标置于第一个与pattern匹配的串处

Vyp 复制整行到下一行

按v选定后按=就是自动格式化代码,自动缩进,内部的递归的缩进都做到了

行左移>,该命令用于调整源码缩进格式简便快速

多行注释:

visual block模式 I//Esc 注释块的方法:

取消多行注释:

1. 进入命令行模式,按ctrl + v进入 visual block模式(可视快模式),按小写字母L横向选中列的个数,例如 // 需要选中2列

2. 按字母j,或者k选中注释符号

3. 按d键就可全部取消注释

*(#) 当光标停留在某个单词上时, 输入这条命令表示查找与该单词匹配的

下(上)一个单词. 同样, 再输入 n 查找下一个匹配处, 输入 N 反方

向查找.

gg 移动光标到文档首行.

G 移动光标到文档尾行.

yfa 表示拷贝从当前光标到光标后面的第一个a字符之间的内容.

dfa 表示删除从当前光标到光标后面的第一个a字符之间的内容.

yy 表示拷贝光标所在行.

dd 表示删除光标所在行.

D 表示删除从当前光标到光标所在行尾的内容.

:12,24y 表示拷贝第12行到第24行之间的内容.

:12,y 表示拷贝第12行到光标所在行之间的内容.

:,24y 表示拷贝光标所在行到第24行之间的内容. 删除类似.

c-p(c-n) 在编辑模式中, 输入几个字符后再输入此命令则 vi 开始向上(下)搜

索开头与其匹配的单词并补齐, 不断输入此命令则循环查找. 此命令

会在所有在这个 vim 程序中打开的文件中进行匹配.

:ls 此命令查看本 vim 程序已经打开了多少个文件

:vsp filename 命令打开另一个文件, 然后在每个文件窗口中输入此命令,就能看

i: 在光标前插入;一个小技巧:按8,再按i,进入插入模式,输入=, 按esc进入命令模式,就会出现8个=。 这在插入分割线时非常有用,如30i+就插入了36个+组成的分割线。

I: 在当前行第一个非空字符前插入;

a: 在光标后插入;

A: 在当前行最后插入;

o: 在下面新建一行插入;

O: 在上面新建一行插入;

7.3 正则表达式

高级的查找替换就要用到正则表达式。

\d: 表示十进制数(我猜的)

\s: 表示空格

\S: 非空字符

\a: 英文字母

|: 表示 或

.: 表示.

{m,n}: 表示m到n个字符。这要和 \s与\a等连用,如 \a{m,n} 表示m 到n个英文字母。

{m,}: 表示m到无限多个字符。

**: 当前目录下的所有子目录。

<< 向左缩进一个shiftwidth

向右缩进一个shiftwidth

:set spell-开启拼写检查功能

:set nospell-关闭拼写检查功能

~: 反转光标所在字符的大小写。

可视模式下的U或u:把选中的文本变为大写或小写。

gd: 跳转到局部变量的定义处;

gD: 跳转到全局变量的定义处,从当前文件开头开始搜索;

g;: 上一个修改过的地方;

g,: 下一个修改过的地方;

gd: 跳转到局部变量的定义处;

gD: 跳转到全局变量的定义处,从当前文件开头开始搜索;

g;: 上一个修改过的地方;

g,: 下一个修改过的地方;

[[: 跳转到上一个函数块开始,需要有单独一行的{。

]]: 跳转到下一个函数块开始,需要有单独一行的{。

[]: 跳转到上一个函数块结束,需要有单独一行的}。

][: 跳转到下一个函数块结束,需要有单独一行的}。

[{: 跳转到当前块开始处;

]}: 跳转到当前块结束处;

[/: 跳转到当前注释块开始处;

]/: 跳转到当前注释块结束处;

%: 不仅能移动到匹配的(),{}或[]上,而且能在#if,#else, #endif之间跳跃。

下面的括号匹配对编程很实用的。

ci’, di’, yi’:修改、剪切或复制’之间的内容。

ca’, da’, ya’:修改、剪切或复制’之间的内容,包含’。

ci”, di”, yi”:修改、剪切或复制”之间的内容。

ca”, da”, ya”:修改、剪切或复制”之间的内容,包含”。

ci(, di(, yi(:修改、剪切或复制()之间的内容。

ca(, da(, ya(:修改、剪切或复制()之间的内容,包含()。

ci[, di[, yi[:修改、剪切或复制[]之间的内容。

ca[, da[, ya[:修改、剪切或复制[]之间的内容,包含[]。

ci{, di{, yi{:修改、剪切或复制{}之间的内容。

ca{, da{, ya{:修改、剪切或复制{}之间的内容,包含{}。

ci<, di<, yi<:修改、剪切或复制<>之间的内容。

ca<, da<, ya<:修改、剪切或复制<>之间的内容,包含<>。

正常模式下,按两下>;光标所在行会缩进。

如果先按了n,再按两下>;,光标以下的n行会缩进。

dw 删除到下一个单词开头

de 删除到本单词末尾

dE 删除到本单词末尾包括标点在内

db 删除到前一个单词

dB 删除到前一个单词包括标点在内

陕西怎么找富婆包养
云南怎么找富婆包养
四川怎么找富婆包养
广东怎么找富婆包养
福建怎么找富婆包养
上海怎么找富婆包养
吉林怎么找富婆包养
内蒙古怎么找富婆包养
河北怎么找富婆包养
北京怎么找富婆包养
淮南怎么找富婆包养
长春怎么找富婆包养
武汉怎么找富婆包养
青岛怎么找富婆包养
桂林怎么找富婆包养
南宁怎么找富婆包养
揭阳怎么找富婆包养
中山怎么找富婆包养
清远怎么找富婆包养
萧山区怎么找富婆包养
江门怎么找富婆包养
汕头怎么找富婆包养
淮安怎么找富婆包养
苏州怎么找富婆包养
徐州怎么找富婆包养
厦门怎么找富婆包养
温州怎么找富婆包养
宁夏怎么找富婆包养
甘肃怎么找富婆包养
西藏怎么找富婆包养
贵州怎么找富婆包养
广东怎么找富婆包养
湖北怎么找富婆包养
山东怎么找富婆包养
三明怎么找富婆包养
宣城怎么找富婆包养
毫州怎么找富婆包养
宿州怎么找富婆包养
安徽怎么找富婆包养
上海怎么找富婆包养
吉林怎么找富婆包养
内蒙古怎么找富婆包养
江苏怎么找富婆包养
天津怎么找富婆包养
滁州怎么找富婆包养
安庆怎么找富婆包养
马鞍山怎么找富婆包养
淮南怎么找富婆包养
蚌埠怎么找富婆包养
合肥怎么找富婆包养
台州怎么找富婆包养
衢州怎么找富婆包养
绍兴怎么找富婆包养
湖州怎么找富婆包养
北京怎么找富婆包养
内蒙古怎么找富婆包养
吉林怎么找富婆包养
上海怎么找富婆包养
福建怎么找富婆包养
山东怎么找富婆包养
河南怎么找富婆包养
湖北怎么找富婆包养
重庆怎么找富婆包养
贵州怎么找富婆包养
西藏怎么找富婆包养
甘肃怎么找富婆包养
大兴怎么找富婆包养
蓟县怎么找富婆包养
顺义怎么找富婆包养
房山怎么找富婆包养
门头沟怎么找富婆包养
石景山怎么找富婆包养
朝阳怎么找富婆包养
西城怎么找富婆包养
宁夏怎么找富婆包养
金华怎么找富婆包养
嘉兴怎么找富婆包养
杭州怎么找富婆包养
温州怎么找富婆包养
静海怎么找富婆包养
武清怎么找富婆包养
北辰怎么找富婆包养
津南怎么找富婆包养
河北怎么找富婆包养
河西怎么找富婆包养
河东怎么找富婆包养
和平怎么找富婆包养
密云怎么找富婆包养
河北怎么找富婆包养
浙江怎么找富婆包养
北京怎么找富婆包养
阜阳怎么找富婆包养
黄山怎么找富婆包养
铜陵怎么找富婆包养
淮北怎么找富婆包养
芜湖怎么找富婆包养
丽水怎么找富婆包养
舟山怎么找富婆包养
江西怎么找富婆包养
莆田怎么找富婆包养
厦门怎么找富婆包养
福州怎么找富婆包养
池州怎么找富婆包养
六安怎么找富婆包养
巢湖怎么找富婆包养
福建怎么找富婆包养
北京哪里酒店招聘男公关
黑龙江怎么找富婆包养
辽宁怎么找富婆包养
山西怎么找富婆包养
莆田怎么找富婆包养
福州怎么找富婆包养
合肥怎么找富婆包养
青海怎么找富婆包养
陕西怎么找富婆包养
云南怎么找富婆包养
四川怎么找富婆包养
广西怎么找富婆包养
湖南怎么找富婆包养
河南怎么找富婆包养
潮州怎么找富婆包养
东莞怎么找富婆包养
汕尾怎么找富婆包养
惠州怎么找富婆包养
佛山怎么找富婆包养
珠海怎么找富婆包养
深圳怎么找富婆包养
韶关怎么找富婆包养
广州怎么找富婆包养
连云港怎么找富婆包养
常州怎么找富婆包养
三明怎么找富婆包养
山西怎么找富婆包养
江苏怎么找富婆包养
兰州怎么找富婆包养
淮北怎么找富婆包养
南京怎么找富婆包养
长沙怎么找富婆包养
郑州怎么找富婆包养
九江怎么找富婆包养
柳州怎么找富婆包养
云浮怎么找富婆包养
湖北怎么找富婆包养
江西怎么找富婆包养
安徽怎么找富婆包养
黑龙江怎么找富婆包养
辽宁怎么找富婆包养

:! cmd 执行外部命令。

版权声明:本文为博主原创文章,未经博主允许不得转载。

时间: 2024-08-25 01:28:19

VI normal command summary的相关文章

Git Command Summary

取得Git仓库 初始化一个版本仓库 git init Clone远程版本库 git clone [email protected]:wordpress.git 添加远程版本库origin,语法为 git remote add [shortname] [url] git remote add origin [email protected]:wordpress.git 查看远程仓库 git remote -v 提交你的修改 添加当前修改的文件到暂存区 git add . 如果你自动追踪文件,包括你

vi command

进入vi的命令 vi filename :打开或新建文件,并将光标置于第一行首 vi +n filename :打开文件,并将光标置于第n行首 vi + filename :打开文件,并将光标置于最后一行首 vi +/pattern filename:打开文件,并将光标置于第一个与pattern匹配的串处 vi -r filename :在上次正用vi编辑时发生系统崩溃,恢复filename vi filename....filename :打开多个文件,依次进行编辑 移动光标类命令h :光标左

linux vi 命令大全

linux vi 命令大全 进入vi的命令 vi filename :打开或新建文件,并将光标置于第一行首 vi +n filename :打开文件,并将光标置于第n行首 vi + filename :打开文件,并将光标置于最后一行首 vi +/pattern filename:打开文件,并将光标置于第一个与pattern匹配的串处 vi -r filename :在上次正用vi编辑时发生系统崩溃,恢复filename vi filename....filename :打开多个文件,依次进行编辑

linux下vi命令大全

进入vi的命令 vi filename :打开或新建文件,并将光标置于第一行首 vi +n filename :打开文件,并将光标置于第n行首 vi + filename :打开文件,并将光标置于最后一行首 vi +/pattern filename:打开文件,并将光标置于第一个与pattern匹配的串处 vi -r filename :在上次正用vi编辑时发生系统崩溃,恢复filename vi filename....filename :打开多个文件,依次进行编辑 移动光标类命令h :光标左

SuperSocket服务器架设(三):在SuperSocket中自定义Command、AppServer和AppSession

1.      创建自定义类MySession,继承AppSession类并重写AppSession类的方法 注:一个AppSession对象对应一个连接 [csharp] view plaincopyprint? using System; using System.Collections.Generic; using System.Linq; using System.Text; using SuperSocket; using SuperSocket.Common; using Super

vim(vi)常用操作及记忆方法

vi(vim)可以说是linux中用得最多的工具了,不管你配置服务也好,写脚本也好,总会用到它.但是,vim作为一个“纯字符”模式下的工具,它的操作和WINDOWS中的文本编辑工具相比多少有些复杂.这里,我根据自己个人的使用经验,整理了一套vim的操作以及记忆的方法,希望对大家的学习有所帮助. VI的三种模式 1,命令模式   2,输入模式   3,末行模式 命令         执行的操作                 记忆方法 :q           退出                

linux下vi命令大全 转

进入vi的命令 vi filename :打开或新建文件,并将光标置于第一行首 vi +n filename :打开文件,并将光标置于第n行首 vi + filename :打开文件,并将光标置于最后一行首 vi +/pattern filename:打开文件,并将光标置于第一个与pattern匹配的串处 vi -r filename :在上次正用vi编辑时发生系统崩溃,恢复filename vi filename....filename :打开多个文件,依次进行编辑 移动光标类命令h :光标左

vi, vim 基本使用(2)

进入vi的命令vi filename :打开或新建文件,并将光标置于第一行首vi +n filename :打开文件,并将光标置于第n行首vi + filename :打开文件,并将光标置于最后一行首vi +/pattern filename:打开文件,并将光标置于第一个与pattern匹配的串处vi -r filename :在上次正用vi编辑时发生系统崩溃,恢复filenamevi filename....filename :打开多个文件,依次进行编辑移动光标类命令h :光标左移一个字符l

Vi命令大全

1.进入vi的命令 vi filename :打开或新建文件,并将光标置于第一行首 vi +n filename :打开文件,并将光标置于第n行首 vi + filename :打开文件,并将光标置于最后一行首 vi +/pattern filename:打开文件,并将光标置于第一个与pattern匹配的串处 vi -r filename :在上次正用vi编辑时发生系统崩溃,恢复filename vi filename....filename :打开多个文件,依次进行编辑 2.移动光标类命令 h