• Vim光标定位


    *定位到指定行n: 
    输入"nG". 
    或输入"ngg". 
    或输入":n" 
    这里,n就是指定的行的行号.注意,有时候G=gg. 


    *跳到屏幕顶部: 
    输入“H”. 
    这里,停在第一个非空字符上。加一个数字N,是指距窗口顶部的行数(如'NH'正数第N行) 


    *跳到屏幕底部: 
    输入“L”. 
    这里,停在第一个非空字符上。加一个数字,是指距窗口底部的行数(如'NL'倒数第N行) 


    *跳到屏幕中间: 
    输入“M”. 
    这里,停在第一个非空字符上。 


    *跳到文件首: 
    输入"gg". 


    *跳到文件尾: 
    输入“G”. 


    *光标移至句尾: 
    输入")". 


    *光标移至句首: 
    输入"(". 


    *光标移至段落开头: 
    输入"}". 


    *光标移至段落结尾: 
    输入"{". 


    *跳到行末尾: 
    输入“$”. 


    *跳到行首: 
    输入“^”. 
    或输入“0”. 
    这里输入'^'是移动到首的第一个非空白字符。 


    *向后跳到整文件最近距离的单词末尾: 
    输入“e”. 


    *向前跳到整文件最近距离的单词首部: 
    输入“b”. 


    *跳到整文件下个单词首部: 
    输入“w”. 


    **行内移动 
    以下均可可以加上数字N前缀表示移动N次(如'3fc'表示执行'fc'3次。) 


    *移动到光标右面第一个字符c的后面: 
    输入"fc". 


    *移动到光标右面第一个字符c的前面: 
    输入"tc". 


    *移动到光标左面第一个字符c的前面: 
    输入"Fc". 


    *移动到光标左面第一个字符c的后面: 
    输入"Tc". 


    *重复前一次输入的f, t, F, T命令: 
    输入";". 
    例如刚才是'fc',输入';'相当于还是'fc'。 


    *会反方向重复前一次输入的f, t, F, T命令: 
    输入",". 
    例如刚才是'fc',输入','相当'Fc'。 
    ** 


    **在较长行内的移动: 
    这里做一个小小的约定:较长的一行如果占据了屏幕的多行,那么这一行我们把它叫“长行”,屏幕上的一行叫做“屏幕行”。所以对于一个'长行'需要有多个'屏幕行'来显示。 
    *在“长行”中移动到下一个“屏幕行”: 
    输入"gj". 


    *在“长行”中移动到上一个“屏幕行”: 
    输入"gk". 


    *在"长行"中移动到当前"屏幕行"首: 
    输入"g^". 


    *在"长行"中移动到当前"屏幕行"尾: 
    输入"g$". 
    这里,如果一行超过了屏幕宽度,会显示在屏幕的多行,显示的虽然是多行,但是实际上还是一行,在输入上下移动的时候虽然是进入了上一行或者下一行,但是往往会呈现出在屏幕中一下跳过n行的样子。g$, g^, gj , gk 在行超过长度时好用。 j,k下上移动的是文本中的一行,当文本一行的长度超过屏幕的一行的时候,j,k移动的时候在屏幕上可能是移动多行。这时候可以用gj,gk来移动屏幕的一行而不是文本的一行。 同理g^和g$是屏幕的行首行尾,而不是文本的行首行尾。 
    ** 


    *按百分比来跳转,跳转到文件50%处: 
    输入"50%". 
    这里利用%实现按百分比来跳转,如果想跳到75%处,输入“75%”。 


    **翻页 
    可以跟数字前缀N表示执行的倍数,翻页可以用[PageUP]/[PageDown]. 


    *向下翻页: 
    输入“[Ctrl]f”. 


    *向上翻页: 
    输入“[Ctrl]b”. 


    *向下翻半页: 
    输入“[Ctrl]d”. 


    *向上翻半页: 
    输入“[Ctrl]u”. 
    ** 


    **相对于光标的翻页 
    效果是行向相应的方向滚动了,光标仍然在原来的行,好像是将这个文本拖动了一样. 


    *光标所在行移动窗口的顶端: 
    输入"zt". 


    *光标所在行移动窗口的中间: 
    输入"zz". 


    *光标所在行移动窗口的底端: 
    输入"zb". 


    *将第n行滚至屏幕顶部: 
    输入“nzt”。 


    *将第n行滚至屏幕底部: 
    输入“nzb”。 


    *将第n行滚至屏幕中部: 
    输入“nzz”。 
    ** 


    *设置书签: 
    输入“ma”. 
    这样,会在当前光标的位置标记一个书签,名字为 a。书签名只能是小写字母。你看不见书签的存在,但它确实已经在那里了。只能记录当前文件里的书签,退出vim后再次进入将不会保留这些书签, 书签只是当前文件中的一个位置,但是我实践一下发现,设置完了书签之后,保存文件,这样也把书签保存了。 


    *到书签a处: 
    输入"`a". 
    注意,这个不是单引号,它一般位于大部分键盘的 1 的左边。 


    *到书签a所在的行: 
    输入"'a". 
    这里用的是单引号,将跳到书签所在的行。 


    *到上次编辑文件的地方: 
    输入"`.". 
    这个命令很有用,而且你不用自己去标记它,注意这里输入的是反引号`,精确到点。 


    *到上次编辑文件所在行: 
    输入“'.” 
    注意这里是精确到行,输入的是引号‘。 


    *回到最后一次插入状态返回的位置: 
    输入"'^". 
    或输入"`^". 
    这里'.精确到行,`.精确到点(行+列)。 


    *查看当前所有书签的列表: 
    输入":marks". 


    **搜索相关: 
    *搜索一个字符串: 
    输入“/string”。 
    这里"string"就是将要被搜索的字符串,会自动跳到光标后面第一个"string"处。 


    *在上次搜索的基础上向前搜索: 
    输入“N”。 


    *在上次搜索的基础上向后搜索: 
    输入“n”. 


    *逆向搜索一个字符串: 
    输入“?string”。 
    这里"string"就是将要被搜索的字符串,会自动跳到光标前面第一个"string"处。之后使用的“:n”和“:N”命令方向也会相反了。 


    *列出查找的历史记录: 
    输入"q/". 
    或输入"q?". 
    这会在vim窗口最下面打开一个新的窗口,列出你的查找历史记录可以选择。 


    *向下完全匹配当前光标下单词: 
    输入“*”。 
    之后也可以按'n'继续向下查找。 


    *向上完全匹配当前光标下单词: 
    输入“#”。 
    之后也可以按'N'继续向上查找。 


    *向下匹配包含当前光标单词的字符串: 
    输入“g*”。 


    *向上匹配包含当前光标单词的字符串: 
    输入“g#”。 
    ** 


    *跳到匹配的另一半括号: 
    输入“%”。 
    这样可以查找配对的括号,即: )、]、}。 


    *打开当前光标单词下的文件: 
    输入“gf”。 
    这里,假设当前的光标在相应的文件名上面,例如“main.c”等等。 


    *切换到上次打开文件: 
    输入“[Ctrl]^”。 
    这里,例如我们输入了gf进入某个文件,可以输入[Ctrl]^来回到刚才的文件,这个命令只能在当前和上一个文件之间切换,不能后退多步。 


    *后退到某个曾经浏览过的位置: 
    输入"[Ctrl]o". 
    流行的文本编辑器通常都有前进和后退的功能,可以在文件中曾经浏览过的位置之间来回移动。在vim中多次输入"[Ctrl]o"可以执行后退。 


    *前进到某个曾经浏览过的位置: 
    输入"[Ctrl]i". 
    或输入"[Tab]". 
    这样,如果执行过后退,在vim中多次输入"[Ctrl]o"可以执行前进。

  • 相关阅读:
    recyclerView DiffUtil使用
    RecyclerView实现侧滑删除、置顶、滑动
    Android RecyclerView
    视频框架 Vitamio使用
    react native初始化项目
    react native环境搭建
    javascript Promise
    javascript 基础
    [IOS学习笔记]KVO
    [IOS学习笔记] UINavigationController Demo
  • 原文地址:https://www.cnblogs.com/dytl/p/3830838.html
Copyright © 2020-2023  润新知