1.vim的三种模式:命令模式 插入模式 退出模式
2.:set nu 行号添加
:set nonu 取消行号
:set mouse=a 添加鼠标选择
:set cursorline 行线显示
以上操作只在当前打开的vim中生效,如果设定永久生效编辑文件/etc/vimrc
3.vim命令模式下的字符管理
字符的复制:
yl:复制一个字母
y3l:复制三个字母
yw:复制一个单词
y3w:复制三个单词
yy:复制一行
y3y:复制3行
p:复制完后粘贴
字符的删除:
dl:删除一个字母
d3l:删除3个字母
dw:删除一个单词
d3w:删除三个单词
dd:删除一行
d3d:删除三行
字符的剪切:
cl:剪切一个字母
c3l:剪切三个字母
cw:剪切一个单词
c3w:剪切三个单词
cc:剪切一行
c3c:剪切三行
esc---->p,剪切过后会进入到插入模式,在执行粘贴动作时一定要退出插入模式
4.vim的可视化模式
在命令模式下按”ctrl+v“进入到可视化模式,在可视模式下可以区域选择字符,批量添加字符
批量修改字符
:%s/原有字符/替换后字符/g(替换所有)
:%s/原有字符/替换后字符(只替换每行出现的第一个原有字符)
5.vim的分屏功能
ctrl+w s :上下分屏
ctrl+w v :左右分屏
ctrl+w c:关闭光标所在屏幕
ctrl+w 上下左右:光标移动到指定屏幕
:sp file2 :同时编辑当前文件和file2文件
6.vim光标移动
在命令模式下: :数字(移动到指定的行) gg(文件第一行) G(文件最后一行)
在插入模式下:i(在光标所在位置下插入) I(光标所在行行首) a(光标所在字符的下一个位置) A(光标所在行行尾) o(光标所在下一行) O(光标所在上一行) s(删除光标所在字符插入) S(删除所在行插入)
7.vim的退出模式
:q 当用vim打开文件但没有对字符做任何操作的时候可以直接退出
:q! 当用vim打开文件并对字符有操作时,放弃所有操作退出
:wq 保存并退出
:wq! 强行保存退出,对超级用户及文件所有人生效
vimtutor提供vim的手册
8.
标准输入、输出及错误
当运行一个程序时,需要从某个位置读取输入信息,然后cpu处理,最后将输出显示到屏幕或文件,进程通过文件描述符的编号通道来获取输入并输出
编号 | 通道名称 | 描述 | 默认连接 | 用法 |
0 | stdin | 标准输入 | 键盘 | 仅读取 |
1 | stdout | 标准输出 | 显示屏 | 仅写入 |
2 | stderr | 标准错误 | 显示屏 | 仅写入 |
9.管理输出
输出重定向(会覆盖源文件内容)
(1)> :重定向正确输出
2< :重定向错误输出
&> :重定向所有输出
输出追加(不会覆盖源文件内容)
(1)>> :追加向正确输出
2>> :追加错误输出
&>> :追加所有输出
10.输入重定向(<)
11.管道(|)
将前一条命令的正确输出作为管道符后面命令的标准输入
标准错误(stderr)不能通过管道
2>&1可以把stderr转换成stdout
tee:复制到输出的指定位置