Linux vim常用命令

vim 常用命令   

命令行模式:

  • i 插入-----在光标前边插入
  • I 在光标当前行首插入
  • o 追加-----在光标后边插入
  • O 在光标行尾插入
  • s 更改-----删除当前光标的内容并重新输入
  • S 删除光标当前行,并且插入

yy:复制,按p粘贴   --->   4yy 复制4行
dd:剪切,按p粘贴   --->    4dd 剪切4行
u :撤销上一次的操作


末行模式shift+:

  • :/text 搜索text内容高亮显示
  • :s 替换s/host/HOST/ 替换第一个找到的host为HOST
  • :s s/host/HOST/g 当前行全部替换 //g=gobal
  • :s 1,4s/host/HOST/g 第一行第四行全部替换替换
  • :s %s/host/HOST/g 替换整个文档


ESC:取消上一个命令的作用
:nohlsearch 取消显示高亮文本   ---->   简写为nohl

快速定位

  • :set nu 设置行号
  • :set nonu 取消行号

:set nu! 取消显示行号

  • gg 到第一行
  • G 到最后一行
  • nG 到第n行
  • :n 到第n行

查找

  • f 想后查找
  • F 向前查找

复制粘贴

  • p 在光标之后粘帖;
  • shift+p 在光标之前粘帖

文件保存与退出

  • :w 保存;
  • :w filename 另存为filename;
  • :wq! 保存退出;
  • :wq! filename 注:以filename为文件名保存后退出;
  • :q! 不保存退出;
  • :x 应该是保存并退出 ,功能和:wq!相同

文本删除

  • x 一个字符;
  • #x 删除几个字符,#表示数字,比如3x;
  • dw 删除一个单词;
  • #dw 删除几个单词,#用数字表示,比如3dw表示删除三个单词;
  • dd 删除一行;(常用)
  • #dd 删除多个行,#代表数字,比如3dd 表示删除光标行及光标的下两行;(常用)
  • d$ 删除光标到行尾的内容;
  • %d 清空所有内容(常用)


J 清除光标所处的行与上一行之间的空格,把光标行和上一行接在一起;

问题处理:

在windows下习惯性的按ctrl+s,如果手误操作可适用如下方法恢复
当光标不动时(因为按下了Ctrl+S所以挂起了vim),按下Ctrl+q便可进入命令行模式。

一些简单的高级操作(末行模式下进行):
  替换全文a为b
  %s/a/b/g
  1到10行a替换为b
  1,10/a/b/g
  删除空行
  g/^s*$/d
  在每行行首添加相同的内容:
  %s/^/hello
  在每行行尾添加相同的内容:
  %s/$/hello
  利用正则表达式删除代码段每行的行号
  %s/^s*[0-9]*s*//gc

===下文来自https://www.sunzhongwei.com/vim-open-the-current-file-directory====

写 Laravel Backpack 组件最痛苦的地方在于路径藏的太深,每次想查看同目录下另外一个文件时,需要重新输入一遍文件目录。

例如:

resources/views/vendor/backpack/crud/fields/

输入一次这样的路径真是太锻炼大脑的记忆能力了!

于是我查了一下是否有这样的 Vim 命令,能否打开当前文件所在的目录。果然有

:Explore

缩写为

:Ex

但是,我更喜欢使用 Split 的方式打开特定目录

Vim Vexplore

:Vexplore

缩写为

:Ve


===上文来自https://www.sunzhongwei.com/vim-open-the-current-file-directory====

原文地址:https://www.cnblogs.com/despotic/p/10647670.html