学习目标:在sublime下开启vim模式,了解基本vim的编辑快捷键。


Vim/Vi:

Vim/Vi 是一个文本编辑器,没有菜单,只有命令,适合写前端代码。高效命令行使用vim编辑文本,只需在键盘上操作就可以,根本无需用到鼠标。。

开启vim模式:

在菜单栏中: Preferences -> Setting - User 即可打开配置文件进行编辑,将 ignored_packages 项的[]里面内容清空:"ignored_packages": []

再按 Esc 退出编辑模式,即进入了 Vim 模式。

工作模式:

任意模式下按Esc键进入 命令模式(command mode)——是用来编辑文本,如上下翻页等,复制粘贴,跳转到指定行等操作。

再按a键进入 编辑(插入)模式(insert mode)——是用来编写文本内容的。

光标移动:

用鼠标控制光标的移动,需要在 命令 模式下执行“set mouse=a”或“set mouse=i”命令,单次有效,如果要长久有效,就把命令加到Vim 的配置文件 /etc/vim/vimrc中。

键盘pageup、pagedown键翻页,“Home”键移动光标到行首、“End”键移动光标到行尾,以及下表。

j 向下移动一行;
k 向上移动一行;

h 向左移动一个字符;
l 向右移动一个字符;

ctrl+b  向上移动一屏;
ctrl+f  向下移动一屏;

向上箭头    向上移动;
向下箭头    向下移动;
向左箭头    向左移动;
向右箭头    向右移动;

快速定位

:set nu                设置行号
:set nonu            去想行号

:set nu!                        取消显示行号
gg                        到第一行
G                            到最后一行
nG                        到第n行
:n                        到第n行

查找

f                            想后查找
F                            向前查找

复制粘贴

p 在光标之后粘帖;
shift+p 在光标之前粘帖

关键词补全

“Ctrl+n”将匹配的关键词列表按出现次数的多少排序,而“Ctrl+p”则是将匹配的关键词列表按距离当前单词的远近排序。

文件保存与退出

:w  保存;
:w  filename 另存为filename;
:wq! 保存退出;
:wq! filename 注:以filename为文件名保存后退出;
:q! 不保存退出;
:x 应该是保存并退出 ,功能和:wq!相同

文本删除

x 一个字符;
#x 删除几个字符,#表示数字,比如3x;
dw 删除一个单词;
#dw 删除几个单词,#用数字表示,比如3dw表示删除三个单词;
dd 删除一行;
#dd 删除多个行,#代表数字,比如3dd 表示删除光标行及光标的下两行;
d$ 删除光标到行尾的内容;

J 清除光标所处的行与上一行之间的空格,把光标行和上一行接在一起;

那么多快捷键,真是神烦啊!我不想学!!——有这样想法的可以看扩展阅读↓。

(参考Vim编辑模式 【个人总结】我个人精心收集的必须熟悉的vim快捷键操作 vi/vim命令模式和编辑模式各种操作

(扩展阅读简明 Vim 练级攻略

【前端学习】sublime开启vim模式的更多相关文章

  1. sublime开启vim模式

    sublime自带vim模式Vintage,只是默认是ignore状态,因此如果按Esc键没有进入vim模式,只需要按ctrl+shift+P进入命令模式,键入Enable package,输入Vim ...

  2. Web 前端如何一键开启上帝模式

    Web 前端如何一键开启上帝模式 God Mode document.designMode = `on`; refs https://www.cnblogs.com/xgqfrms/tag/desig ...

  3. 在 Sublime Text 2 下开启 Vim 模式

    緣由 由於在 Sublime Text 2 下操作時會想起 Vim 下的鍵盤操作.一時興起在網絡上找了下,發現 Sublime Text 2 是支持類似 Vim 的鍵盤操作的.在此分享下配置過程. 打 ...

  4. Mac下Sublime Text Vim模式 方向键无法长按

    在Mac终端输入(不是sublime text里的console),分别对应ST2.ST3: defaults ApplePressAndHoldEnabled -bool false default ...

  5. sublime模式下开启vim并修改esc

    首先我用的是sublime text2 sublime下开启vim模式: 在Preference -> Setting-User里面加上 "ignored_packages" ...

  6. Sublime Text 3 插件安装及Vim 模式设置

    1.安装Sublime Text 3  下载安装:http://www.sublimetext.com/3 Package Control安装:https://sublime.wbond.net/in ...

  7. Sublime Text 3配置与vim模式(待完整)

    Sublime Text 3通过设置默认值与用户值的方式,来进行配置.默认值不允许更改,用户值是用户进行配置.同一属性,当用户值存在时,默认值就无效.打开Preference,如图: 先贴下我的Set ...

  8. Sublime 下配置vim模式 + VintageEx-master下载地址

       VintageEx-master下载地址: 官方地址:https://github.com/SublimeText/VintageEx 百度云链接: http://pan.baidu.com/s ...

  9. vue—你必须知道的 js数据类型 前端学习 CSS 居中 事件委托和this 让js调试更简单—console AMD && CMD 模式识别课程笔记(一) web攻击 web安全之XSS JSONP && CORS css 定位 react小结

    vue—你必须知道的   目录 更多总结 猛戳这里 属性与方法 语法 计算属性 特殊属性 vue 样式绑定 vue事件处理器 表单控件绑定 父子组件通信 过渡效果 vue经验总结 javascript ...

随机推荐

  1. Debian系统网卡调试出问题,无线网卡提示device not managed如何解决?

    参考文章:<How to fix Wired Network interface “Device not managed” error in Debian or Kali Linux?> ...

  2. Java虚拟机工作原理详解 ( 二 )

    首先这里澄清两个概念:JVM实例和JVM执行引擎实例,JVM实例对应了一个独立运行的Java程序,而JVM执行引擎实例则对应了属于用户运行程序的线程:也就是JVM实例是进程级别,而执行引擎是线程级别的 ...

  3. 敏捷软件开发 原则 模式 与实践 - OCP原则

    最近在读BOB大叔的敏捷软件开发,特别是TDD那一章节,启示真的不少,从测试驱动开发,讲到驱动表明程序设计的意图,从设计意图讲到对象依赖的解耦,从解耦建立Mock对象. 其实是对每个模块都编写单元测试 ...

  4. createElement创建标签及appendChild添加到元素的后面

    var p = document.createElement('p'); var box = document.getElementsByTagName('div')[0]; box.appendCh ...

  5. StackBlur.js

    StackBlur.js 是 Mario Klingemann 创建的一个快速的.接近高斯模糊的效果库. 更多信息: http://incubator.quasimondo.com/processin ...

  6. C# lambda表达式及初始化器

    using System;using System.Collections.Generic; using System.Linq; namespace ConsoleApplication1d { c ...

  7. [iOS翻译]《iOS7 by Tutorials》系列:在Xcode 5里使用单元测试(下)

    4.测试失败的调试 是时候追踪之前测试失败的问题了.打开GameBoard.m,找到cellStateAtColumn:andRow: 和 setCellState:forColumn:andRow: ...

  8. Asp.net MVC十问十答[译]

    1. Explain MVC (Model-View-Controller) in general? MVC (Model-View-Controller) is an architectural s ...

  9. Tomcat7.x 与 Tomcat6.x

    试用 Tomcat7.x 与 Tomcat6.x 的明显不同 + Context 填写方法 + 默认应用配置方法 标签: tomcat数据库驱动程序数据库虚拟机jdbcjavascript 2012- ...

  10. matlab 中的textscan

    textread 与textscan的区别  textscan更适合读入大文件: textscan可以从文件的任何位置开始读入,而textread 只能从文件开头开始读入: textscan也可以从上 ...