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 的方式打开特定目录
:Vexplore
缩写为
:Ve
===上文来自https://www.sunzhongwei.com/vim-open-the-current-file-directory====