- vim介绍
- vim设置:vim ~/.vimrc
- 各模式下的快捷键
- 常用的vim技巧命令
1. vim介绍:
- vim是一种文本编辑器(常用编辑器比较参考:https://blog.csdn.net/tanrui519521/article/details/79866261)
- vim相较于其他编辑器的优点:linux中大多数命令都默认使用vi作为数据编辑的接口
- vim相比于vi的优点:有颜色,支持许多程序语言
- 四种模式:一般模式、插入模式、命令行模式、可视化模式
2. vim的配置文件:
整体的vim的设置是在/etc/vimrc中,不建议修改/etc/vimrc 文件,每个用户可以在root目录中新建.vimrc文件-> vim ~/.vimrc
//设置代码块隐藏
set fdm=marker
//显示行号
set nu
//设置各种缩进
set tabstop=4
set softtabstop=4
set shiftwidth=4
set autoindent
set smartindent
//禁止产生临时文件
set nobackup
set noswapfile
3. 各模式下的快捷键:
普通模式 | gg / G / nG | 光标移至第1行 / 最后1行 / 第 n 行 … …全选 ggVG$ / 全部复制1,$y |
n【enter】/ n【space】 | 向下移动 n行 / 向右移动 n个光标 | |
nz【enter】 | 将第n行滚至屏幕顶部,不指定n时将当前行滚至屏幕顶部 | |
u / ctrl+r | 撤销 / 继续 | |
x / nx | 删除当前1个字符 / n个字符 | |
D | 删除光标至行尾字符 | |
dd / ndd | 删除当前1 行 / n 行 | |
dG / d1G | 删除光标行至最后1行 / 第1行 | |
yy / nyy | 复制1行 / n行 | |
p | 粘贴 | |
h j k l 键盘 | 左下上右 | |
插入模式 | i / I | 光标前 / 行头插入 |
a/ A | 光标后 / 行尾插入 | |
o / O | 在光标所在行下 / 上插入一行 | |
r / R | 单字符替换 / 连续替换 | |
末行模式 | / | 查找字符串:n向下搜索,N向上搜索 |
:%s/old/new/gc | %全部替换;g全局替换 如果不加g只替换每行匹配的第一项;c替换前询问;可用\来转义特殊字符 | |
:n1,n2s/old/new/gc | 替换n1至n2行 | |
:1,$s/old/new/gc | 替换1行至最后一行 | |
:wq | 保存退出 | |
:set nu / :set nu! | 列出行号 / 不列出行号 | |
:sp / vsp filename | 上下 / 左右分屏显示 。ctrl+ww切换 | |
可视化模式 | v | 选字段,配合x删除 |
V | 选行,配合dd | |
ctrl+v | 选矩阵。。。。。。。。。。多行(取消)注释:ctrl+v进入visual block模式,通过上下键控制,用I在每行行首插入某个字符,esc连按两次结束。x删除。 |
模式切换:
4. 常见的技巧使用
- 多行(取消)注释:ctrl+v进入visual block模式,通过上下键控制,用I在每行行首插入某个字符,esc连按两次结束.x删除
- 代码对齐:shift +v 选中,上下选择行=连续按两次
- VIM不正常退出产生的swp文件。因为编辑一个文件时实际编辑的是临时自动创建的swp文件,在保存之前并没有对原文件造成任何修改,遇到不正常推出情况会产生错误的swp文件,需要手动处理。
(enter进入 q退出; d删除swp文件 ;r恢复swp文件,首先要保存,然后再d删除swp文件 ) - 代码块折叠:
首先在/root/.vimrc中设置自定义折叠 :set fdm = marker
各种快捷方式
zR | 打开所有折叠 |
zE | 关闭所有折叠 |
zO | 打开当前折叠 |
zC | 关闭当前折叠 |
zE | 删除所有折叠 |
zf | 折叠 |
-
折叠5-10行:
5G → 定位到第5行
zf10G → 折叠5-10行 -
折叠本文件所有函数
/{ → 定位到{
qazf%nq → 折叠匹配到的{}
n@a → 折叠全部函数 (n为函数个数)