• home > tools > CodeEditor > vim >

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

    Author:[email protected] Date:

    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