Vim经常使用的快捷键

h - 光标左移一个字符   j - 光标下移一个字符

k - 光标上移一个字符   l - 光标右移一个字符  下移15行 - 15j

Ctrl + f - 屏幕向下移动一页   Ctrl + d - 向下移动半页

Ctrl + b - 屏幕向下移动一页   Ctrl + u - 向上移动半页



n<space> - 光标右移n个字符

0 - 数字0,移动到行首

$ - 移动到行尾

H - 屏幕最上方一行的首字符

M - 屏幕中央一行的首字符

L - 屏幕最后一行的首字符

G - 移动到文件的最后一行

nG - 移动到文件的第n行。配合:set nu

gg - 移动到文件的第一行

N[Enter] - 光标向下移动n行

/word - 向下查找  ?word - 向上查找

n - 反复前一个查找的操作。下一个匹配的字符串

N - 与n相反

:n1,n2s/word1/word2/g - 在第n1行和n2行之间寻找字符串word1,并替换为word2

:1,$s/word1/word2/g - 全文中替换

:1,$s/word1/word2/gc - 同上,须要用户确认



x - 向后删除一个字符  X - 向前删除一个字符  nx - 连续删除n个字符

dd - 删除一整行  ndd - 删除光标所在的向下n行

d1G - 删除光标所在行到第一行  dG - 删除光标所在行到最后一行

d$ - 删除光标所在到行尾   d0 - 删除光标所在到行首

yy - 复制光标所在的一行  nyy - 复制光标所在的向下n行

y1G - 复制当前行到第一行   yG - 复制当前行到最后一行

y0 - 复制当前光标到行首    y$ - 复制当前光标到行尾

p - 在光标下一行粘贴   P - 在光标上一行粘贴

J - 将所在行及下一行合并    

u - 复原前一个操作   [Ctrl] + r - 重做上一个操作

. - 反复前一个操作



i - 光标所在插入    I - 当前行首

a - 下一个子付处插入   A - 当前行尾

o - 在下一行插入新行    O - 上一行插入新行

r - 替换光标所在的字符一次   R - 一直替换光标所在字符



:w[filename] - 另存为文件  :r[filename] - 在当前光标处打开新文件

:n1,n2 w [filename] - 将 n1 到 n2 的数据另存为文件

:set nu   :set nonu  - 显示或取消行号



v - 字符选择    V - 行选择   y - 复制   d - 删除



:n - 编辑下一个文件      :N - 编辑上一个文件    :files - 列出全部文件



:sp [filename] - 打开新窗体,或者打开新文件。同步显示

[Ctrl] + w + j - 切换窗体



安装SuperTab。支持Tab健补全

下载:

script_id=1643" style="margin:0px; padding:0px; color:rgb(0,105,214); line-height:inherit">http://www.vim.org/scripts/script.php?

script_id=1643

安装:

1. Download supertab.vmb to any directory. 

2. Open the file in vim ($ vim supertab.vmb). 

3. Source the file (:so %).

Vim 经常使用快捷键及键盘图的更多相关文章

  1. 我用Emacs,后来转向Vim——Vim学习之Vim键盘图(绝对值得珍藏)

    Emacs本来就比较臃肿,麻烦.当我发现Vim键盘图时,我就渐渐转向Vim,追随Unix/Linux哲学去了.. 我用了Emacs三个月,因为它的学习曲线没Vim陡,这点吸引了,我使用Linux才7. ...

  2. vi/vim键盘图-

    vi/vim键盘图-----又一张桌面背景好图 也许还是有很多人不能愿意用CLI的vi/Vim来写东西,不过,当你真的习惯了,它的高效性就是不可估量了.下面的这张图,一看就明白了,从此,学习变的不再艰 ...

  3. Linux学习之十三-vi和vim编辑器及其快捷键

    vi和vim编辑器及其快捷键 1.vi与vim区别 它们都是多模式编辑器,不同的是vim 是vi的升级版本,它不仅兼容vi的所有指令,而且还有一些新的特性在里面. vim的这些优势主要体现在以下几个方 ...

  4. vim分屏快捷键使用/增大/减小字体使用

    问题描述: vim分屏快捷键使用 问题解决:         (1)vim 分屏快捷键           (2)vim高度改变          (3)vim中增加和减少字体大小  使用快捷键Ctr ...

  5. vim技巧:折叠快捷键

    vim技巧:折叠快捷键 以前用的挺熟的,一段时间不用了,快捷键又忘了,不得不重新再看手册,今天专门整理一下,以后查找起来也比较方便. zc 折叠,只折叠最外层的折叠zC 对所在范围内所有嵌套的折叠点进 ...

  6. Sublime编辑器上的Linux Vim插件常用快捷键

    Sublime编辑器上的 Vim 插件常用快捷键 vim 的设置: 在Reference-> User Settings(首选项--> 设置用户) 选项,点击进入配置文件编辑状态,默认的用 ...

  7. Vi/VIM键盘图, Vi/vim学习图

    Vi/vim学习图 引用: Vi键盘图片可视化教程 http://www.cnblogs.com/me115/archive/2010/11/16/1878295.html 网上的文章易流失.感谢分享 ...

  8. vi/vim键盘图-----又一张桌面背景好图

    也许还是有很多人不能愿意用CLI的vi/Vim来写东西,不过,当你真的习惯了,它的高效性就是不可估量了.下面的这张图,一看就明白了,从此,学习变的不再艰难^_^ 补注: 图中没有关于查找和替换的,应该 ...

  9. vi/vim 键盘图 & 替换

    在VIM中进行文本替换:    1.  替换当前行中的内容:    :s/from/to/    (s即substitude)        :s/from/to/     :  将当前行中的第一个f ...

随机推荐

  1. Android基础TOP5_4:点击按钮更换样式,设置透明度

    在res/drawable创建两个样式 点击前/点击后 round: <?xml version="1.0" encoding="utf-8"?> ...

  2. centos上安装supervisor来管理dotnetcore等应用程序

    supervisor 介绍: 这是一款用python编写的进程管理工具,可以守护他管理的所有进程,防止异常退出,以及提供一个可视化的web界面来手动管理,打开关闭重启各种应用,界面如下: 关于在cen ...

  3. magento category Ids Name

    如何获取产品的分类的名称 和ids 1.对于产品的分类ids 的获取      $this->getProduct()->getCategoryIds() 2.对应产品的分类的Name 的 ...

  4. [转]汇编语言:MOVSB,MOVSW,MOVSD

    汇编语言:MOVSB,MOVSW,MOVSD 转自: http://blog.csdn.net/zhenyongyuan123/article/details/8364011   目前80386系列的 ...

  5. HDU_1176_免费馅饼_16.4.23再做

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1176 免费馅饼 Time Limit: 2000/1000 MS (Java/Others)    M ...

  6. HDU_1242_Rescue

    题目:http://acm.hdu.edu.cn/showproblem.php?pid=1242 大意:迷宫搜索,'#'代表墙,'.'代表路,'x'代表守卫,每移动1格用1秒,杀死守卫用1秒,ang ...

  7. JMeter在linux上分布式压测遇到的坑(三)

    master和slave机要在同一网段内,才能做分布式(Jmeter要配环境变量,这样不用手动起server) 分布式不成功,解决方案: 1.master端和slave端要ping通 2.ping通后 ...

  8. 数据导出为Excel(未完)

    更多详细内容 view页面: function Download() { //多个查询条件 dateStart = $("#j_dataTimeStart").datebox(&q ...

  9. 这几道Java集合框架面试题在面试中几乎必问

    Arraylist 与 LinkedList 异同 1. 是否保证线程安全: ArrayList 和 LinkedList 都是不同步的,也就是不保证线程安全: 2. 底层数据结构: Arraylis ...

  10. MySQL-date和datetime

    MySQL中 date表示只有日期: insert into stu values(id = null, birthday = '2000-01-11'); datetime则还包含了时间: inse ...