标签:表达 这一 文本编辑 之间 pad 箭头 提示 不能 编辑
shassis 地盘,底架
VI(im)
linux在命令行模式下的文本编辑器有很多(emacs、pico、nano、joe、vim等)
(优点)vim的过人之处: 1.所有的NUIX-like系统都会内置vi文本编辑器
2.很多软件的编程接口都会主动调用vi
3.vi具有程序编辑能力,可以主动的以字体颜色辨别语法的正确性,方便程序设计
4.编辑程序简单,编辑速度相当快
vim功能强大,是程序开发者的一项很好用的工具,vim官方(https://www.vim.org)也称作vim是
一个程序开发工具而不是文本处理软件,vim支持正则表达式的查找方法、多文件编辑、区块复制等
vi共分为三种模式:一般命令模式、编辑模式、命令行模式
一般命令模式:也就是默认模式;用vi或者vim打开一个文件就直接进入命令模式
编辑模式:在命令模式中敲击iIoOaArR这几个字母任意一个都可以进入编辑模式,同时下方
会出现INSERT或者REPLACE的字样
命令行模式:在一般命令模式中输入:wq即可。
一般命令模式可用的功能按键说明,光标移动、复制粘贴、查找替换等 |
|
h或向左箭头 |
光标向左移动一个字符 |
j或向下箭头 |
光标向下移动一个字符 |
k或向上箭头 |
光标向上移动一个字符 |
l或向右箭头 |
光标向右移动一个字符 |
[Ctrl]+[f]/[b]/[d]/[u] |
向下/上/半下/半上移动一页 |
+/- |
光标移动到非空格符的下/上一行 |
n<space> |
N表示数字(输入数字点击空格,光标会向右移动这一行的n个字符) |
0或者功能键HOME |
这是数字0;移动到该行的最前面字符处 |
$或功能键END |
移动到这一行的最后一个字符处 |
H/M/L/G |
光标移动到这个屏幕的最上方/中央/下方一行的第一个字符(LG功能貌似相同) |
nG |
移动到这个文件的第n行(20G则会移动到文件的第20行) |
gg |
移动到这个文件的第一行相当于1G |
n<Enter> |
N为数字,光标向下移动n行 |
查找与替换 |
|
/word |
向光标之下寻找名称为word的字符串 |
?word |
向光标之上寻找名称为word的字符串 |
N/n |
在字符串查找的基础上n为查找下一个一样字符串,为查找上一个一样的字符串 |
:n1,n2s/word1/word2/g |
n1,n2为数字,在n1,n2之间寻找word1并将word1替换为word2 |
:1,$s/word1/word2/g |
从第一行到最后一行寻找word1并用word2替换 |
:1,$s/word1/word2/gc |
替换并显示提示符给用户确认是否需要替换(confirm) |
删除、复制、粘贴 |
|
X与x |
删除,小写向后删除,大写向前删除,相当于del |
nx |
连续向后删除n个字符 |
dd |
删除(剪切)光标所在的一整行 |
ndd |
删除光标所在的下n行(或剪切) |
d1G |
删除光标所在的第一行数据(或剪切) |
dG |
删除(或剪切)光标所在到最后一行的数据 |
d$ |
删除(剪切)光标所在到该行最后一个字符 |
d0 |
数字0,删除(剪切)光标所在到该行最前面 |
yy |
复制光标所在的一行 |
nyy |
n为数字,复制光标所在向下的n行 |
y1G |
复制光标所在一行到第一行数据 |
yG |
复制光标所在一行到最后一行 |
y0 |
复制光标所在位置到该行行首的所有数据 |
y$ |
复制光标所在位置到该行行尾的所有数据 |
P与p |
p为将已复制的数据在光标的下一行粘贴,P为将已复制的数据在光标所在位置的上一行粘贴 |
J |
将光标所在行与下一行数据合并成一行 |
c |
重复删除多个数据,eg:向下删除10行,10cj |
u |
恢复前一个操作 |
[Ctrl]+r |
重复上一个操作 |
第二部分:一般命令模式切换到编辑模式可以使用的
进入插入(Insert) |
|
|
|
|
|
第三部分:一般命令模式切换到命令行模式
命令行模式的保存与退出 |
|
:w |
将编辑的数据写入硬盘文件中 |
:w! |
若文件属性问(只读)时,强制写入该文件,能不能写入跟所拥有的权限有关 |
:q |
退出vi(vim) |
:q! |
若曾修改过文件,又不想保存,使用!为强制退出不保存 |
:wq |
退出并保存 |
ZZ |
大写Z若文件没修改,则不保存退出,若修改则保存退出 |
:w(filename) |
将编辑文件保存为新文件(另存为) |
:r(filename) |
在编辑过程中读取另一个文件,即将所读文件的内容加到光标所在位置行后面 |
:n1,n2 w(filename) |
将n1,n2的内容保存到filename中 |
:!command |
暂时退出vi到命令行模式下执行command的显示结果 |
Vim环境的修改 |
|
:set nu |
显示行号,设置之后,会在每一行的前缀显示行号 |
:set nonu |
取消行号显示 |
标签:表达 这一 文本编辑 之间 pad 箭头 提示 不能 编辑
原文地址:https://www.cnblogs.com/WinkJie/p/12030698.html