Vim编辑器基础
Vim编辑器基础
vi:Visual Interface
vim:VI iMproved
Vim模式
1、编辑模式(命令模式)
只能下达命令,不能键入字符
2、输入模式
键入字符
3、末行模式
左下角有冒号,可以键入命令执行
Vim模式转换
vim 文件名
编辑-->输入:
i:在当前光标所在字符的前面,转为输入模式;
a:在当前光标所在字符的后面,转为输入模式;
o:在当前光标所在行的下方,新建一行,并转为输入模式;
I:在当前光标所在行的行首,转换为输入模式;
A:在当前光标所在行的行尾,转换为输入模式
O:在当前光标所在行的上方,新建一行,并转为输入模式;
输入-->编辑:
ESC
编辑-->末行:
:
末行-->编辑:
ESC,ESC
打开文件
# vim /path/to/somefile
vim +# :打开文件,并定位于第#行
vim + :打开文件,定位至最后一行
vim +/PATTREN :打开文件,定位至第一次被PATTREN匹配到的行的行首
默认处于编辑模式
关闭文件
1、末行模式关闭文件
:q 退出
:wq 保存并退出
:q! 不保存并退出
:w 保存
:w! 强行保存
:wq --> :s
2、编辑模式下退出
ZZ: 保存并退出
移动光标(编辑模式)
1、逐字符移动:
h:左
l:右
j:下
k:上
#h:移动#个字符;
2、以单词为单位移动
w:移至下一个单词的词首
e:跳至当前或下一个单词的词尾
b:跳至当前或前一个单词的词首
#w:
3、行内跳转:
0:绝对行首
^: 行首的第一个非空白字符
$:绝对行尾
4、行间跳转
#G:跳转至第#行:
G:最后一行
末行模式下,直接给出行号即可
翻屏
Ctrl+f:向下翻一屏
Ctrl+b:向上翻一屏
Ctrl+d:向下翻半屏
Ctrl+u:向上翻半屏
删除单个字符
x:删除光标所在处的单个字符
#x:删除光标所在处及向后的共#个字符
删除命令:d
d命令跟跳转命令组合使用:
#dw,#de,#db
dd;删除当前光标所在行
#dd:删除包括当前光标所在行在内的#行;
末行模式下:
StartADD,EndADDd
.: 表示当前行
$:最后一行
+#:向下的#行
粘贴命令 p
p:如果删除或复制为整行内容,则粘贴至光标所在行的下方,如果复制或删除的内容为非整行,则粘贴至光标所在字符的后面;
P:如果删除或复制为整行内容,则粘贴至光标所在行的上方,如果复制或删除的内容为非整行,则粘贴至光标所在字符的前面;
复制命令 y
用法同d命令
修改:先删除内容,在转换为输入模式
c:用法同d命令
替换:r
R:替换模式
撤销编辑操作 u
u:撤销前一次的编辑操作
连续u命令可撤销此前的n此操作
#u:直接撤销最近#次编辑操作
撤销最近一次撤销操作:Ctrl+r
重复前一次编辑操作
.
可视化操作
v:按字符选取
V:按行选取
Ctrl+v:按矩形选取
查找
/PATTERN
?PATTERN
n
N
查找并替换
在末行模式下使用s命令
ADDR1,ADDR2s@PATTREN@string@gi
1、$
%: 表示全文
使用vim编辑多个文件
vim FILE1 FILE2 FILE3
:next 切换至下一个文件
:prev 切换至前一个文件
:last 切换至最后一个文件
:first 切换至第一个文件
退出
:qa 全部退出
分屏显示一个文件
Ctrl+w,s:水平拆分窗口
Ctrl+w,v:垂直拆分窗口
在窗口间切换光标:
Ctrl+w,ARROW
:qa
分窗口多个文件
vim -o:水平分割显示
vim -O:垂直分割显示
将当前文件中部分内容另存为另外一个文件
末行模式下使用w命令
:w
:ADDR1,ADDR2w /path/to/somewhere
将另外一个文件的内容填充在当前文件中
:r /path/to/somefile
跟shell交互
:! COMMAND
高级话题
1、显示或取消显示行号
:set number
:set nu
:set nonu
2、显示忽略或区分字符大小写
:set ignorecase
:set ic
:set noignorecase
:set noic
3、设定自动缩进
:set autoindent
:set ai
:set noai
4、查找到的文本高亮显示或取消
:set hlsearch
:set nohlsearch
5、语法高亮
:syntax on
:syntax off
配置文件
/etc/vimrc
~/.vimrc
Vim编辑器基础的更多相关文章
- Vim编辑器基础命令
Linux系统中都默认安装了vi或vim编辑器,两种命令基本一致.vim为Vi IMproved,功能更强大. vim有命令模式,输入模式,和末行模式三种. ➢ 命令模式:控制光标移动,可对文本进行复 ...
- 『学了就忘』vim编辑器基础 — 94、vim编辑器介绍
目录 1.vim编辑器简介 2.vim的工作模式 (1)命令模式 (2)输入模式 (3)最后行模式(末行模式) 1.vim编辑器简介 vim是一个全屏幕纯文本(绘个表格或者插个图片就不要想了)编辑器, ...
- 『学了就忘』vim编辑器基础 — 95、命令模式中的相关命令
目录 1.移动光标操作 2.删除或剪切操作 3.复制操作 4.撤销操作 5.替换操作 6.补充一个知识点 命令模式中的命令主要取代的是Linux系统中鼠标的操作. vim编辑器的快捷键一般都集中在命令 ...
- 『学了就忘』vim编辑器基础 — 96、末行模式中的相关命令
目录 1.在文档中显示行号 2.是否显示文档内容相关颜色 3.是否将查找的字符串高亮显示 4.是否显示右下角的状态栏 5.是否在左下角显示如"--INSERT--"之类的状态栏 6 ...
- 『学了就忘』vim编辑器基础 — 97、vim使用技巧
目录 1.在vim中导入其他文件内容或命令结果 (1)导入其他文件内容 (2)在vim中执行系统命令 (3)导入命令结果 2.设定快捷键 3.字符替换 4.多文件打开 vim使用技巧,就是vim编辑器 ...
- linux基础之vim编辑器
vi : Visual Interface vim : VI Improved : VI的基础加上一些有用的插件 vim编辑器: 文本编辑器, 字处理器, 全屏编辑器, 模式化编辑器 vim的模式有三 ...
- 零基础学习Vim编辑器
**********************************************************************0.这篇教程的简介:Vim是Linux/Unix下的经典编辑 ...
- 2019-9-11:渗透测试,基础学习,vim编辑器,笔记
Linux快捷路径符号说明. 代表当前目录.. 上级目录- 代表前一个工作目录~ 表示当前用户的家目录 vmware tools 用来虚拟机和宿主机之间移动数据 vim/vi编辑器vim编辑器三种模式 ...
- Linux笔记:使用Vim编辑器
Vi编辑器是Unix系统上早先的编辑器,在GNU项目将Vi编辑器移植到开源世界时,他们决定对其作一些改进. 于它不再是以前Unix中的那个原始的Vi编辑器了,开发人员也就将它重命名为Vi improv ...
随机推荐
- 1.检索数据 ---SQL
相关提示: 结束SQL语句 多条SQL语句必须以分号(:)分隔.多数DBMS不需要在单条SQL语句后加分号,但也有DBMS可能必须在单条SQL语句后加上分号.当然,如果愿意可以总是加上分号.事实上,即 ...
- missfresh问题记录
一.基本信息 1.登陆机器 ssh lina02@mjump.missfresh.net -p2222 二.问题 1.分页问题:job_id为空时能查询出来(笛卡尔乘积),需要加上AND res ...
- ms sqlserver 登录失败 错误:4064
无法打开用户默认数据库.登录失败.用户‘sa’登录失败.(Microsoft SQL Server, 错误:4064) 解决方法:解决方法:先用windows身份验证的方式登录进去,然后在 安全性=& ...
- Ubuntu下安装nginx及使用
首先介绍以下nginx.下图来自百科介绍:详细介绍地址:https://baike.baidu.com/item/nginx/3817705?fr=aladdin 在我们平时的开发娱乐中,也许并不会涉 ...
- 项目打包发布到tomcat中,中文出现乱码
先吐槽一下,花了我3个小时,心累 本地运行正常,发布时maven插件里要加utf-8编码 https://blog.csdn.net/testcs_dn/article/details/4558379 ...
- 《javascript设计模式》笔记之第八章:桥接模式
个人理解:桥接模式就是更进一步地封装已有api,通过这个封装连接你的输入和底层api(初步理解,以后加深理解有不同体会之后可能要修改) 一:示例:事件监听器 下面这个示例就演示了通过一座桥(也就是一个 ...
- 译:Java 中的正则表达式性能概述
原文链接:https://www.baeldung.com/java-regex-performance 作者: baeldung 译者:Darren Luo 1. 概述 在本快速教程中,我们将展示模 ...
- C#中的XML文档注释-推荐的文档注释标记
文档注释是为了方便自己和他人更好地理解代码所实现的功能.下面记录了一些常用的文档注释标记: <C> 用法: <c>text</c> 将说明中的文本标记为代码.例如: ...
- Quartz.NET基础入门
Quartz.NET是一个开源的作业调度框架,非常适合在平时的工作中,定时轮询数据库同步,定时邮件通知,定时处理数据等. Quartz.NET允许开发人员根据时间间隔(或天)来调度作业.它实现了作业和 ...
- Kendo DataSource 概述
Kendo DataSource 概述 Kendo 的数据源支持本地数据源( JavaScript 对象数组),或者远程数据源(XML, JSON, JSONP),支持 CRUD 操作(创建,读取,更 ...