vim的设计理念是:组合。
命令的组合,模式的组合,
 
 
普通模式
左: h 上:k 下:j 右 : l
 
i : 当前光标处插入
I: 到光标所在行的行首进入插入模式
a: 在当前光标的后一位进入插入模式(append追加)
A: 光标所在行尾进入插入模式
o: 当前行的下面开启新的一行,进入插入模式
O: 当前行的上面一行开启新的一行,进入插入模式
 
定位:
gg: 定位到文档头
G: 定位到文档尾
nG:移至第n行
H:移至屏幕上面
M:屏幕中间
L:屏幕下面
*:读取光标处字符串,并移动至下一处同样内容
#:读取光标处字符串,并移动至上一处同样内容
CTRL-f:向下移动一屏
CTRL-b:向上移动一屏
 
复制(yank):
nyy :  复制n行
粘贴(paste):
np : 将最后一次删除或复制的内容(即寄存器的内容)粘贴n次
 
查找:
/  +字符串       或者空格:(空格是自定义键)(向后查找字符串)
?+字符串      (向前查找字符串)
之后按n键定位至下个目标处。
 
替换:
r+要替换的字符:替换光标所在处的字符
 
撤销:u
反撤销: Ctrl + r
 
删除/剪切 (删除是将目标内容移至寄存器,可以粘贴):
x : 删除当前光标下的字符
dw:从光标处删除至一个单词的末尾(包含空格)
de:从光标处删除至一个单词的末尾(不包含空格)
(n)dd:删除当前(n)行
d$:删除当前光标到行尾(to the end of line)
D: 删除当前光标到行尾(自定义)(=d$)
dG : 删除到文档尾(自定义)
 
删除总结:
格式如下:
number d object 或者  d number object
其中number代表执行命令的次数,默认为1;d代表删除;object代表命令操作的对象(w--光标处删除至一个单词的末尾,包含空格;e--光标处删除至一个单词的末尾,不包含空格;$ --行尾,当前光标到行尾;j--移动到下一行;^--行首,光标至行首;)
 
退出插入模式: Esc

结构化的删除:
cit/cat : 删除标签结构(tag)
ci<>/ca<> : 删除尖括号,或者里面内容
ci()/ca(): 删除小括号,或者内容
ci[]/ca[]: 删除中括号,或者里面的内容
ci{}/cat{}: 删除大括号.或者里面的内容

Zend-Coding
html: (xs/xt/5)  -->Ctrl + y -->,

插入/输入模式

Ctrl + n : 向左移动光标
Ctrl + l : 向右移动光标
Ctrl + j : 向下
Ctrl + k : 向上移动光标

Ctrl + h : 删除前一个

命令行模式:
:w  <回车>保存
:q  <回车> 退出
:q!<回车> 强制退出(不保存)
:wq <回车> 保存再退出
:set fenc<回车> 查看文档的编码
 
:%s   /原始内容/替换的内容/g <回车>   替换    --------(g--global全局的,此处即为替换所有。不加g为替换第一个。不加%为在一行内替换所有。逐项询问用户确认为/gc)
 
 
 
 
普通模式的移动相关的命令:
概念--motion:当光标从一处移动到另一处,这两点之间的文本被称作“跨过”,这里的命令被称作motion。
 
b:向前移动一个单词
w:向后移动一个单词
0(数字):移至当前行首
^:移至当前行第一个字母
$:移至当前行行尾
):移至下一个句子
(:移至上一个句子
%标签对应

VIM的一些操作小技巧的更多相关文章

  1. OMG,12 个精致的 Java 字符串操作小技巧,学它

    字符串可以说是 Java 中最具有代表性的类了,似乎没有之一哈,这就好像直播界的李佳琪,脱口秀中的李诞,一等一的大哥地位.不得不承认,最近吐槽大会刷多了,脑子里全是那些段子,写文章都有点不由自主,真的 ...

  2. mysql避免数据库误操作小技巧(转)

    避免混淆开发环境的DB和生产环境的DB这在小公司小团队尤其常见.一个人即负责开发,又管DB.桌面上开了一坨终端,有的是开发的DB,有的是生产的DB.一不留神,就写串了,或者粘贴串了.更郁闷的是,有时候 ...

  3. vim字符串替换及小技巧

    vi/vim 中可以使用 :s 命令来替换字符串.以前只会使用一种格式来全文替换,今天发现该命令有很多种写法(vi 真是强大啊,还有很多需要学习),记录几种在此,方便以后查询. :s/vivian/s ...

  4. mac文本操作小技巧——2019年10月17日

    声明:看的别人博主写的,自己整理的,非原创,只是自用. mac文本操作技巧 官方指导文档:https://support.apple.com/zh-cn/HT201236 1.光标移动 1.1 行首. ...

  5. Windows 操作小技巧 之一(持续更新)

    1.图片批量旋转 通常携带单反去景点排了大量照片回来处理图片时都会遇到很多横竖杂乱排序的图片难以处理的情形.现提供如下技巧进行处理. 1).在文件夹中添加"方向"的排列或分组选项: ...

  6. My操作小技巧

    1.当我们新增一条数据之后想要获取其自增长的id,可以紧随新增语句后调用 SELECT last_insert_id();即可获得,一般搭配变量一起使用 SELECT @newUserId:=last ...

  7. Intellij IDEA的一些操作小技巧

    1.Presentation Mode 我们可以使用 Presentation Mode,将IDEA弄到最大,可以让你只关注一个类里面的代码,进行毫无干扰的 coding.可以使用Alt+v快捷键,弹 ...

  8. Unity操作小技巧

    1.操作类 1)F:选择物体后聚焦 2)V:选择物体的顶点,顶点吸附 3)Ctrl:摁住后拖动物体,可以按照系统设置的步长进行移动(Edit -> Snap setting) 4)Q W E R ...

  9. linux操作小技巧

    巧妙利用别称 alias,让工作更有效率 在我的个人目录下/home/zdwu,打开.bashrc文件进行修改: 将  ll='ls -alF' 改为 ll='ls -ahlF',是的观察的结果显示更 ...

随机推荐

  1. datetimepicker一个不错的日历android特效

    datetimepicker一个不错的日历效,选中和选择日历效果都很不错, 实用的时候直接可以把datetimepicker-library这个引入到项目,调用的地方在实现 TimePickerDia ...

  2. Android菜鸟成长记14 -- AsnyTask

    本篇随笔将讲解一下Android的多线程的知识,以及如何通过AsyncTask机制来实现线程之间的通信. 一.Android当中的多线程 在Android当中,当一个应用程序的组件启动的时候,并且没有 ...

  3. 查看linux中某个端口是否被占用

    1.netstat -tunlp | grep **** -t--tcp  -u--udp -l--listening -n --numeric -p--program -a--all 2.lsof ...

  4. sed 命令使用

    ios 的sed 命令 跟linux  sed 命令有区别 # 所有的a 替换成b sed -i "" 's/a/b/g' #删除掉所有包含a的行 sed -i "/a/ ...

  5. js event 事件冒泡和事件捕获详细介绍

    . 参考: http://www.jb51.net/article/42492.htm 图: 假设一个元素div,它有一个下级元素p.<div> <p>元素</p> ...

  6. 手机版 div拖动

    <!doctype html> <html> <head> <title></title> <script type="te ...

  7. pip install lxml出错解决

    初学Python各种版本问题,安装pip install lxml各种出错,解决方法:py -2 -m pip install wheel(PY3上我上个帖子已经标了),http://www.lfd. ...

  8. 完整地mybatis + springmvc用checkbox实现批量删除

    因为自己在网上找了半天,都找不到完整地代码(脑袋笨,不会变通到自己项目里),所以在这里记下了近乎完整的代码 前端代码 <span style="cursor:pointer;" ...

  9. IOS低版本遇到了坑不知道你遇到了没

    拿着项目给客户测试,客户那边三个人俩人水果手机是ios8以下版本,结果导致```(恭喜,坑出现!)总不能说老总!"您把版本升级到ios9 吧!

  10. 1 Two Sum

    // Java public int[] twoSum(int[] nums, int target) { int[] answer = new int[2]; for (int i = 0; i & ...