VIM - 标准模式下简单操作
1. 概述
- 标准模式下, 简单操作
- 移动
- 删除
- 复制粘贴
- 收益
- 熟练后, 编辑文本基本不需要鼠标操作了
- 思路
- 只讲最基本的, 避免初学时的混淆
- 把基本操作归类了, 方便理解
2. 准备
- 一篇篇幅较长的文档
- 推荐 /etc/profile
- 退出时不保存即可
- 模式
- 标准模式
<num>- 表示参数是 数字
- 最好是 标准键盘区 的数字
- 案件说明
,- a, b 表示先按 a, 再按 b, 当然间隔不要太长
+- a + b 表示 同时按 a 和 b
2. 操作
1. 移动
1. 左右移动
概述
- 在一行内做 左右移动
基本移动
概述
- 左右移动
- 操作一次, 光标移动 一个单位
操作
- 左移: h
- 右移: l
疑问
- 我一次移动一个, 会不会有点慢啊
- 有更好的办法吗?
进阶移动
概述
- 一次左右移动多个单位
方式
- 以 单词 为单位的移动
- 以 长度 为单位的移动
- 直接跳转到 行首 或者 行尾
- 这些名字都好别扭, 啥时候能有个简单好记的名字
以 单词 为单位的移动
- 操作
- 左移, 定位到单词首字母: b
- 右移, 定位到单词首字母: w
- 定位到当前单词的尾字母: e
- 之前觉得没啥用, 现在发现真是的是一个不错的技能
- 这个操作, 会自动换到别的行
- 操作
以 长度 为单位的移动
- 操作
- 左移
<num>个字符:<num>, h - 右移
<num>个字符:<num>, l
- 左移
- 操作
直接跳转到 行首 或者 行尾
- 操作
- 跳转到行首: shift + 6;
- 也就是: ^
- 这里的行首, 指的是第一个 非空 字符
- 还是跳转到 行首: 0
- 这里的行首, 指的是 第一个字符, 包括了 空格 以及 tab
- 跳转到行尾: shift + 4
- 也就是: $
- 这些操作, 熟悉正则的同学基本没啥问题
- 跳转到行首: shift + 6;
- 操作
行内查找
- 操作
- 向右查找
- f,
- 如果有 多个匹配字符, 按 ; 跳转到 下一个
- 向前查找
- F,
- 如果有 多个匹配字符, 按 ; 跳转到 上一个
- 向右查找
- 操作
疑问
- 我只能左右动不能上下动
- 这个编辑起文本来, 不也很麻烦?
- 我只能左右动不能上下动
2. 上下移动
概述
- 上下移动文本
基本移动
概述
- 上下移动, 一次只移动 一行
操作
- 上移: k
- 下移: j
疑问
- 一次动一行, 还不如鼠标或者滚动条呢
- 别急, 你能想到的, VIM 的作者, 也能想到
- 一次动一行, 还不如鼠标或者滚动条呢
进阶移动
概述
- 上下移动多行
方式
- 以 行数 为单位移动
- 直接跳转文件开头结尾
- 移动到 指定行
- 跳转屏幕内行首行尾
- 其他跳转
- 名字我也没想好, 感觉不太好记
以 行数 为单位
- 操作
- 上移
<num>行:<num>, k - 下移
<num>行:<num>, j
- 上移
- 怎么样, 这个思路, 是不是似曾相识
- 操作
直接跳转文件开头结尾
- 操作
- 跳转到开头: g, g
- 你没看错, 就是 gg 思密达
- 跳转到结尾: shift + g
- 也就是 G
- 跳转到开头: g, g
- 操作
跳转到指定行
- 准备
打开行指示器
# 进入 命令模式
: set nu
操作
- 跳转到 行号为
<num>的行:<num>, g
- 跳转到 行号为
- 准备
跳转到屏幕内 行首 或者 行尾
- 操作
- 跳转到屏幕内行首: shift + h
- 也就是 H
- 跳转到屏幕内行尾: shift + l
2. 也就是 L - h 和 l 你俩不是管左右的吗, 怎么叛变了呢?
- 跳转到屏幕内行首: shift + h
- 操作
其他跳转
概述
- 其他跳转我理解的不够深入, 就不细说
- 大体上也是翻屏幕的
- 自己用用, 就能找到感觉
操作
- 上移一段距离: ctrl + u
- u = up
- 上移一屏: ctrl + b
- b = back
- 下移一段距离: ctrl + d
- d = down
- 下移一屏: ctrl + f
- f = forward
- 上移一段距离: ctrl + u
编辑位置移动
概述
- 在编辑过的位置之间跳转
场景
- 偶尔需要返回 上次编辑 的位置查看
- 看完了, 可能需要返回 继续编辑
操作
返回上次编辑的位置: ctrl + o
返回下次编辑的位置: ctrl + i
2. 删除
1. 行内删除
概述
- 行内的删除
基本删除
概述
- 删除的基本操作
- 一次只删除一个字符
操作
- 删除光标右边字符: x
- 删除光标左边字符: shift + x
- 也就是 X
疑问
- 我一次删一个, 删完得删到什么时候
- 还不如鼠标来的快
- 没关系, 还有补充道
- 我一次删一个, 删完得删到什么时候
进阶删除
概述
- 删除多个字符
- 删除光标到 行首 / 行尾
删除多个字符
- 操作
- 删除光标右边
<num>个字符:<num>, x - 删除光标左边
<num>个字符:<num>, shift + x
- 删除光标右边
- 操作
删除到 行首 / 行尾
- 操作
- 删除到行首: x, shift + 6
- 也就是: x, ^
- 删除到行尾: x, shift + 4
- 也就是: x, $
- 删除到行首: x, shift + 6
- 操作
疑问
- 我一次删一行, 也得删好久
- 别急, 后面还有解决方案
- 我一次删一行, 也得删好久
2. 行级删除
概述
- 行级别的删除
- 所有的删除, 都包含光标所在的行
删除一行
- 操作
- 删除一行, 且 不留空行: d, d
- 后面的行, 会顶上来
- 删除一行, 且 留下空行: shift + d
- 也就是 D
- 原行位置, 会变为 空行
- 删除一行, 且 不留空行: d, d
- 操作
删除多行
操作
- 删除光标下的
<num>行: d,<num>, d- 总共删除 num 行
- 删除光标下的
其他操作
- 这块操作有能力的同学可以掌握
- 个人感觉有点别扭, 但是能用
- 删除 光标所在行 上方
<num>行 : d,<num>, k - 删除 光标所在行 下方
<num>行 : d,<num>, j - 总共删除了 num + 1 行
- 相当于确定了删除的边界
- 并且连边界也一并删除
- 而且删除后, 也不留空行
- 删除 光标所在行 上方
删除到 开头 / 结尾
- 操作
- 删除到开头: d, g, g
- 删除到结尾: d, shift + g
- 操作
3. 复制粘贴
- 概述
- 复制与粘贴的操作
1. 复制
概述
- 这里只讲整行的复制
- 复制行内内容, 需要到 v 模式下
- 复制内容包含光标所在行
复制一行
- 操作
- 复制一行: y, y
- 操作
复制多行
- 操作
- 复制
<num>行: y,<num>, y
- 复制
- 操作
2. 粘贴
概述
- 有复制, 怎么能没粘贴
粘贴一次
- 操作
- 粘贴到 光标所在行下: p
- 粘贴到 光标所在行上: shift + p
- 也就是 P
- 操作
粘贴多次
- 操作
- 粘贴到 光标所在行下
<num>次:<num>, p - 粘贴到 光标所在行上
<num>次:<num>, shift + p
- 粘贴到 光标所在行下
- 操作
3. 剪切
- 概述
- 什么, 你问我如果想剪切怎么办
- 这确实是个值得思考的问题
- 其实, 之前的 d,d 删除命令, 就是剪切
- 删除的内容, 可以通过粘贴命令, 粘贴出来
- 和 y 命令公用剪贴板
- 什么, 你问我如果想剪切怎么办
3. 其他
- 感觉写的东西虽然乱, 但其实不少
- 思路没有之前清晰
- 本来还想写 标准模式 到 插入模式 的切换
- 感觉写的有点多, 就算了
- 这个内容, 以后再讲吧
- 这些东西讲完, VIM 的常规操作, 就剩个 命令模式搜索, 以及 多窗口应用 了
- 再讲自己就没东西了
- 得补
VIM - 标准模式下简单操作的更多相关文章
- vim介绍/vim颜色显示和移动光标/ vim一般模式下移动光标/ vim一般模式下复制、剪切和粘贴
5.1 vim介绍 5.2 vim颜色显示和移动光标 5.3 vim一般模式下移动光标 5.4 vim一般模式下复制.剪切和粘贴 vim 是vi的升级版本 vim 带有颜色显示 安装vim : y ...
- vim normal 模式下L键
vim normal 模式下L键总是到一行的最后一个字符,而不是最后一个字符的下一个字符,这样进入插入模式,就还得往右移动一下,就很费劲? 怎么解决 更新: a键进入插入即可
- 【HTML&CSS】 第二章:标准模式下的页面与怪异模式下的页面区别
盒模型 前面提到,盒模型(box mode)是浏览器 Quirks Mode 和 Standards Mode 的主要区别. 描述 对于“盒模型”一词并没有明确的文档定义,它是开发人员描述 CSS 中 ...
- Linux中在vim/vi模式下对文本的查找和替换
查找: 1.vim filename 进入一般模式下 2.查找和替换方法 /word 向下查找word 的字符串 例如 /chengtingting 向下查找字符chengtingt ...
- Linux centosVMware Vim介绍、vim颜色显示和移动光标、vim一般模式下移动光标、vim一般模式下复制、剪切和粘贴
一.Vim介绍 vim 是一款功能强大的文本编辑器,是vi的升级版,带有颜色显示, 默认有三种模式:一般模式, 命令模式, 编辑模式 安装Vim [root@davery ~]# vim /et ...
- 解决Vim插入模式下backspace按键无法删除字符的问题【转】
本文转载自:https://blog.csdn.net/zxy987872674/article/details/64124959 最近使用某个服务器编辑文件时,快捷键i进入插入模式后,下方不出现in ...
- Python+Selenium学习笔记5 - python官网的tutorial - 交互模式下的操作
这篇笔记主要是从Python官网的Tutorial上截取下来,再加上个人理解 1. 在交互模式下,下划线'_'还可以表示上一步的计算结果 2.引号转义问题. 从下图总结的规律是,字符串里的引号如果和引 ...
- linux命令-vim一般模式下光标移动
vim 有一般模式,编辑模式,命令模式 ///////一般模式可以光标移动,复制,剪切,粘贴 编辑模式可以输入想输入的字符 命令模式刚才用到了set nu //////////// ...
- MySQL学习笔记(cmd模式下的操作)
1.登入MySQL 1.1 登入MySQL 1.1.1命令如下: C:\Users\zjw>mysql -hlocalhost -uroot -p Enter password: ****** ...
随机推荐
- August 25th 2017 Week 34th Friday
Stop to have a rest, do not forget others still in the running. 停下来休息的时候,不要忘记别人还在奔跑. You don't need ...
- Spring的IoC与AOP的理解
1.Spring它到底是什么? Spring是一个开源的Java应用程序开发框架,为了解决企业应用开发的复杂性而创建的. 在spring中,它会认为一切Java类都是资源,而资源就是Bean,容纳 ...
- [T-ARA][Cry Cry]
歌词来源: Cry Cry:http://music.163.com/#/song?id=22704434 Cry Cry (Ballad Ver.):http://music.163.com/#/s ...
- java多态抽象类实例
编写一个Soldier类,描述具有普遍行为和属性的一个士兵对象. 编写陆军士兵.海军士兵.军官类来扩展Soldier类. 设计Soldier类的相关属性和方法. 建模几个陆军士兵.海军士兵.军官类来继 ...
- java抽象继承-模板方法
//模板方法:步骤提前设计好,用的时候只需要改步骤内容 public class TemplateDemo { public static void main(String[] args) { // ...
- Java虚拟机6:垃圾收集(GC)-1(内存溢出和内存泄漏的区别)
1.前言 在进行垃圾收集之前需要普及几个比较重要的概念. 2.内存溢出和内存泄露的概念和区别: (1):内存溢出(out of memory):是指程序在申请内存时,没有足够的内存空间可以分配,系统不 ...
- IntelliJ IDEA 与Eclipse Link with Editor等价功能设置
Link With Editor是Eclipse内置功能中十分小巧,但却异常实用的一个功能. 这个开关按钮 (Toggle Button) 出现在各式导航器视图 ( 例如 Resource Explo ...
- 随手练——HDU 1237 表达式求值(输入格式典型)
坑了老子半天,结果是 float 范围不够!!! 基本思想: 开一个符号栈,一个数字栈: 碰到数字就入栈,碰到符号就与栈顶符号进行对比,如果当前符号优先级小于栈顶符号,数字栈弹出两个数进行栈顶符号运算 ...
- 8、Web Service-IDEA-jaxws规范下的 spring整合CXF
前提:开发和之前eclipse的开发有很大的不同! 1.服务端的实现 1.新建项目 此时创建的是web项目 2.此时创建的项目是不完整的需要开发人员手动补充完整 3.对文件夹的设置(满满的软件使用方法 ...
- [iOS]UIDynamicAnimator动画
创建动画 UIDynamicAnimator *animator = [[UIDynamicAnimator alloc] initWithReferenceView:self.view]; 协议代理 ...