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保存并退出即可。