`
heamon
  • 浏览: 21165 次
  • 性别: Icon_minigender_1
  • 来自: 北京
最近访客 更多访客>>
社区版块
存档分类
最新评论

vi normally command

    博客分类:
  • Unix
阅读更多
VI快捷键操作指令集(供参考)
光标控制命令

命令 光标移动
h或^h 向左移一个字符
j或^j或^n 向下移一行
k或^p 向上移一行
l或空格 向右移一个字符
G 移到文件的最后一行
nG 移到文件的第n行
w 移到下一个字的开头
W 移到下一个字的开头,忽略标点符号
b 移到前一个字的开头
B 移到前一个字的开头,忽略标点符号
L 移到屏幕的最后一行
M 移到屏幕的中间一行
H 移到屏幕的第一行
e 移到下一个字的结尾
E 移到下一个字的结尾,忽略标点符号
( 移到句子的开头
) 移到句子的结尾
{ 移到段落的开头
} 移到下一个段落的开头
0或| 移到当前行的第一列
n| 移到当前行的第n列
^ 移到当前行的第一个非空字符
$ 移到当前行的最后一个字符
+或return 移到下一行的第一个字符
- 移到前一行的第一个非空字符


在vi中添加文本

命令 插入动作
a 在光标后插入文本
A 在当前行插入文本
i 在光标前插入文本
I 在当前行前插入文本
o 在当前行的下边插入新行
O 在当前行的上边插入新行
:r file 读入文件file内容,并插在当前行后
:nr file 读入文件file内容,并插在第n行后
escape 回到命令模式
^v char 插入时忽略char的指定意义,这是为了插入特殊字符


在vi中删除文本

命令 删除操作
x 删除光标处的字符,可以在x前加上需要删除的字符数目
nx 从当前光标处往后删除n个字符
X 删除光标前的字符,可以在X前加上需要删除的字符数目
nX 从当前光标处往前删除n个字符
dw 删至下一个字的开头
ndw 从当前光标处往后删除n个字
dG 删除行,直到文件结束
dd 删除整行
ndd 从当前行开始往后删除
db 删除光标前面的字
ndb 从当前行开始往前删除n字
:n,md 从第m行开始往前删除n行
d或d$ 从光标处删除到行尾
dcursor_command 删除至光标命令处,如dG将从当产胆行删除至文件的末尾
^h或backspace 插入时,删除前面的字符
^w 插入时,删除前面的字


修改vi文本

每个命令前面的数字表示该命令重复的次数
命令 替换操作
rchar 用char替换当前字符
R text escape 用text替换当前字符直到换下Esc键
stext escape 用text代替当前字符
S或cctext escape 用text代替整行
cwtext escape 将当前字改为text
Ctext escape 将当前行余下的改为text
cG escape 修改至文件的末尾
ccursor_cmd text escape 从当前位置处到光标命令位置处都改为text


在vi中查找与替换

命令 查找与替换操作
/text 在文件中向前查找text
?text 在文件中向后查找text
n 在同一方向重复查找
N 在相反方向重复查找
ftext 在当前行向前查找text
Ftext 在当前行向后查找text
ttext 在当前行向前查找text,并将光标定位在text的第一个字符
Ttext 在当前行向后查找text,并将光标定位在text的第一个字符
:set ic 查找时忽略大小写
:set noic 查找时对大小写敏感
:s/oldtext/newtext 用newtext替换oldtext
:m,ns/oldtext/newtext 在m行通过n,用newtext替换oldtext
& 重复最后的:s命令
:g/text1/s/text2/text3 查找包含text1的行,用text3替换text2
:g/text/command 在所有包含text的行运行command所表示的命令
:v/text/command 在所有不包含text的行运行command所表示的命令


在vi中复制文本

命令 复制操作
yy 将当前行的内容放入临时缓冲区
nyy 将n行的内容放入临时缓冲区
p 将临时缓冲区中的文本放入光标后
P 将临时缓冲区中的文本放入光标前
"(a-z)nyy 复制n行放入名字为圆括号内的可命名缓冲区,省略n表示当前行
"(a-z)ndd 删除n行放入名字为圆括号内的可命名缓冲区,省略n表示当前行
"(a-z)p 将名字为圆括号的可命名缓冲区的内容放入当前行后
"(a-z)P 将名字为圆括号的可命名缓冲区的内容放入当前行前


在vi中撤消与重复

命令 撤消操作
u 撤消最后一次修改
U 撤消当前行的所有修改
. 重复最后一次修改
, 以相反的方向重复前面的f、F、t或T查找命令
; 重复前面的f、F、t或T查找命令
"np 取回最后第n次的删除(缓冲区中存有一定次数的删除内容,一般为9)
n 重复前面的/或?查找命令
N 以相反方向重复前面的/或?命令


保存文本和退出vi

命令 保存和/或退出操作
:w 保存文件但不退出vi
:w file 将修改保存在file中但不退出vi
:wq或ZZ或:x 保存文件并退出vi
:q! 不保存文件,退出vi
:e! 放弃所有修改,从上次保存文件开始再编辑


vi中的选项

选项 作用
:set all 打印所有选项
:set nooption 关闭option选项
:set nu 每行前打印行号
:set showmode 显示是输入模式还是替换模式
:set noic 查找时忽略大小写
:set list 显示制表符(^I)和行尾符号
:set ts=8 为文本输入设置tab stops
:set window=n 设置文本窗口显示n行


vi的状态

选项 作用
:.= 打印当前行的行号
:= 打印文件中的行数
^g 显示文件名、当前的行号、文件的总行数和文件位置的百分比
:l 使用字母"l"来显示许多的特殊字符,如制表符和换行符


在文本中定位段落和放置标记

选项 作用
{ 在第一列插入{来定义一个段落
[[ 回到段落的开头处
]] 向前移到下一个段落的开头处
m(a-z) 用一个字母来标记当前位置,如用mz表示标记z
'(a-z) 将光标移动到指定的标记,如用'z表示移动到z


在vi中连接行

选项 作用
J 将下一行连接到当前行的末尾
nJ 连接后面n行


光标放置与屏幕调整

选项 作用
H 将光标移动到屏幕的顶行
nH 将光标移动到屏幕顶行下的第n行
M 将光标移动到屏幕的中间
L 将光标移动到屏幕的底行
nL 将光标移动到屏幕底行上的第n行
^e(ctrl+e) 将屏幕上滚一行
^y 将屏幕下滚一行
^u 将屏幕上滚半页
^d 将屏幕下滚半页
^b 将屏幕上滚一页
^f 将屏幕下滚一页
^l 重绘屏幕
z-return 将当前行置为屏幕的顶行
nz-return 将当前行下的第n行置为屏幕的顶行
z. 将当前行置为屏幕的中央
nz. 将当前行上的第n行置为屏幕的中央
z- 将当前行置为屏幕的底行
nz- 将当前行上的第n行置为屏幕的底行


vi中的shell转义命令

选项 作用
:!command 执行shell的command命令,如:!ls
:!! 执行前一个shell命令
:r!command 读取command命令的输入并插入,如:r!ls会先执行ls,然后读入内容
:w!command 将当前已编辑文件作为command命令的标准输入并执行command命令,如:w!grep all
:cd directory 将当前工作目录更改为directory所表示的目录
:sh 将启动一个子shell,使用^d(ctrl+d)返回vi
:so file 在shell程序file中读入和执行命令


vi中的宏与缩写
(避免使用控制键和符号,不要使用字符K、V、g、q、v、*、=和功能键)

选项 作用
:map key command_seq 定义一个键来运行command_seq,如:map e ea,无论什么时候都可以e移到一个字的末尾来追加文本
:map 在状态行显示所有已定义的宏
:umap key 删除该键的宏
:ab string1 string2 定义一个缩写,使得当插入string1时,用string2替换string1。当要插入文本时,键入string1然后按Esc键,系统就插入了string2
:ab 显示所有缩写
:una string 取消string的缩写


在vi中缩进文本

选项 作用
^i(ctrl+i)或tab 插入文本时,插入移动的宽度,移动宽度是事先定义好的
:set ai 打开自动缩进
:set sw=n 将移动宽度设置为n个字符
n<< 使n行都向左移动一个宽度
n>> 使n行都向右移动一个宽度,例如3>>就将接下来的三行每行都向右移动一个移动宽度

1.编辑模式: 插入/替换 (按INSERT键切换)

2.[ESC] 指令模式

3.输入模式 将在指令模式下输入 a
新增(a,A)
a:从光标所在位置后面开始新增资料,光标后的资料随新增资料向后移动。
A:从光标所在列最后面的地方开始新增资料。
插入(i,I)
i:从光标所在位置前面开始插入资料,光标后的资料随新增资料向后移动。
I:从光标所在列的第一个非空白字元前面开始插入资料。
开始(o,O)
o:在光标所在列下新增一列并进入输入模式。
O:在光标所在列上方新增一列并进入输入模式。

4.存盘/退出
[ESC] :wq //存盘退出
:w! //存盘继续
:q //退出 (源文件未被编辑过可用)
:q! //强制退出

5.删除与改修
[ESC] x //删除光标所在字符
dd //删除光标所在列。
r //修改光标所在字元,r后接着要修正的字符。
R //进入取替换状态。
s //删除光标所在字元,并进入输入模式。
S //删除光标所在的列,并进入输入模式。

6.恢复
[ESC] u //可以恢复被删除的文字。
U //可以恢复光标所在列的所有改变。
分享到:
评论

相关推荐

    Gnu Diffutils for Windows

    You can use the diff command to show differences between two files, or each corresponding file in two directories. diff outputs differences between files line by line in any of several formats, ...

    Normally-open-switch.rar_The Open Road

    标题中的"Normally-open-switch.rar_The Open Road"指的是一个与常开开关相关的程序或文档,可能涉及电子工程或自动化控制领域。常开开关,也称为NO(Normally Open)开关,是指在无外力作用时触点处于断开状态的...

    PowerCommands for Visual Studio 2008

    This command is normally followed by a Paste Class command, which renames the class to avoid a compilation error. It can be executed from a single project item or a project item with dependent sub ...

    卡士妥常闭电磁阀Castel_Normally-closed-solenoid-valves_14-E.pdf

    卡士妥常闭电磁阀Castel_Normally-closed-solenoid-valves_14-E

    lettuce-exit-normally

    问题 连接到集群后,JVM不会退出。 我该如何重现? 启动redis集群。 docker run -e "IP=0.0.0.0" -p 7000-7005:7000-7005 grokzen/redis-cluster:latest 然后运行: make test

    High-Performance Normally-Off Al2O3/GaN MOSFET Using a Wet Etching-Based Gate Recess Technique

    这篇文章是关于利用湿法刻蚀技术制造高性能的正常关闭Al2O3/GaN MOSFET的研究。文章详细介绍了如何通过低损伤的数字刻蚀技术,结合等离子体氧化和湿法氧化去除过程的多次循环,制造出性能良好的Al2O3/GaN MOSFET,并...

    Large displacement FEM modelling of the cone penetration test (CPT) in normally

    ### 大位移有限元法在正常固结砂土锥探测试验中的应用 #### 摘要 本文介绍了一种基于大应变有限元法(FEM)的新模型,用于研究锥探测试验(CPT)在正常固结砂土中的行为。该模型采用自动适应重网格技术来处理围绕...

    2009 达内Unix学习笔记

    DOS内部命令 用于退出当前的命令处理器(COMMAND.COM) 恢复前一个命令处理器。 Ctrl+d 跟exit一样效果,表中止本次操作。 logout 当csh时可用来退出,其他shell不可用。 clear 清屏,清除(之前的内容并未删除,只是...

    Relationship between toy and material use and the occurrence of social interactive behaviors by normally developing preschool children

    Relationship between toy and material use and the occurrence of social interactive behaviors by normally developing preschool children RELATIONSHIP BETWEEN TOY A N D MATERIAL U S E A N D T H E ...

    vmware 虚拟机安装macos 启动软件

    在IT领域,虚拟化技术是不可或缺的一部分,而VMware作为其中的佼佼者,提供了强大的虚拟机软件,让用户能够在一台物理计算机上运行多个操作系统。在这个场景中,我们讨论的是如何在VMware虚拟机中安装MacOS系统。...

    normally-off metamorphic AlInAs/AlInAs HEMTs on Si substrate grown by MOCVD

    由于提供的文件内容主要是关于期刊“Chinese Physics B”的订阅信息、版权声明、出版和发行信息等,这部分内容与标题“normally-off metamorphic AlInAs/AlInAs HEMTs on Si substrate grown by MOCVD”描述的科技...

    MS-DOS 5.0

    below, you must add the specified /machine switch to the DEVICE=HIMEM.SYS command in your CONFIG.SYS file before you run Setup. After changing the CONFIG.SYS file, run Setup. System Switch ------ ...

    vmware安装windows10详细步骤

    基于VMware 15.5pro安装window10,从环境导入,window10的配置,完成,到安装VMware tool关闭防火墙、安装jdk,burpsuit等步骤。

    High-threshold-voltage Normally-off Recessed MOS-gate AlGaN/ GaN HEMT with Large Gate Swing

    1. 标题知识点:“High-threshold-voltage Normally-off Recessed MOS-gate AlGaN/ GaN HEMT with Large Gate Swing”所涉及的内容涉及半导体器件领域,特别是在高电子迁移率晶体管(HEMT)技术方面的研究进展。...

    Advanced Apple Debugging & Reverse Engineering v0.9.5

    In this chapter, you’re going to learn about methods and strategies to “hook” into Swift and C code as well as execute methods you wouldn’t normally have access to. 16. Exploring and Method ...

    issrc-5.3.3.zip_The Front_delphi inno setup

    ISCmplr project is changed, you normally don t need to recompile Compil32 since it s essentially a text editor, and is not affected by internal changes to the compiler. Non Unicode Inno Setup note: ...

    LCTF软件备份VariSpec™ Liquid Crystal Tunable Filters

    c) recognizes filters with serial numbers &gt; 60000 (normally VariLC numbers) d) supports binary transfer of &gt;127 bytes Previous release 1.11 Release date September 8, 2003 Known bugs a) implicit ...

    Introduction to Transactions

    normally includes its own computational statements (unbeknown to the DBMS) and requests for some database retrieval/update operations. is normally performed in an online environment: when ‘commit ...

    一套C++的习题及答案

    C++ 编程习题及答案 本文档旨在提供一套 C++ 编程习题及答案,旨在帮助学生学习和测试 C++ 编程技能。该习题集包括八个编程题目,涵盖 C++ 基础知识、函数重载、字符串处理、素数判断、数组操作等多个方面。...

    Anybus Configuration Manager - Communicator RS232-422-485 Setup 4.4.1.3.exe

    C:\Program Files (x86)\HMS\ACM\Communicator RS232-422-485\unins000.exe is the full command line if you want to uninstall Anybus Configuration Manager - Communicator RS232/422/485. Anybus ...

Global site tag (gtag.js) - Google Analytics