小白向:Linux vim编辑器(一)
简介:
vim编辑器是Linux/Unix系统下的标准编辑器,是Linux系统中不可或缺的编辑工具,同时也是vi编辑器的升级版。在使用Mac系统终端功能时也会涉及vim编辑器的运用。
大部分Linux系统自带vi编辑器,如需自行安装vim,指令如下:
sudo apt install vim
Mac系统自带vim编辑器,也可以使用brew安装:
brew install vim
终端输入vim+文件路径或文件名即可新建或打开vim文件。
vim的三种模式:
vim通常有三种模式:一般模式,插入模式,末行模式。本篇介绍一般模式下的常用操作。
一般模式:
一般模式也称普通模式或命令行模式。不管叫什么,进入vim文件后默认看到的就是该模式。在这里可以使用上下左右键移动光标,进行删除、复制等操作处理文件数据,但无法自由插入数据。
初学者们不要被这个遍地~符号,看似按啥都没反应的界面吓到,其实它有着自己独特的指令操作方式。
(注:创建空文件后可按【i】进入INSERT模式进行自由输入,方便练习,输入完成后按【ESC】退出INSERT模式回到一般模式)
复制粘贴:
1、按字符:
一般模式下输入字符【v】(小写)进入VISUAL按字符选择模式,通过【h、j、k、l】或方向键移动光标选择要进行复制的字符串,选定后按y复制,移动到目标处按p粘贴,h,j,k,l 分别用于光标左移,下移,上移,右移;
2、按行:
一般模式下输入字符【V】(大写)进入VISUAL LINE按行选择模式,选择要进行复制的行,按y复制,按p粘贴;
3、按块:
一般模式下输入字符【ctrl+v】(大写)进入VISUAL BLOCK按块选择模式,选择要进行复制的块范围,按y复制,按p粘贴;
移动光标
G :将光标移至最后一行行首
nG :将光标移至第n行行首
gg:移动到文件开头,相当于1G
0:光标移到所在行行首
$:光标移到所在行行尾
w或e:下个字开头或结尾
ctrl+b:前一页
ctrl+f:后一页
查找
/:从上往下查找
?:从下往上查找
n:查找下一处
shift*:快速查找当前光标所在的词
修改:
r或R:替换当前光标字符(R则进入REPLACE模式)
J:合并上下两行
>>或<<:缩进或反缩进
删除:
x:删除光标处字符
X:删除光标前的字符
nx:删除光标处开始的n个字符
dd:删除光标所在行
D:从光标开始删至行末
.:重复前一个操作
赶快动手练习一下吧!
- 持续不断地推荐儿童不宜视频背后,YouTube是这样训练AI的
- 人工智能会导致大量失业,你怕吗
- 机器人产业链分析-中国机器人产业的发展机遇和挑战
- 如何与深度学习服务器优雅的交互?
- 比特币大跌又反弹30%,区块链技术与企业级有着怎样的关系?
- 十个实用MySQL函数
- 使用Apprenda和R分析应用程序工作负载数据
- 实现微信朋友圈所有动态点赞的自动化用例
- 后台设计的一些总结
- 2017年区块链当中的黑客大事件
- 5个云安全解决方案的注意事项
- 深入剖析ASP.NET的编译原理之二:预编译(Precompilation)
- 深入剖析ASP.NET的编译原理之二:预编译(Precompilation)
- Nodejs学习笔记(十六)--- Pomelo介绍&入门
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- vue-json-excel导出excle表格
- Dom树 CSS树 渲染树(render树) 规则、原理
- Canvas圆形时钟
- 浅谈 Hooks
- Java进阶训练营 第一周JVM 预习笔记
- LeetCode905. 按奇偶排序数组 题解
- codeforces 1133D (map+精度控制)
- 只要十步,你就可以应用表达式树来优化动态调用
- 宏任务和微任务的一个小事
- 如何使用ES6的新特性async await进行异步处理
- java9-可以在interface中定义私有方法了
- 继承
- ES5新增方法
- django 重写user表 继承 AbstractUser 出现创建用户密码是明文
- Element表单嵌套数据验证