• [vim]VIM快捷键整理


    转自:http://blog.csdn.net/ceven2010/article/details/7406341#comments

    一、移动光标

    1、左移h、右移l、下移j、上移k

    2、向下翻页ctrl + f,向上翻页ctrl + b

    3、向下翻半页ctrl + d,向上翻半页ctrl + u

    4、移动到行尾$,移动到行首0(数字),移动到行首第一个字符处^

    5、移动光标到下一个句子 ),移动光标到上一个句子(

    6、移动到段首{,移动到段尾}

    7、移动到下一个词w,移动到上一个词b

    8、移动到文档开始gg,移动到文档结束G

    9、移动到匹配的{}.().[]处%

    10、跳到第n行 ngg 或 nG 或 :n

    11、移动光标到屏幕顶端H,移动到屏幕中间M,移动到底部L

    12、读取当前字符,并移动到本屏幕内下一次出现的地方 *

    13、读取当前字符,并移动到本屏幕内上一次出现的地方 #

    二、查找替换

    1、光标向后查找关键字 #或者g#

    2、光标向前查找关键字 *或者g*

    3、当前行查找字符 fx, Fx, tx, Tx

    4、基本替换 :s/s1/s2 (将下一个s1替换为s2)

    5、全部替换 :%s/s1/s2/g

    6、只替换当前行 :s/s1/s2/g

    7、替换某些行 :n1,n2 s/s1/s2/g

    8、搜索模式为 /string,搜索下一处为n,搜索上一处为N

    9、制定书签 mx, 但是看不到书签标记,而且只能用小写字母

    10、移动到某标签处 `x,1旁边的键

    11、移动到上次编辑文件的位置 `.

    PS:.代表一个任意字符 *代表一个或多个字符的重复

             正则表达式的内容将会在后续文章中整理

    三、编辑操作

    1、光标后插入a, 行尾插入A

    2、后插一行插入o,前插一行插入O

    3、删除字符插入s, 删除正行插入S

    4、光标前插入i,行首插入I

    5、删除一行dd,删除后进入插入模式cc或者S

    6、删除一个单词dw,删除一个单词进入插入模式cw

    7、删除一个字符x或者dl,删除一个字符进入插入模式s或者cl

    8、粘贴p,交换两个字符xp,交换两行ddp

    9、复制y,复制一行yy

    10、撤销u,重做ctrl + r,重复.

    11、智能提示 ctrl + n 或者 ctrl + p

    12、删除motion跨过的字符,删除并进入插入模式 c{motion}

    13、删除到下一个字符跨过的字符,删除并进入插入模式,不包括x字符 ctx

    14、删除当前字符到下一个字符处的所有字符,并进入插入模式,包括x字符,cfx

    15、删除motion跨过的字符,删除但不进入插入模式 d{motion}

    16、删除motion跨过的字符,删除但不进入插入模式,不包括x字符 dtx

    17、删除当前字符到下一个字符处的所有字符,包括x字符 dfx

    18、如果只是复制的情况时,将12-17条中的c或d改为y

    19、删除到行尾可以使用D或C

    20、拷贝当前行 yy或者Y

    21、删除当前字符 x

    22、粘贴 p

    23、可以使用多重剪切板,查看状态使用:reg,使用剪切板使用”,例如复制到w寄存器,”wyy,或者使用可视模式v”wy

    24、重复执行上一个作用使用.

    25、使用数字可以跨过n个区域,如y3x,会拷贝光标到第三个x之间的区域,3j向下移动3行

    26、在编写代码的时候可以使用]p粘贴,这样可以自动进行代码缩进

    27、 >> 缩进所有选择的代码

    28、 << 反缩进所有选择的代码

    29、gd 移动到光标所处的函数或变量的定义处

    30、K 在man里搜索光标所在的词

    31、合并两行 J

    32、若不想保存文件,而重新打开 :e!

    33、若想打开新文件 :e filename,然后使用ctrl + ^进行文件切换

    四、窗口操作

    1、分隔一个窗口:split或者:vsplit

    2、创建一个窗口:new或者:vnew

    3、在新窗口打开文件:sf {filename}

    4、关闭当前窗口:close

    5、仅保留当前窗口:only

    6、到左边窗口 ctrl + w, h

    7、到右边窗口 ctrl + w, l

    8、到上边窗口 ctrl + w, k

    9、到下边窗口 ctrl + w, j

    10、到顶部窗口 ctrl + w, t

    11、到底部窗口 ctrl + w, b

    五、宏操作

    1、开始记录宏操作q[a-z],按q结束,保存操作到寄存器[a-z]中

    2、@[a-z]执行寄存器[a-z]中的操作

    3、@@执行最近一次记录的宏操作

    六、可视操作

    1、进入块可视模式 ctrl + v

    2、进入字符可视模式 v

    3、进入行可视模式 V

    4、删除选定的块 d

    5、删除选定的块然后进入插入模式 c

    6、在选中的块同是插入相同的字符 I<String>ESC

    七、跳到声明

    1、[[ 向前跳到顶格第一个{  

    2、[] 向前跳到顶格第一个}

    3、]] 向后跳到顶格的第一个{

    4、]] 向后跳到顶格的第一个}

    5、[{ 跳到本代码块的开头

    6、]} 跳到本代码块的结尾

    八、挂起操作

    1、挂起Vim ctrl + z 或者 :suspend

    2、查看任务 在shell中输入 jobs

    3、恢复任务 fg [job number](将后台程序放到前台)或者 bg [job number](将前台程序放到后台)

    4、执行shell命令 :!command

    5、开启shell命令 :shell,退出该shell exit

    6、保存vim状态 :mksession name.vim

    7、恢复vim状态 :source name.vim

    8、启动vim时恢复状态 vim -S name.vim

    九、折叠操作

    zi 打开关闭折叠:用于打开和关闭默认的一些折叠
    zv 查看此行
    zm 关闭折叠
    zM 关闭所有:假如源文件中有很多函数,那么此命令可以关闭所有的函数的体,只见到函数名
    zr 打开
    zR 打开所有:打开所有的折叠
    zc 折叠当前行
    zo 打开当前折叠
    zd 删除折叠
    zD 删除所有折叠

    日常使用

    • ZZ(shift+zz)表示保存退出,省的:q!
    • Ctrl+C/Ctrl+[退出插入模式,在编辑和移动光标时经常使用

    问题:

    1. vim文件的拷贝方式1?

    先v进入视图模式,选择需要拷贝的串,然后"+y完成拷贝,"+p完成黏贴,这里+是vim中某一个黏贴板,实际测下来要求两个文件必须要在同一个console下打开

    2. vim文件的拷贝方式2?

    命令行模式下,:vsp对串口进行分割,然后在两个窗口中分别打开src和dst文件,使用y+n, p完成拷贝。

    3. 如何从非vim中使用ctrl+c拷贝的串,黏贴到vim中?

    i进入编辑模式,然后ctrl+shift+v完成黏贴

    4. How to achieve the display split?

    "sp" is horizen, "vsp" is vertical.

     
     
  • 相关阅读:
    MIPI CSI2学习(一):说一说MIPI CSI2
    图解数据结构树之AVL树
    查找树ADT--二叉查找树
    hisi mmz模块驱动讲解
    抓包工具 tcpdump 用法说明
    4. 海思Hi3519A MPP从入门到精通(四 视频输出)
    PHP无限分类分类导航LINK的代码实现
    PHP 无限极分类下拉列表实现
    PHP无限极分类原理
    微信支付回调验证签名处理
  • 原文地址:https://www.cnblogs.com/aaronLinux/p/5558511.html
Copyright © 2020-2023  润新知