vim被称为是编辑器之神,若是能够学好vim的话,就能够在键盘上 “健指如飞” 了,能够彻底摆脱鼠标来进行文本的定位编辑。 固然,vim还能够进行各类配置,装上各类插件,作成 IDE ,会有很炫酷的感受,并且作为 伟大 的软件工程师,能在键盘上 刷刷刷地,灵活地超控本身的代码也是一种很是值得 自豪的事,因此,我以为,掌握 vim 是作为一个计算机方向专业的人的基础课程,颇有必要去接触一下 vim 这个“编辑器之神”。 听说vim的学习曲线变化很大,并且对于我这个以前彻底没有接触过的人来讲,彻底不知道应该是怎么入手,网上去查找资料,获得的全是一大堆 彻底看不懂 的命令和各类看起来好屌的 vim的配置和 用vim做为 IDE 的教程,看起来很厉害,但是却不是我想要的,我想要的是,我该怎么去入门这个东西,不须要听那么多复杂的完整的,像是字典同样的命令集合,而是一个能让我开始去使用 vim 的教程,能告诉我,刚开始该怎么去玩它。
下载 gvim 安装,而后windows系统的cmd命令打开gvim,也能够直接打开gvim.exe 创建一个文档:vim test.txt. 好了,算是开启 VIM 了。
1. 普通模式 Vim编辑方式的主要用途是在被编辑的文件中移动光标的位置。 一旦光标移到到所要的位置,就能够进行剪切和粘贴正文块,删除正文和插入新的正文。当完成全部的编辑工做后,须要保存编辑器结果,退出编辑程序回到终端 2. 插入模式 按下 i 就能够进入插入模式,按下 esc 回到编辑模式。 插入模式其实就是想咱们正常使用文本编辑器那样,进行文字,代码的书写,可是光标的移动须要鼠标的辅助。 3. 命令行模式 使用 :进入命令行模式。 4. 可视模式 按下 v 进入可视模式,能够移动光标对文本进行选择。
打开: :e path_to_file/filename 存盘: :w 保存 :q 退出 :wq 保存并退出 wq 后面能够加文件名 :q! 强制退出 删除/复制/粘贴: x 删除当前光标所在的字符 dd 删除当前光标所在的行 yy 复制当前行 nyy 复制n行 p 小写字母 p,将缓冲区的内容粘贴到光标的后面 P 大写字母 P,将缓冲区的内容粘贴到光标的前面 u 撤销
1 上下左右html
h(左) j(下) k(上) l(右)
2 行内移动nginx
w 右移光标到下一个字的开头; e 右移光标到一个字的末尾; b 左移光标到前一个字的开头; 0 数字0,左移光标到本行的开始; $ 右移光标,到本行的末尾; ^ 移动光标,到本行的第一个非空字符。
3 更大范围的移动:正则表达式
* 当光标停留在一个单词上,* 键会在文件内搜索该单词,并跳转到下一处; # 当光标停留在一个单词上,# 在文件内搜索该单词,并跳转到上一处; (/) 移动到 前/后 句 的开始; {/} 跳转到 当前/下一个 段落 的开始。 g_ 到本行最后一个不是 blank 字符的位置。 fa 到下一个为 a 的字符处,你也能够fs到下一个为s的字符。 t, 到逗号前的第一个字符。逗号能够变成其它字符。 3fa 在当前行查找第三个出现的 a。 F/T 和 f 和 t 同样,只不过是相反方向; gg 将光标定位到文件第一行起始位置; G 将光标定位到文件最后一行起始位置; NG或Ngg 将光标定位到第 N 行的起始位置。
4 找到须要的 某一页chrome
: n 将光标移到第 n 行 ctrl+f 在文件中前移一页(至关于 page down); ctrl+b 在文件中后移一页(至关于 page up); H 将光标移到屏幕上的起始行(或最上行); M 将光标移到屏幕中间; L 将光标移到屏幕最后一行。 3L 表示将光标移到屏幕的倒数第3行
好了,到这里能够自个儿玩一阵子了,本身多试试上面的那些指令啊,体验一下脱离鼠标,让指尖游走在键盘上操控光标的成就感吧。vim
Vim中执行搜索匹配最强大的地方是结合 正则表达式 来搜索
固然,文本编辑,怎么可能少了搜索呢。
搜索方法是:键入字符 / ,后面跟以要搜索的字符串,而后按回车键。编辑程序执行正向搜索(即朝文件末尾方向),并在找到指定字符串后,将光标停到该字符串的开头;键入 n 命令能够继续执行搜索,找出这一字符串下次出现的位置。用字符 ? 取代 / ,能够实现反向搜索(朝文件开头方向)。例如:windows
/str1 正向搜索字符串 str1; n 继续搜索,找出 str1 字符串下次出现的位置; N 继续搜索,找出 str1 字符串上一次出现的位置; ?str2 反向搜索字符串 str2 。
Vim常规的删除命令是 d、 x (前者删除 行 ,后者删除 字符 ),结合Vim的其余特性能够实现基础的删除功能。将光标定位于文件内指定位置后,能够用其余字符来替换光标所指向的字符,或从当前光标位置删除一个或多个字符或一行、多行。例如:markdown
d$ 从当前光标起删除字符直到行的结束; d0 从当前光标起删除字符直到行的开始; J 删除本行的回车符(CR),并和下一行合并。
其余命令:编辑器
rc 用 c 替换光标所指向的当前字符; nrc 用 c 替换光标所指向的前 n 个字符; 5rA 用 A 替换光标所指向的前 5 个字符; x 删除光标所指向的当前字符; nx 删除光标所指向的前 n 个字符; 3x 删除光标所指向的前 3 个字符; dw 删除光标右侧的字; ndw 删除光标右侧的 n 个字; 3dw 删除光标右侧的 3 个字; db 删除光标左侧的字; ndb 删除光标左侧的 n 个字; 5db 删除光标左侧的 5 个字; dd 删除光标所在行,并去除空隙; ndd 删除(剪切) n 行内容,并去除空隙; 3dd 删除(剪切) 3 行内容,并去除空隙;