vim
vim是一个文本编辑程序没有菜单,只有命令,且命令繁多
基本工作模式
命令模式
移动光标
h: ← 左移
l: → 右移
j: ↓ 下移
k: ↑ 上移
gg: 光标移动文件开头
G: 光标移动到文件末尾
0: 光标移动到行首
$: 光标移动到行尾
123G:跳转到第123行
删除
x: 删除光标后一个字符,相当于 Del
X: 删除光标前一个字符,相当于 Backspace
dw: 删除光标开始位置的字,包含光标所在字符
光标必须移动到删除单词的首字符上
d0: 删除光标前本行所有内容,不包含光标所在字符
D(d$): 删除光标后本行所有内容,包含光标所在字符
dd: 删除光标所在行
n dd 删除指定的行数
撤销操作
u: 一步一步撤销
Ctr-r: 反撤销
复制粘贴
yy: 复制当前行,n yy 复制 n 行
p: 在光标所在位置向下新开辟一行,粘贴
P: 从光标所在行, 开始粘贴
可视模式
v:按字移动
查找操作
/hello -> 从光标所在位置向后查找 hello
n: 下一个
N:上一个
?hello -> 从光标所在位置向前查找 hello
n: 上一个
N:下一个
在要查询的单词上使用 # 进行查找
替换操作
r: 替换当前字符
文本行移动
命令:>>: 文本行右移
命令:<<: 文本行左移
查看 Man Page
光标移动到函数上,Shift-k 光标移动到函数上
3Shift-k,查看第三章的 ManPage
文本输入模式
- 进入输入模式
- i: 插入光标前一个字符
- I: 插入行首
- a: 插入光标后一个字符
- A: 插入行未
- o: 向下新开一行,插入行首
- O: 向上新开一行,插入行首
- s: 删除光标所在的字符
- S:删除当前行
末行模式
- 命令
- 行跳转
- :123 -> 跳转到第123行
替换
替换一行
😒/abc/123 -> 将当前行中的第一个abc替换为123 (那个笑脸是 :s,莫名其妙变成笑脸了)
😒/abc/123/g -> 将当前行中的abc全部替换为123
替换全部
:%s/abc/123 -> 将所有行中的第一个abc替换为123
:%s/abc/123/g -> 将所有行中的abc全部替换为123
替换指定行
:10,30s/abc/123/g -> 将10-30行中的abc全部替换为123
执行shell命令
末行模式里输入!,后面跟命令
分屏操作
末行模式
- 命令:sp 将屏幕分为两部分 --> 水平
- 命令:vsp 将屏幕分为两部分 --> 垂直
- 命令:sp(vsp) + 文件名 水平或垂直拆分窗口显示两个不同的文件
vim 打造 IDE
系统级配置文件目录:/etc/vim/vimrc
使用小操作:给vim设置行号和tab缩进为四个空格:
命令:sudo vim /etc/vim/vimrc
在最后添加:
syntax on
set tabstop=4
set shiftwidth=4
set autoindent
set cindent
set cinoptions={0,1s,t0,n-2,p2s,(03s,=.5s,>1s,=1s,:1s
set nu
set softtabstop=4
按 esc+:wq保存并退出即可。