[Vim] 01 凡人操作
历史评价
- 编辑器之神
一个凡人的自我修养
- 成神是不可能成神的,只能是先入个门,然后一点一点学
Vim 官网
三种模式
插入模式(注意看光标)

命令模式(注意看光标)

编辑模式(注意看光标)

其实还有一种“可视 块”模式,按 Ctrl + v 实现
插入命令(从 编辑模式 进入 命令模式)
| 命令 | 释义 |
|---|---|
| a | 由粗光标所笼罩的字符后插入 |
| A | 由粗光标所在行的行尾插入 |
| i | (小写字母)由粗光标所笼罩的字符前插入 |
| I | (大写字母)由粗光标所在行的行首插入 |
| o | (小写字母)紧贴粗光标之下插入新行 |
| O | (大写字母)紧贴粗光标之上插入新行 |
定位命令(在编辑模式“游走”)
| 命令 | 释义 |
|---|---|
| h | 同方向键“左” |
| j | 同方向键“下” |
| k | (小写)同方向键“上” |
| l | (小写)同方向键“右” |
| 0 | (数字)将粗光标移至其所在行行首 |
| $ | 将粗光标移至其所在行行尾 |
| gg | 将粗光标移至当前文本的第一行行首 |
| G | 将粗光标移至当前文本的最后一行行首 |
| nG | 1 n 是虚指,实际用时由具体数字代替 2 将粗光标移至当前文本的第 n 行行首 |
| :n | 1 n 是虚指,实际用时由具体数字代替 2 作用与 nG 相同,将粗光标移至当前文本的第 n 行行首 3 n 前的冒号会将模式切到命令模式,按回车键即可完成动作且能自动切回编辑模式 |
- 如果没有配置 Vim,但想显示行号,可以用以下命令显示或取消行号
| 命令 | 释义 |
|---|---|
| :set number | 设置行号 |
| :set nu | 同上,设置行号 |
| :set nonu | 取消行号 |
删除命令(在编辑模式下“扫荡”)
| 命令 | 释义 |
|---|---|
| x | (小写)删除粗光标所笼罩的字符 |
| nx | 1 n 是虚指,实际用时由具体数字代替 2 从粗光标所笼罩的字符开始往后删,共删 n 个 |
| D | 对粗光标所在行而言,删除粗光标所笼罩处及其后所有内容 |
| dd | 删除粗光标所在行 |
| ndd | 1 n 是虚指,实际用时由具体数字代替 2 从粗光标所在行开始往下删,共删 n 行 |
| :n1,n2d | 1 n1,n2 是虚指,实际用时由 2 个具体数字代替 2 删除指定的相连的多行 |
后悔药 与 逆后悔药
| 药名 | 键位 | 释义 |
|---|---|---|
| 后悔药 | u | (小写)撤销 |
| 逆后悔药 | Ctrl + r | (先按住 Ctrl 再按 r)恢复撤销 |
复制 与 粘贴
| 命令 | 释义 |
|---|---|
| yy | 复制当前行 |
| nyy | 从当前行开始往下数,共 n 行,复制下来 |
| p | (小写)紧贴粗光标所在行之下粘贴 |
| P | (大写)紧贴粗光标所在行之上粘贴 |
替换
| 命令 | 释义 |
|---|---|
| r | 取代粗光标所笼罩的字符 |
| R | 从粗光标所笼罩的字符开始,往后替换字符,按 ESC 结束 |
搜索 与 搜索替换(命令模式就是有一种大局观)
| 命令 | 释义 |
|---|---|
| /String | 1 String 是虚指,实际用时由具体字符串代替 2 若要搜索时忽略大小写,添加命令 :set ic 3 搜索出多个,按 n 跳至下一处 |
| :s/old/new | 1 old 和 new 是虚指,实际用时由具体字符串代替 2 将粗光标所在行第一个 old 替换成 new |
| :s/old/new/g | 1 old 和 new 同上 2 将粗光标所在行所有的 old 替换成 new |
| :%s/old/new/g | 1 old 和 new 同上 2 将当前文本所有的 old 替换成 new |
| :n1,n2s/old/new/g | 1 n1, n2 是虚指,实际用时由具体数字代替,old 和 new 同上 2 将当前文本的第 n1 行到 n2 行的 old 替换成 new |
| :n1,n2s/old/new/gc (挖个坑,日后补充,编号 V01-1) |
1 在上一条基础上,每替换一个都要确认 2 有命令 y/n/a/q/l 分别代表 确认/跳过/之后的全部/取消/换一个就结束 |
保存 与 退出
| 命令 | 释义 |
|---|---|
| :w | (小写,下同)保存 |
| :w new_file_name | 1 new_file_name 是虚指,实际用时由具体文件名代替 2 此步为另存为指定文件 |
| :wq | 保存并退出 |
| ZZ | (大写)快捷键,功能同上,保存并退出 |
| :q! | 不保存退出 |
| :wq! | (文件所有者 或 root 专属)(强行)保存并退出 |
一些补充
| 命令 | 释义 |
|---|---|
| :! 命令 | 1 “命令”是虚指,实际用时由具体命令名代替 2 导入该命令执行结果 3 详情请见 [Vim] 03 凡人进阶 |
| :r 命令 | 1 “命令”是虚指,实际用时由具体命令名代替 2 导入该命令执行结果 3 详情请见 [Vim] 03 凡人进阶 |
| :n1,n2s/^/#/g | ^ 表示行首,多行行首加 # |
| :n1,n2s/^#//g | 与上面比,g 前多一个 /,多行行首去 # |
| :n1,n2s/^/\/\/g | 多行行首加 // (挖个坑,日后补充,编号 V01-2) |
| :map 快捷键 触发命令 | 挖个坑,日后补充,编号 V01-3 |
致谢
- 几年前的某个暑假,邂逅“兄弟连”的“Linux 公开课”
- 虽然不是计算机专业,我当时还是听了课,做了笔记。这几天翻出了当时的笔记,整理了这篇随笔
- 在此感谢“兄弟连”的李明老师和沈超老师
- 暂时没找到当时的课程,先附上官网:“兄弟连”官网
[Vim] 01 凡人操作的更多相关文章
- [Vim] 03 凡人进阶
目录 0. 前言 1. 按下 Esc, 进入编辑模式 (1) 定位 (2) 删除 1) 不进入插入模式的删除 2) 进入插入模式的删除 3. 10 个特殊字符 4. 在 gVim 下执行命令 (1) ...
- vim 模式基础操作
作者:枫雪庭 出处:http://www.cnblogs.com/FengXueTing-px/ 欢迎转载 前言 虽然Emacs已经可以完成大部分的编辑操作,但有时候为了方便也会用到vim.所以记录了 ...
- (转)vim(vi)常用操作及记忆方法
vim(vi)常用操作及记忆方法 原文:https://www.cnblogs.com/doseoer/p/6241443.html vi(vim)可以说是linux中用得最多的工具了,不管你配置服务 ...
- 搞定vim的窗口操作
最近在给学生演示数据结构代码时,发现用一般的方法总会有不方便,如果使用ide又觉得太浪费了,后来觉得用vim就够了,使用buffer总会需要页面调来跳出,学生看起来容易迷糊.所以就研究了下vim的窗口 ...
- vim(vi)常用操作及记忆方法
vi(vim)可以说是linux中用得最多的工具了,不管你配置服务也好,写脚本也好,总会用到它.但是,vim作为一个“纯字符”模式下的工具,它的操作和WINDOWS中的文本编辑工具相比多少有些复杂.这 ...
- VIM的一些操作小技巧
vim的设计理念是:组合. 命令的组合,模式的组合, 普通模式 左: h 上:k 下:j 右 : l i : 当前光标处插入 I: 到光标所在行的行首进入插入模式 a: 在当前光标的后一位 ...
- 超级编辑器--VIM的常见操作
如下,都是我常用的 删除单词: d + w 关闭vim窗口: :q 或者 shift + zz 全部向左移: shift + v ---> shift + < ---&g ...
- Vimrc配置以及Vim的常用操作
""""""""""""""""&quo ...
- vim下高级操作以及文本替换命令
关于vim的一些基本和高级的操作 可参考下面的链接. http://coolshell.cn/articles/5426.html 在使用vim编辑文本的时候涉及到批量替换文本内容 :s/vivian ...
随机推荐
- DevExpress WinForms v19.1新版亮点:Spreadsheet/Sunburst控件功能增强
行业领先的.NET界面控件DevExpress v19.1终于正式发布,本站将以连载的形式介绍各版本新增内容.在本系列文章中将为大家介绍DevExpress WinForms v19.1中新增的一些控 ...
- ELF程序头部及程序加载
程序头部 程序头部描述与程序执行直接相关的目标文件结构信息.用来在文件中定位各个段的映像.同时包含其他一些用来为程序创建进程映像所必需的信息. 可执行文件或者共享目标文件的程序头部是一个结构数组,每个 ...
- day2计算机基础作业题
1.什么是编程? 编程就是程序员用某种编程语言的语法格式将将自己脑中想让计算机做的事情写成文件.所以编程的结果就是一堆的文件,一堆文件就是的程序. 2.计算机的组成: 1).CPU 其中CPU又分为控 ...
- 阿里云移动研发平台 EMAS 助力银行业打造测试中台,提升发版效能
随着移动互联网的发展,手机银行凭借低成本.操作简单.不受时间空间约束等优势,正逐步替代传统的网银交易方式.越来越多的银行开始了“业务移动化”转型之路,“手机APP”已经成为企业价值传递和关系维护的关键 ...
- zabbix 磁盘自动发现脚本
##需要在zabbix界面配置宏变量===>正则来匹配磁盘 disk_discovery.sh ———————————————————————————————————————————————— ...
- 字典,set
字典 dict全称dictionary,在其他语言中也称为map,使用键-值(key-value)存储,具有极快的查找速度 存取速度快 key-value存储方式,在放进去的时候,必须根据key算出v ...
- Python与CSV文件(CSV模块)
Python与CSV文件(CSV模块) 1.CSV文件 CSV(逗号分隔值)格式是电子表格和数据库最常用的导入和导出格式.没有“CSV标准”,因此格式由许多读写的应用程序在操作上定义.缺乏标准意味 ...
- 3D Computer Grapihcs Using OpenGL - 15 Draw Element Instanced
友情提示:继续本节之前,需要保存此前的代码,本节为了试验,会对代码做一些修改,但后续的修改需要我们把代码返回之前的进度. OpenGL内置支持Instancing,有专门的函数来处理这件事情. 为了方 ...
- Oracle-分配用户只读存储过程权限
系统新来了系统运维人员,要求创建数据库账号,只分配对表,视图,存储程序有只读权限 因为表和视图权限接触比较频繁,所以今天花点时间整理下关于存储过程的权限 关于ORACLE账号的权限问题,一般分为两种权 ...
- [LeetCode]-algorithms-String to Integer (atoi)
Implement atoi to convert a string to an integer. Hint: Carefully consider all possible input cases. ...