博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Vim程序编辑器
阅读量:4102 次
发布时间:2019-05-25

本文共 1962 字,大约阅读时间需要 6 分钟。

1.vi和vim

vi:一种基本的文本编辑器,所有UNIX Like系统都会内置,很多的软件编辑接口会主动调用,是老式的文字处理器,不过功能已经很齐全了。

vim:可以视为vi的高级版本,具有程序编辑的能力,可以主动以字体颜色或底线等方式来显示一些特殊的信息,辨别语法的正确性,方便程序设计,vim的官方网站自己也说vim是一个“程序开发工具”而不是文字处理软件,因为vim里面加入了很多额外的功能,例如支持正则表达式的查找架构,多文件编辑,块复制等。

2.vi的使用

  • 一般模式
    可以使用上下左右来移动光标,可以删除整行,复制粘贴文件数据等,但是无法编辑文件内容。
  • 编辑模式
    在一般模式下按“i,I,o,O,A,a,r,R”等任何一个字母之后才会进入编辑模式。esc退出。
  • 命令行模式
    一般模式中输入“: / ?”3个中任何一个按钮,就可以将光标移动到最下面的那一行。在这个模式当中,可以提供查找数据的操作,而读取,保存,大量替换字符,离开vi,显示行号的操作就是在这个模式中完成的。

3.按键说明

第一部分:一般模式的按钮说明

h或← 光标向左移动一个字符
j或者↓
k或者↑
l或者→
CTRL+f 下一页
CTRL+b 上一页
CTRL+d 向下移动半页
CTRL+u 向上移动半页
+ 光标移动到非空格符的下一行
- 光标移动到非空格符的上一行
n 20光标向后面移动20个字符距离
0或者End 光标移动到这一行最前面
$或者Home 光标移动到这一行最后面
H 光标移动到当前屏幕的最上方那一行的第一个字符
M 光标移动到当前屏幕的最中间那一行的第一个字符
L 光标移动到当前屏幕的最下方那一行的第一个字符
G 移动到这个文件的最后一行
nG 移动到这个文件的第n行
gg 移动到这个文件的第一行
N[enter] n为数字,光标向下移动n行
/word 向下查找
?word 向上查找
n 英文n按键,重复上一个查找
N 英文N按键,反向上一个查找
xX 英文x按键,向后删除一个字符,X向前~
nx 连续向后删除n个字符
dd 删除光标所在的那一行
ndd 删除光标所在的那一行向下n行
d1G 删除光标所在的那一行到第1行的所有内容
dG 删除光标所在到最后一行的所有数据
d$ 删除光标所在的那一处到该行最后一个字符
d0 删除光标所在的那一处到该行第一个字符
yy 复制光标所在的那一行
nyy 复制光标所在的那一行向下n行
y1G 复制光标所在的那一行到第一行的所有数据
YG 复制光标所在的那一行到最后一行的所有数据
Y0 复制标所在的那一处到该行行首的所有数据
Y$ 复制光标所在的那一处到该行行尾的所有数据
p,P p为将已经复制的数据在光标的下一行粘贴,P为粘贴在上一行
j 将光标所在行与下一行的数据结合成一行
c 重复删除多个数据,例如向下删除10 行[10cj]
u 复原前一个操作
CTRL+r 重做下一个操作

第二部分:一般模式切换到编辑模式的可用按钮说明

i,I 进入插入模式(insert mode)i为从目前光标处插入,I为在目前所在行的第一个非空格符处开始插入
a,A 进入插入模式(insert mode)a为从目前光标所在处的下一个字符处开始插入,A为从光标所在行的最后一个字符处开始插入
o,O 进入插入模式(insert mode)o为从目前光标所在处的下一行开始插入新的一行,O为从光标所在行的上一行开始插入
r,R 进入替换模式(Replace mode)r为只会替换光标所在那一个字符一次,R会一直替换光标所在的文字,直到按下esc键为止
esc 退出编辑模式,回到一般模式当中

第三部分 :从一般模式切换到命令行模式

:w 将编辑的数据写入硬盘文件中
:w! 若文件属性为可读时,强制写入该文件,不过是不是真的可以写入,还是要看你对该文件的权限是如何
:q 离开vi
:q! 强制离开vi,若修改不保存
:wq 保存后离开(wq!)
ZZ 若文件没有更动,不保存离开,若已经更动,保存离开
:w[filename] 将编辑的数据保存成一个另一个文件
:r[filename] 在编辑的数据中,读入另一个文件的数据,即将“filename”这个文件的内容加到光标所在行后面
:n1,n2 w[filename] 将n1到n2的内容保存成filename这个文件
:!command 暂时离开vi到命令行模式下执行command的显示结果。例如:“:! ls /home”即可在vi中查看/home下ls输出的文件信息
:set nu 显示行号,设置之后,会在每一行的前缀显示该行的行号
set nonu 取消行号

CTRL+z vim会到后台去执行

vi/vim键盘图

转载地址:http://nlksi.baihongyu.com/

你可能感兴趣的文章
Piper Sandler为EverArc收购Perimeter Solutions提供咨询服务
查看>>
RMRK筹集600万美元,用于在Polkadot上建立先进的NFT系统标准
查看>>
JavaSE_day12 集合
查看>>
JavaSE_day14 集合中的Map集合_键值映射关系
查看>>
Day_15JavaSE 异常
查看>>
异常 Java学习Day_15
查看>>
JavaSE_day_03 方法
查看>>
day-03JavaSE_循环
查看>>
Mysql初始化的命令
查看>>
day_21_0817_Mysql
查看>>
day-22 mysql_SQL 结构化查询语言
查看>>
MySQL关键字的些许问题
查看>>
浅谈HTML
查看>>
css基础
查看>>
HTML&CSS进阶
查看>>
Servlet进阶和JSP基础
查看>>
servlet&jsp 的使用以及jsp的历史遗留用法
查看>>
servlet中的cookie和session
查看>>
过滤器及JSP九大隐式对象
查看>>
软件(项目)的分层
查看>>