VIM 常用命令

VIM三种模式

正常模式:按EscCtrl+[ 左下角显示文件名或为空
插入模式:按i 左下角显示 --INSERT--
可视模式:按vCtrl+v 左下角显示 --VISUAL--

VIM常用命令

  • 历史命令

:或/ +↑或↓:显示历史命令
:echo:查看vim配置文件路径。如:echo $MYVIMRC
%:vim正常模式下,光标在括号{[()]}或/**/或#if, #elseif, #else, #endif出,按%跳转匹配

  • 文件命令

:open file2:在当前窗口打开一个新文件
:split file2:在新窗口打开另一个文件
:bn:bp:切换到下一个或上一个文件

  • set 命令

:set number:set nonumber:显示或关闭行号
:set background=dark:设置背景颜色
:set guifont=consolas:h14:设置字体为 consolas 字号为 14
:set history=700:设置保存命令的行数
:set autoread:设置当文件变化时,自动读取新文件
:set wrap:set nowrap:启动折行或禁止折行
:set ff=unix:set ff=dos:切换文件格式为Unix格式,每行以\n结尾;切换文件格式为Windows格式,每行以\r\n结尾
:set encoding=utf-8:设置 Vim 展示文本时的编码格式
:set [keyword]?:查看当前状态的命令,如:set ff?
:set ignorecase:set noignorecase:忽略或不忽略大小写的查找
:set hlsearch:set nohlsearch:打开或关闭高亮显示搜索结果
:set incsearch:逐步搜索模式,对当前键入的字符进行搜索而不必等待键入完成
:set wrapscan:重新搜索,在搜索到文件头或尾时,返回继续搜索,默认开启

  • 插入命令

ia:在光标处或光标后插入。如,3i!+Esc在当前位置插入3个!
IA:在当前行首或行尾插入
oO:在当前行之后或之前插入新行

  • 查找命令

/text:查找text,按n键查找下一个,按N键查找上一个
?text:反向查找text,按n键查找上一个,按N键查找下一个
*#:光标放在某个词上,按*或#即可以对该单词进行搜索。*命令相当于/搜索,#命令相当于?搜索

  • 替换命令

r+<替换字符> 或 R+<替换字符>……:对光标处字符进行替换。连续替换,直到按下 Esc
cc:替换整行,即删除本行,并进入插入模式
cw:替换一个单词,即删除一个单词,并进入插入模式
C(shift+c):替换光标以后至行末
:s/old/new/:将当前行中的第一个old替换成new
:s/old/new/g:将当前行中的所有old都替换成new
:s/old/new/gc:将当前行中的所有old都替换成new,但是每一次替换之前都会询问请求用户确认此操作
:%s/old/new:对所有行第一个匹配的old进行替换
:%s/old/new/g:对所有行的old进行替换
:.s/old/new/g:在当前行进行替换操作
:33s/old/new/g:在第33行进行替换操作
:$s/old/new/g:在最后一行进行替换操作
:10,20s/old/new/g:对第10行到第20行的内容进行替换
:1,$s/old/new/g:对第1行到最后一行的内容进行替换
:1,.s/old/new/g:对第1行到当前行的内容进行替换
:.,$s/old/new/g:对当前行到最后一行的内容进行替换
:10,20s/^/ /g:对第10行到第20行的每一行前面添加四个空格,用于缩进
ddp:

  • 移动命令

h,j,k,l:左/下/上/右移一个字符,5h左移5个字符
wb:移动到下/上一个单词(光标停在单词首部)
ege:同w,b,只不过光标停在单词尾部
^0:移到本行第一个非空白符上/字符上
$:移动到本行行尾,3$移动到下3行的行尾
ggG(shitf+g):移动到文件头/文件尾
[]:移动到上/下一个段落的首部
:240240G:跳转到第240行
Ctrl+eCtrl+y:向下/上滚动一行
Ctrl+dCtrl+u:向下或上滚动半屏
Ctrl+fCtrl+b:向下或上滚动一屏

  • 撤销和重做

u{n}:撤销一次后n次(Undo)
U:撤销当期行的所有修改
Ctrl+r:重做(Redo),即撤销Undo的操作

  • 删除命令

xdl:删除光标处字符。如3x,删除光标向后三个字符
Xdh:删除光标处前一个字符。如3X,删除光标向前3个字符
dd, dj, dk:删除整行/下一行/上一行。如10dd,删除本行开始的10行
d$(或D)d^:删除至行尾/行首
kdgg(或d1G)dG:删除至文首/文尾(不包活当前行)
:1,10d:11,$d:删除1-10行,删除11行及以后所有的行
J:删除两行之间的空行,实际上合并两行

  • 拷贝和粘贴

yy:拷贝当前行,2yy拷贝当前行及其下一行
y^(或y0)y$:复制至行首(不含光标处字符)。复制至行尾(含光标处字符)
yw:复制一个单词。如y2w,复制两个单词
yGy1G:复制至文本末。复制至文本开头
pP:p粘贴至光标后(下)。P粘贴至光标前(上)
:1,10 co 20:将1-10行插入到第20行之后
xp:交换当前字符和其后字符的位置,光标前移继续指向前者
dd+p:dd删除命令即是剪切,在使用p来粘贴,最终实现交换上下行

  • 退出命令

:w <文件路径>(或:saveas <文件路径>):将文档另存为其他文件名
:wq(或ZZ:x)或 :wq!:保存并退出 / 强制保存并退出
:q:q!:退出 / 强制退出,不保存修改
:e!:放弃所有修改,并打开原来文件

  • 窗口命令

:split file2:new file2:用横向新窗口打开文件,光标停在新的窗口上
:vsplit file2:用纵向新窗口打开文件,光标停在新的窗口上
Ctrl+ww:光标移动到下一个窗口
Ctrl+wjCtrl+wk:光标移动到下方 / 上方的窗口
:close:关闭当前窗口(除了最后一个窗口外)
:only:关闭所有窗口,只保留当前窗口

  • 执行shell命令

:ls:列出以前编辑过的文档
:!ls:列出当前目录下文件
:f:显示正在编辑的文件名
:f new.txt:改变正在编辑的文件名字为new.txt
:suspend 或 Ctrl+z:挂起vim,回到shell,输入fg回车可以返回vim

  • 注释命令

:3,5s/^/#/g:注释第3-5行,每行前插入#
:3,5s/^#/ /g:解除第3-5行的注释
:1,$s/^/#/g:注释整个文档
:%s/^/#/g:注释整个文档

  • 帮助命令

:helpF1:显示整个帮助
:help xxx:显示xxx的帮助

  • 缩进命令

>><<:该行向右缩进/改行向左回退
:ce, :le, :ri:改行文本居中/左对齐/右对齐

你可能感兴趣的:(macOS,vim)