vim 操作记录
Posted 潜水企鹅的编程实践
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了vim 操作记录相关的知识,希望对你有一定的参考价值。
vim 操作记录
记录一些我的常用操作
移动跳转
1、上下左右移动:k、j、h、l
2、按单词移动:向前 w、向后 b
3、行首行尾移动:行首0或 ^ (行首第一个非空白字符)、行尾 $
4、fc 光标向前移动至字符 c 处;Fc 同理但光标向后;再配合 ; 可重复操作
5、% 移动到匹配的括号
6、nG 移动到文件第 n 行
7、H 屏幕顶端、M 屏幕中间、L 屏幕底端
8、gg 文件头、G 文件尾
9、ctrl+f 向下翻一屏;ctrl+b 向上翻一屏;ctrl+e 向下一行;ctrl+y 向上一行
10、zz 当前行移动到屏幕中间
11、ctrl+] 跳转到标签定义,ctrl+t 回退标签跳转栈
12、ctrl+o 上一个跳转的位置,ctrl+i 向前一个跳转的位置
编辑
1、插入:i 当前光标处插入;A 行尾插入;I 行首插入;o 当前行下方另起一行插入;O 当前行上方另起一行插入
2、复制粘贴剪切:yw 复制单词;yy 整行复制;y 复制选择的字串;p 粘贴字当前字符后;P 粘贴在当前字符前;x 剪切
3、删除:d 删除选择的字符;dw 删除单词;dd 删除整行
4、撤销于重做:u 撤销更改;ctrl+r 重做更改
5、. 重复上次操作
6、大小写转换:u 对选择的单词变小写;U 同理变大写
查找替换
查找:
1、/ 向前查找;? 向后查找;可使用正则表达式
2、n 下一个查找结果;N 上一个查找结果
3、* 向前查找当前光标处的单词;# 同理向后查找
4、q/ 显示搜索历史窗口
替换:
:m,ns/str1/str2/g 将 m 行到 n 行中的字串 str1 全部替换为字串 str2。
g表示切换全部查找,不加g表示替换每行第一次出现的结果
m 和 n 可以为 . (当前行)或 $ (最后一行)
窗口操作
1、分屏:Ctrl+w s 上下分割当前打开的文件;Ctrl+w v 水平分割当前打开的文件
2、窗口移动:同 h、j、k、l 操作,只需在这之前加上 Ctrl+w
3、关闭窗口:Ctrl+w c
4、更改大小:Ctrl+w +/- 变大变小;Ctrl+w </> 宽度变大变小;在它们之前加上数字可指定其大小
5、更改窗口布局:类似窗口移动使用 H、J、K、L 在它们之前加上 Ctrl+w 则移动窗口至四个方向
多文件操作
1、使用缓冲区(Buffer)
:ls 查看当前 buffer
:b number 跳转到指定文件
Ctrl+^(不需要按shift)直接切换 buffer
2、使用标签页(tab)
:tabe {file} 打开一个文件到新的 tab 页
:tabc 关闭当前tab页
gt 切换到下一个 tab 页
gT 切换到上一个 tab 页
{i}gt 切换到指定的 tab 页
3、使用窗口(window)
参见窗口操作部分
其他常用操作
1、使用 Ctrl+[ 代替 Esc 按键退出编辑模式
2、使用 = 来格式化可视模式下选中的代码
3、删除列:ctrl+v 进入可视块操作模式,选中要操作的块,按下 d 删除
4、插入列:ctrl+v 进入可是块操作模式,选中要操作的地方;按下 shift+i 输入要插入的内容;输入完后按两下 ESC 后生效所有列
5、代码折叠:zf 折叠选中的代码片段;zo 打开折叠
6、重新加载当前文件::e 使用有外部应用更改了当前文件时
7、vim 打开文件后有 ^M 符号,使用 dos2unix filename 转成 unix 文件格式
8、使用 vimgrep 进行搜索::vimgrep /hello/gj **/*.c **/*.h
其中 g表示整句匹配,j表示查找后不跳转到第一个位置,** 表示递归查找
查找结果被放在 quickfix 窗口,使用 cw 命令打开
以上是关于vim 操作记录的主要内容,如果未能解决你的问题,请参考以下文章