历史评价

  • 编辑器之神

一个凡人的自我修养

  • 成神是不可能成神的,只能是先入个门,然后一点一点学

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 凡人操作的更多相关文章

  1. [Vim] 03 凡人进阶

    目录 0. 前言 1. 按下 Esc, 进入编辑模式 (1) 定位 (2) 删除 1) 不进入插入模式的删除 2) 进入插入模式的删除 3. 10 个特殊字符 4. 在 gVim 下执行命令 (1) ...

  2. vim 模式基础操作

    作者:枫雪庭 出处:http://www.cnblogs.com/FengXueTing-px/ 欢迎转载 前言 虽然Emacs已经可以完成大部分的编辑操作,但有时候为了方便也会用到vim.所以记录了 ...

  3. (转)vim(vi)常用操作及记忆方法

    vim(vi)常用操作及记忆方法 原文:https://www.cnblogs.com/doseoer/p/6241443.html vi(vim)可以说是linux中用得最多的工具了,不管你配置服务 ...

  4. 搞定vim的窗口操作

    最近在给学生演示数据结构代码时,发现用一般的方法总会有不方便,如果使用ide又觉得太浪费了,后来觉得用vim就够了,使用buffer总会需要页面调来跳出,学生看起来容易迷糊.所以就研究了下vim的窗口 ...

  5. vim(vi)常用操作及记忆方法

    vi(vim)可以说是linux中用得最多的工具了,不管你配置服务也好,写脚本也好,总会用到它.但是,vim作为一个“纯字符”模式下的工具,它的操作和WINDOWS中的文本编辑工具相比多少有些复杂.这 ...

  6. VIM的一些操作小技巧

    vim的设计理念是:组合. 命令的组合,模式的组合,     普通模式 左: h 上:k 下:j 右 : l   i : 当前光标处插入 I: 到光标所在行的行首进入插入模式 a: 在当前光标的后一位 ...

  7. 超级编辑器--VIM的常见操作

    如下,都是我常用的 删除单词:  d + w 关闭vim窗口:   :q   或者 shift + zz 全部向左移: shift + v  --->  shift + <   ---&g ...

  8. Vimrc配置以及Vim的常用操作

    """"""""""""""""&quo ...

  9. vim下高级操作以及文本替换命令

    关于vim的一些基本和高级的操作 可参考下面的链接. http://coolshell.cn/articles/5426.html 在使用vim编辑文本的时候涉及到批量替换文本内容 :s/vivian ...

随机推荐

  1. IM 云通信

    在项目开发中遇到的问题: 在项目中所有的id都必须为字符串类型

  2. jvm——NIO

    https://blog.csdn.net/Evankaka/article/details/48464013 https://www.cnblogs.com/aspirant/p/9166944.h ...

  3. Vue.js 动态为img的src赋值

    在vue中动态给src赋值绑定图片会显示不出来 动态添加src被当做静态资源处理了,没有进行编译 解决方法: 1.用网络地址 把图片放在cdn或自己的服务器上,把网络地址存在imgUrl里,然后直接& ...

  4. Comet OJ - Contest #12 D

    题目描述 求(x,y)的对数满足x∈[0,a],y∈[0,b],x⊕y=0且|x-y|<=m 题解 一种比较sb的做法是考虑x-y的借位,根据借位以及差值进行转移 还有一种比较正常的做法,假设一 ...

  5. win10 搜索框输入没提示

    1.点击win, 手动在应用里找到Cortana(小娜) 2. 点右键->更多->应用设置,进入到下面的界面 3. 下拉到最下面,找到“重置”即可

  6. 数据:ContentResolver类

    ContentResolver是通过URI来查询ContentProvider中提供的数据.除了URI以 外,还必须知道需要获取的数据段的名称,以及此数据段的数据类型.   如果你需要获取一个特定的记 ...

  7. PID221 / 烦人的幻灯片☆ x

    超详细解释!我都被我自己惊呆了! (这个题目意思我缓冲了很久!一定要读懂题!否则做不出来) 题目不懂就多读呀~ 提交你的代码 查看讨论和题解 题目描述 李教授于今天下午做一个非常重要的演讲.不幸的是他 ...

  8. 【Python】学习笔记七:函数

    函数的目的:重复使用相同的一段程序 函数的定义 下面是我自定义的一个求a,b,c三个参数平方和的函数 #a,b,c三个参数的平方和 def pow_sum(a,b,c): x = pow(a,2)+p ...

  9. Kylin CDH安装

    Kylin安装 从官网下载 apache-kylin-2.0.0-bin-cdh57.tar.gz 放到每台需要安装kylin 服务的机器 [hadoop@hadoop3 cdh5.12.0]$ su ...

  10. redis的安装及使用总结

    Windows版本的安装 下载地址:https://www.jb51.net/softs/541181.html 安装过程 把压缩包内的文件解压到非中文目录即可 启动redis 启动redis要通过命 ...