^跳转当前行第一个非空字符
Ctrl + b向下翻页
Ctrl + f向上翻页
Shift + % 找到()[] {},以及在括号之间来回切换
全局替换
一次性替换文件中的所有出现的旧文本命令格式如下:
:%s/old/new/g
可视区域替换
先选中要替换文字的范围命令格式如下:
:s/old/new/g
确认替换
把上面的g替换成gc
y-yes 替换
n-no不替换
a-all替换所有
q-quit 退出替换1-tast 最后一个,并把光标移动到行首E向下滚屏
^Y向上滚屏
打开文件的时候直接定位到最后一行 : vi file +
打开文件的时候定位到指定行: vi file +num
以只读方式打开(0),直接编辑(E),恢复(R),删除交换文件(D),退出(Q),中止(A)
保存并退出: :wq 或者 :x 或者 ZZ(注意大写)
vim搜索设置高亮 set hlsearch
多行注释:
1. 进入命令行模式,按ctrl + v进入 visual block模式,然后按j, 或者k选中多行,把需要注释的行标记起来
2. 按大写字母I,再插入注释符,例如//
3. 按esc键就会全部注释了
取消多行注释:
1. 进入命令行模式,按ctrl + v进入 visual block模式,按字母l横向选中列的个数,例如 // 需要选中2列
2. 按字母j,或者k选中注释符号
3. 按d键就可全部取消注释
sp:上下分屏,后可跟文件名
vSp:左右分屏,后可跟文件名
Ctr+W+W:在多个窗口切换
vim折叠
:set fdm=marker 设置折叠模式
syntax (不常用)语法高亮折叠,在c/c++中会折叠花括号部分,其它格式代码中有的不能自动折叠。
marker (常用)标记折叠方法,如上面1-6所使用的方法。关闭vim折叠信息不会丢失,而且易用控制和标注
cut
使用冒号分割 passwd文件 显示第1 3至5列
cut -d: -f 1,3-5 /etc/passwd