2 vim的使用(原创)

vi/vim    vim是vi的升级版本
三个模式:命令模式、插入模式、退出模式
vim abc.txt           //若abc.txt存在,则打开进入命令模式。若abc.txt不存在,则编辑新的abc.txt,不过只有保存时才会建立;不保存关闭
                             之后仍不存在。
进入命令模式:
vim abc.txt              //vim命令进入后默认是命令模式
vim  abc.txt  +7        //进入abc.txt后,直接定位到第7行
vim  main.c  +/printf //打开abc.txt后,直接定位到第一个printf 处
Esc                         //插入模式下,按Esc键返回到命令模式
命令模式下命令:
3+↑                       //光标向上移动三行    应该等价于3+
h、j、k、l            //←、↓、↑、→。有的机器不能用箭头移动,需要用键盘操作。一般用不到,知道即可。
w、b                    //右移一个单词、左移一个单词
(、)                      //一句话一句话的移
{、}                     //一段一段的移
^                          //光标移动到行首。直接1000然后加箭头多快
$                          //光标移动到行尾。直接1000然后加箭头多快
gg                        //光标定位到文档头
G                         //光标定位到文档尾
Ctrl +d                 //向下翻半页
Ctrl +f                  //向下翻一页        forward
Ctrl +u                 //向上翻半页
Ctrl +b                 //向上翻一页         back
H                         //光标定位到当前页首
L                          //光标定位到当前页的最后一行的行首

:200  或  200G       //跳到第200行
:set nu                  //加行号ih
:set nonu              //去掉行号
                         //查找   按n就可以往下找,N就可以往上找。n就是next
------------------------------------------------------------------------------------------------------------------------------------------------------------------
替换:1,5表示:1-5行;$表示最后一行,%代表所有行;g表示某行其余的要替换;i表示不区分大小写。
:s/God/Girl           //只将 该行进行替换,如果某一行有多个God, 只替换第一个
:s/God/Girl/g        //将 该行所有God替换,如果某一行有多个God,也会被替换。
:s/God/Girl/gi       //将 该行所有God替换,如果某一行有多个God,也会被替换。并且 不区分大 小写

:1,5s/God/Girl/     //替换 1到5行的God,如果某一行有多个God, 只替换第一个
:1,5s/God/Girl/g   //替换 1到5行所有God.如果某一行有多个God,也会被替换。
:1,5s/God/Girl/gi  //替换 1到5行所有God.如果某一行有多个God,也会被替换。并且 不区分大小写。i表示不区分大小写。
:2,$ s/God/Girl/gi //替换从第2行到最后一行的所有God。如果 某一行有多个God,也会被替换。并且 不区分大小写。i表示不区分大小写。

:%s/ God/Girl/gi   //替换 所有行所有God.如果 某一行有多个God,也会被替换。并且 不区分大小写。i表示不区分大小写。
 
------------------------------------------------------------------------------------------------------------------------------------------------------------------
cc           //替换。将本行清空
r             //输入一个字符替换光标处的一个字符
R            //从光标处的字符开始替换,后面的字符一个一个被输入的字符覆盖
s             //输入一串字符来替换光标处的字符

x            //删除光标所在处的字符
X           //删除光标所在前字符

dw         //删除到下一个单词开头
de          //删除到本单词末尾
dE         //删除到本单词末尾包括标点在内
db          //删除到前一个单词
dB         //删除到前一个单词包括标点在内

D           //删除光标到行尾
d0          //删除光标位置到本行开头
dd          //删除一行
3dd        //删除这一行及下两行。

yy          //复制      单词:yank
5yy        //复制光标以下5行
p           //粘贴到光标所在行的下面
P           //粘贴到光标所在行的上面
u           //一次一次地恢复
U          //一次性恢复
v           //可视化选中。然后y:复制。d:删除。x:剪切。
Ctrl + r  //撤销恢复

复制一个单词:
光标移到想要被复制词的词首,输入yw
光标移到想到粘贴的位置,输入p

批量操作多行:如批量注释,批量解开注释。

ctrl +v  竖着向下选

shift+i

修改

ESC


批量删除:

ctrl +v 竖着选中要删除的东西

按d

------------------------------------------------------------------------------------------------------------------------------------------------------------------
:%!xxd                 //十六进制模式
:%!xxd -r             //返回文本模式

:new 2.c     //再打开一个vim,是横向的SS
:vnew 2.c   //再打开一个vim,是纵向的
:vnew 
------------------------------------------------------------------------------------------------------------------------------------------------------------------
vim多窗口 
:sp    :split           //新建一个窗口,将当前窗口(不是全屏幕)分割成两半,他们显示的是相同缓冲区的内容(同一个文件)。这样就可以在                                两个窗口中 浏览相同的文件了。方便在一个地方输入东西,要看另一个地方怎么写的。
:vsp 或 :vsplit         //在当前的窗口基础上(不是全屏幕),创建全新的垂直分割的窗口,同样是显示和当前窗口同一个文件内容。
                             //当多个窗口编辑同一个文件时,在任意一个窗口进行编辑(例如删除一行),那么所有相同文件的窗口上都会同时反                                    应效果,因为他们共享同一个文件缓冲区。

:sp  file1                //如果想编辑或浏览另一个文件,而又不想失去在当前文件中的编辑位置,就用新文件的参数传给:split命令
:vsp file1
Ctrl+ww               //窗口之间切换


自动对齐:gg=G

联想:ctrl +p

扫描二维码关注公众号,回复: 1121237 查看本文章


------------------------------------------------------------------------------------------------------------------------------------------------------------------
命令模式 --> 插入模式:
           //进入插入模式,光标 不动。与"INSERT"效果相同。
A          //进入插入模式,光标到 行尾
I            //进入插入模式,光标到 行首
o           //进入插入模式,在 下方建一行,光标在新建的一行。
O          //进入插入模式,在上方建一行,光标在新建的一行。

退出命令:
:w       //保存
:q        //退出
:wq     //保存并退出。等同于":x"命令
:q!       //强制退出。如果把窗口X掉,会产生垃圾文件。解决方法:把垃圾文件删掉。不要用X掉窗口的方法关闭文件。
:wq!    //强制保存

如果在编辑过程中不小心按了 Ctrl+s,vim<span times="" new="" roman";="" mso-hansi-font-family:"times="" roman";mso-bidi-font-family:"times="" color:black;mso-ansi-language:en-us;mso-fareast-language:zh-cn;mso-bidi-language:="" ar-sa"="" style="font-size: 14pt; font-family: 宋体; ">会处于僵死状态,按 Ctrl+q 可以恢复。




高亮、tab4个空格、编码、



猜你喜欢

转载自blog.csdn.net/pengchengliu/article/details/80472181