vim 提升效率命令

一、命令行模式下:

  1、命令线路图

 

    1、重复次数

 

      在命令模式下,先输入一个数字,在跟上一个命令,可以让该命令 重复执行指定次数

 

    2、移动和选择

 

      vi 之所以快,关键在与能够快速定位到要编辑的代码行  

 

      移动命令能够和编辑操作命令组合使用

 

    3、编辑操作

 

      删除、复制、粘贴、替换、缩排……

 

    4、撤销和重复

 

    5、查找替换

 

    6、编辑

 

  学习提示:

 

    1、vi 的命令比较多,不要期望一下子全部记住,个别命令忘记了,只是会影响编译速度而已

 

    2、在使用vi命令时,注意关闭中文输入法

 

  2、删除或修改错误撤销

    u : 撤销命令  

    ctrl + r :反撤销命令 

    行数 + G :  可以调到注定的行数,比如 18G,就可以跳到18行了

 

 

  3、打开文件并且定位行

    在日常工作中可能会遇到打开一个文件,并定位到指定行的情况

    例如在开发中知道某一行代码错误,可以快速定位到出错代码行位置

    这个时候就可以用一下命令打开文件

vim 文件名+行数:可以在打开文件的同时,跳到指定的行数上,比如 vim test.txt +18 

    提示:如果只带上 + 号,而不指定行号,会直接定位到文件的末尾

  4、异常处理

    如果 vi 异常退出,在磁盘上可能会保存有交换文件

    下次再使用 vi 编辑该文件时,会看到一下屏幕信息,按下字母 d 可以删除交换文件即可vim 提升效率命令

 

 

   提示:按下键盘时,注意关闭输入法

  5、三种工作模式

    vi 有三种工作模式:

      1、命令模式

        打开文件首先进入命令模式,是使用 vi 的入口

        通过命令对文件进行常规的编辑操作,例如:定位、翻页、复制、粘贴、删除……

        在其他图形编辑器下,通过快捷键鼠标实现的操作,都在命令模式下实现

      2、末行模式

        要退出 vi 返回到控制台,需要在末行模式下输入命令

        末行模式是 vi 的出口

      3、编辑模式 -- 正常的编辑文字

        vim 提升效率命令

 

 

        提示:在 Touch Bar  的Mac电脑上,按 Esc 不方便,可以使用 ctrl + [ 代替

  6、移动(基本

    要熟练使用 vi ,首先要学会怎么在命令模式下快速移动光标

    编辑操作命令,能够和移动命令结合在一起使用

    1、上 下 左 右

命令 功能 手指
h 向左 食指
j 向下 食指
k 向上 中指
l 向右 无名指


vim 提升效率命令

 

 

     2、行内移动

命令 英文 功能
w work 向后移动一个单词
b back 向前移动一个单词
0   行首
^   行首,第一个不是空白字符的位置
$   行尾

    3、行数移动

命令 英文 功能
gg go 文件顶部
G go 文件尾部
数字gg go 移动到数字对应的行数
数字G go 移动到数字对应的行数
:数字   移动到数字对应的行数

    4、屏幕移动

 

命令 英文 功能
Ctrl+b back 向上翻页
Ctrl+f forward 向下翻页
H Head 屏幕顶部
M Middle 屏幕中间
L Low 屏幕底部

  7、移动(程序)(段落移动)

    1、段落移动

      vi 中使用空行来区分段落

      在程序开发时,通常一段功能相关的代码会写在一起  --  之间没有空行
      

命令 功能
{ 上一段
} 下一段

    2、括号切换

      在程序世界中,{}、[]、()  使用频率很高,而且都是成对出现的

命令 功能
% 括号匹配及其切换

    3、标记

      在开发时,某一段代码可能需要稍后处理,例如:编辑、查看

      此时先试用 m 增加一个标记,这样可以在需要时快速的跳转回来或者在执行其他编辑操作  

      标记名称可以是a~z 或者 A~Z 之间的任意一个字母

      添加了标记的行如果被删除,标记同时也会被删除

      如果在其他的行也添加了相同名称的标记,之前添加的标记也会被替换掉      

命令 英文 功能
mx mark 添加标记X,X是a~z或者A~Z之间的人一个字母
‘X   直接定位到标记X所在的位置(注意:这里是英文的单引号

  8、选中文本(可视模式)

    学习复制命令前,应该学会怎么选中要复制的代码

    在 vi 中要选中文本,需要先试用 Visual 命令切换到可视模式

    vi 中提供了三种可视模式,可以方便程序员选择选中文本的方式

    按下 ESC 可以放弃选中,返回到命令模式

命令 模式 功能
v 可视模式 从光标位置开始,按照正常模式选择文本
V 可视行模式 选中光标经过的完整行
Ctrl + V 可视块模式 垂直方向选中文本

    可视模式下,可以和移动命令连用,例如 ggVG 能够选中所有内容

  9、撤销和回复撤销

    在学习编辑命令之前,先要知道怎样撤销之前一次 错误的 编辑动作    

    

命令 英文 功能
u undo 撤销上次命令
CTRL + r redo 恢复撤销的命令

  10、删除文本

    

命令 英文 功能
X cut 删除光标所在字符,或选中文字
d(移动命令) delete 删除移动命令对应的内容
dd delete 删除光标所在行,可以 ndd 删除多行
D delete 删除至行尾

    提示:如果使用可视模式已经选中一段文字,那么无论使用d还是x,都可以删除选中文本

    * 删除命令可以和移动命令连用,以下是常见的组合命令:

* dw                #从光标位置删除到单词末尾
* d0                #从光标位置删除到一行的起始位置 
* d}                #从光标位置删除到段落结尾
* ndd               #从光标位置向下连续删除n行
* d代码行G          #从光标指定行 删除到 指定代码行 之间的所有代码
* d‘a               #从光标指定行 删除到 标记a 之间的所有代码
* 5x          #删除光标前面5个字
* dw          #往前删除一个单词
* db          #往后删除一个单词
d + 数字 + G,就可以把当前行,一直到数字所表示的行之间的所有内容删除,比如当前光标所在行为第4行,然后我想删除第4行到第8行,那么就可以在光标处在第4行的时候,按住d8G,就可以删除4、5、6、7、8行了!

  11、复制、粘贴

    vi 中提供有一个被复制文本的缓冲区

      复制命令会将选中的文字保存在缓冲区

      删除命令删除的文字会被保存在缓存区

      在需要的位置,使用粘贴命令可以将缓存区的文字插入到光标所在位置

命令 英文 功能
y(移动命令) copy 复制
yy copy 复制一行,可以nyy复制多行
p paste 粘贴

    提示:

    *  命令 d 、x 类似于图形界面的剪切操作-----ctrl + x
    *  命令 y  类似于图形界面的复制操作 --------ctrl + c
    *  命令 p  类似于图形界面的粘贴操作---------ctrl + v
    *  vi 中的文本缓冲区同样只有一个,如果后续做过复制、剪切、操作,之前缓存区中的内容会被替换。

 

    注意:

      vi 中的文本缓冲区和系统的剪切板不是同一个

      所以在其他软件中使用ctrl + c 复制的内容,不能再vi 中通过 p 命令粘贴

      可以在编辑模式下使用鼠标右键粘贴

  12 替换 

命令 英文 功能 工作模式
r replace 替换当前字符 命令模式
R replace 替换当前行光标后的字符 替换模式

 

       

    *  R命令可以进入替换模式,替换完成后,按下ESC可以回到命令模式
    *  替换模式的作用就是可以不用进入到编辑模式

  13、缩排和重复执行

命令 功能
>> 向右增加缩进
<< 向左减少缩进
. 重复上次命令

      * 缩进命令在开发程序时,统一增加代码缩进比较有用       * 一次性在选中代码前增加4个空格,就叫做增加缩进       * 一次性在选中代码前减少4个空格,就叫做减少缩进       * 在可视模式下,缩进命令只需要使用一个> 或者 <       在程序中,缩进通常用来表示代码的归属关系       * 前面空格越少,代码级别越高       * 前面空格越多,代码级别越低

  14、查找

    常规查找

命令 功能
/str 查找str

 

 

 

*   查找到指定内容后,使用Next查找下一个出现的位置
*      n:查找下一个
*      N:查找上一个

    单词快速匹配:

      

 

 

 

 

 

 

  

vim 提升效率命令

上一篇:Linux常用软件的安装及Nginx的使用


下一篇:linux 命令学习