一、删除操作
1、删除一行dd
2、删除多行:CTRL+V或V进入选择模式,选中后按delete键即可;
3、删除所有内容:命令为:ggdG
(比较遗憾的是,删除就无法恢复了)
其中,gg为跳转到文件首行;dG为删除光标所在行以及其下所有行的内容;
4、x向后删除一个字符,X向前删除一个字符
二、选择
1、全选ggvG
三、跳转,翻页
1、跳转至第n行:n
或者命令模式下按nG,例如:4G
2、跳转至行尾,按美元符号$
3、跳转至行首,按0
4、跳转至行首的第一个非空白字符^
5、Ctrl+f 向文件尾部翻一屏
6、Ctrl+b 向文件首部翻一屏
7、Ctrl+d 向文件尾部翻半屏
8、Ctrl+u 向文件首部翻半屏
四、cat 和 sed
1、查看第j行到第k行cat filename | head -n k | tail -n k-j
例如,查看第9行到第20行命令为:cat filename | head -n 20 | tail -n 11
2、单独:
head -n 10 : 前10行
tail -n 10 : 后10行
tail -n +10 : 从第10行开始往后
2、sed的使用
查看全部:
sed '' filename
查看5–10行
sed -n '5,10p' filename
从另一文本复制到本文本
:r! command “command”的结果插入光标下一行
:nr! command “command”的结果插入光标的n行后
例子:
:r! cat filename |head -n 10 把“filename”文件的前10行复制到本文件
从本文本复制到另一文本
(1)把本文件的5~10行复制到“filename”文件的后面:
:5,10 w>> filename
(2)把本文件的5~10行复制到“filename”中,清除“filename”原文件的内容
:5,10 w! filename
五、多文本操作
1、vim中开启另一个文件而不用退出:edit filename
,而当前文件还未保存,而你并不想保存使用:edit! filename
,如果你不想现在保存,使用:hide edit filename
2、多文件操作,打开vim filename1 filename2......
进入下一个文件的编辑:next
,回到前一个文件previous
,保存再进入下一个:wnext
,不保存进入下一个:next!
,保存进入上一个:wprevious
,进入第一个:first
,进入最后一个:last
(这两个没有wlast之类的命令),向后跳两个文件:2next
,自动保存:set autowrite
,取消自动保存:set noautowrite
;此时如果想编辑另外一个文件列表而不退出:args filename1 filename2......
取消保存另外开始编辑:args!
六、vim代码攻略
1、注释
python:
1、进入V模式选中要注释的代码
2、Shift+i
3、Shift+#
4、快速esc两下
注释代码的命令:
10-20行#注释
:10,20s/^/#/g
取消注释
:10,200s/#//g
c、c++找错:
1、在~/.vimrc尾加入以下内容:
:set mouse = a
保存退出
c++命令注释
注释10-20行
10,20s#^#//#g
取消注释
:10,20s#^//##g
2、现在假设你正在使用vim编辑一个名叫test.c的程序,那么进入命令模式,输入:cope
再输入make test
即可。双击错误的地方即可自动跳转;
2、代码缩进缩出
按v(或V)进入visual状态,选择多行,用>或<缩进或缩出
七、分屏操作
1、上下分屏:sp
,跳转CTRL+W+方向键,打开文件:e filename
或::split
2、左右分屏:vsp
跳转CTRL+WW,打开文件:e filename
或::vsplit
3、只留当前窗口only
,关闭全部窗口,没保存的不会被关闭:qall
,全部保存:wall
,全部(不)保存再退出(:qall!):wqall
4、为每个文件打开一个窗口
(上下)
vim -o one.txt two.txt three.txt
左右
vim -O one.txt two.txt three.txt
5、改变窗口的大小
CTRL W -:减小窗口,其实CTRL -更方便
CTRL W +:增大窗口,CTRL +更方便,当然这个加号需要按shift键。
CTRL W =:所有屏幕尺寸保持一致(平分窗口),按住CTRL和w后松开,再去按=。
在鼠标模式下可以拉动间隔线来改变窗口大小
6、移动窗口位置
ctrl_w + r: 窗口本身顺时针 (向下, 向右 移动), R : 则是逆时针反方向(向上, 向左)移动.
ctrl_w+x: 左右上下对应位置的窗口 对调.
要注意窗口必须是 对应的, 如果不对应将无法对换, 比如左边一个大窗口, 右边有两个小的 子窗口, 则左右不能互换.
7、取消分屏
CTRL w ,c
8、光标移动
ctrl+w
k 上
j 下
l 右
h 左
w 下一屏
八、使用vim找出文件差异(vimdiff)
vimdiff filename1 filename2
注:将行列排列好更清晰,特别是对比两个文本的大小写、是否缺漏字符方面很方便;
九、 鼠标模式的开启与关闭
开启
:set mouse=a
关闭
:set mouse=
十、查找
1、命令模式下
2、匹配括号
将光标放在对应括号出,按下%匹配对应的括号,再按返回当前括号。
十一、正则表达式使用
1、\r换行,不是\n
:%s/,/\r/g表示将全文的逗号全部转换为换行
其他
1、vim下查看当前目录及当前目录下的文件
:!ls
2、读某个文件
:r filename
# :r name.py
注
在终端输入man vim
即可查看帮助;
在终端输入vimtutor即可查看教程;