home > tools > CodeEditor > vim >

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

author:zhoulujun@live.cn    hits:

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

Vim编辑文件

$vim [filename]

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

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

进入编辑模式  command+]

vim编辑模式

一般模式下不可以修改某个字符,若要修改字符,只能进入编辑模式。从一般模式进编辑模式,只需按i、I、a、A、o、O、r和R中某个键即可。当进入编辑模式时,在屏幕尾部会显示INSERT或REPLACE字样

  • i:在当前字符前插入。

  • I:在光标所在行的行首插入。

  • a:在当前字符后插入。

  • A:在光标所在行的行尾插入。

  • o:在当前行的下一行插入新的一行。

  • O:在当前行的上一行插入新的 一行。

vim命令模式

查找跳转,

第一:显示行号

  • :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 命令

Vim正则表达式

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

  • :/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编辑器。

 

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


后记:

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

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

vim多窗口界面

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

感觉完全是装B……

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

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

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


转载本站文章《Vim入门基础及使用的一些心得体会和感概》, 请注明出处:https://www.zhoulujun.cn/html/tools/CodeEditor/vim/2016_0617_7840.html

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