首页 > tools > vim > > 正文

Vim入门基础及使用的一些心得体会和感概

发布人:zhoulujun@live.cn    点击:

vim,7-8年前感概接触linux就开始,就知道要学了……但是,也没有觉得要多么重要……记了点命令行,下载也忘记了……如今,更换到mac系统,

vim,7-8年前感概接触linux就开始,就知道要学了……但是,也没有觉得要多么重要……记了点命令行,下载也忘记了……


如今,更换到mac系统,然后,要配置一些linux,觉得还是,得,温习下 ,vim

vim多窗口界面

像搞得这么复杂,然后装一代对插件……

感觉完全是装B……

有那么多工具不用……比如intellij……

非得用这个来工作,不是B个很高,而是SB……(起码暂时这么认为……

记住点点东西,改改配置就好,编辑的话,还是……


Vim官网的手册又太大而全,而网上各方资料要么不全面,都是云里雾里。于是,按照自己的工作心得整理一份Vim入门基础教程,分享出来。

$vim [filename]


其中filename是要编辑器的文件的路径名。如果文件不存在,它将为你建立一个新文件。Vim编辑程序有三种操作模式,分别称为 编辑模式插入模式 和 命令模式,当运行Vim时,首先进入编辑模式。

退出编辑模式: ese  或者command+[

进入编辑模式  command+]


查找跳转,

第一:显示行号

:set number

然后,跳转到行


:345                    将光标移到第 345 行

:345w file            将第 345 行写入 file 文件

:3,5w file             将第 3 行至第 5 行写入 file 文件

:1,.w file              将第 1 行至当前行写入 file 文件

:.,$w file              将当前行至最后一行写入 file 文件

:.,.+5w file           从当前行开始将 6 行内容写入 file 文件

:1,$w file             将所有内容写入 file 文件,相当于 :w file 命令


第二:记住万能的 正则表达式 ……

:/str/                       正向搜索,将光标移到下一个包含字符串 str 的行

:?str?                     反向搜索,将光标移到上一个包含字符串 str 的行

:/str/w file               正向搜索,并将第一个包含字符串 str 的行写入 file 文件

:/str1/,/str2/w file    正向搜索,并将包含字符串 str1 的行至包含字符串 str2 的行写


正文替换

利用 :s 命令可以实现字符串的替换。具体的用法包括:


:%s/str1/str2/          用字符串 str2 替换行中首次出现的字符串 str1

:s/str1/str2/g           用字符串 str2 替换行中所有出现的字符串 str1

:.,$ s/str1/str2/g      用字符串 str2 替换正文当前行到末尾所有出现的字符串 str1

:1,$ s/str1/str2/g     用字符串 str2 替换正文中所有出现的字符串 str1

:g/str1/s//str2/g       功能同上

:m,ns/str1/str2/g     将从m行到n行的str1替换成str2


删除正文

在命令模式下,同样可以删除正文中的内容。例如:

:d                              删除光标所在行

:3d                             删除 3 行

:.,$d                           删除当前行至正文的末尾

:/str1/,/str2/d                 删除从字符串 str1 到 str2 的所有行

:g/^\(.*\)$\n\1$/d              删除连续相同的行,保留最后一行

:g/\%(^\1$\n\)\@<=\(.*\)$/d     删除连续相同的行,保留最开始一行

:g/^\s*$\n\s*$/d                删除连续多个空行,只保留一行空行

:5,20s/^#//g                    删除5到20行开头的 # 注释


Vim的保存文件和退出命令


命令

简单说明

:w

保存编辑后的文件内容,但不退出vim编辑器。这个命令的作用是把内存缓冲区中的数据写到启动vim时指定的文件中。

:w!

强制写文件,即强制覆盖原有文件。如果原有文件的访问权限不允许写入文件,例如,原有的文件为只读文件,则可使用这个命令强制写入。但是,这种命令用法仅当用户是文件的属主时才适用,而超级用户则不受此限制。

:wq

保存文件内容后退出vim编辑器。这个命令的作用是把内存缓冲区中的数据写到启动vim时指定的文件中,然后退出vim编辑器。另外一种替代的方法是用ZZ命令。

:wq!

强制保存文件内容后退出vim编辑器。这个命令的作用是把内存缓冲区中的数据强制写到启动vim时指定的文件中,然后退出vim编辑器。

ZZ

使用ZZ命令时,如果文件已经做过编辑处理,则把内存缓冲区中的数据写到启动vim时指定的文件中,然后退出vim编辑器。否则只是退出vim而已。注意,ZZ命令前面无需加冒号“:”,也无需按Enter键。

:q

在未做任何编辑处理而准备退出vim时,可以使用此命令。如果已做过编辑处理,则vim不允许用户使用“:q”命令退出,同时还会输出下列警告信息:

No write since last change (:quit!overrides)

:q!

强制退出vim编辑器,放弃编辑处理的结果。如果确实不需要保存修改后的文件内容,可输入“:q!”命令,强行退出vim编辑器。

:w filename

把编辑处理后的结果写到指定的文件中保存

:w! filename

把编辑处理后的结果强制保存到指定的文件中,如果文件已经存在,则覆盖现有的文件。

:wq! filename

把编辑处理后的结果强制保存到指定的文件中,如果文件已经存在,则覆盖现有文件,并退出vim编辑器。

 

基本,记住这些就够用了……




上一篇:First page
下一篇:Last page