精华内容
下载资源
问答
  • Vim使用进阶

    千次阅读 2013-10-29 17:02:41
    作为一个使用vim挺长时间的人,现在来写这篇东西确实是尴尬的,就像很多大神们说的,vim是世界上最好用的编辑器,没有... 看过学习vim使用方法的几条建议,也一并写来警示一下自己吧:学习vim在开始时是痛苦的;需要时

        作为一个使用vim挺长时间的人,现在来写这篇东西确实是尴尬的,就像很多大神们说的,vim是世界上最好用的编辑器,没有之一。然后前两天又重新看了看vim的那些功能和使用方法,更觉得这么长时间使用vim却远没有用到它的强大之处。所以这里对常用的vim功能和用法做一个总结,自己时常也能翻看熟悉一下。

        看过学习vim使用方法的几条建议,也一并写来警示一下自己吧:学习vim在开始时是痛苦的;需要时间和不断地练习,就像你学习一个乐器一样;不要期望你能在3天内把vim练得比别的编辑器更有效率(像博主这种应该需要两周以上的苦练)。

        首先需要说明一下的是,vim有四种基本模式:

            1)命令行模式:键入的内容被解释为命令。

            2)插入模式:键入的内容被插入文件。

            3)可视模式:通过键盘选择、剪切、复制文本。

            4)Ex 模式:使用更多命令(例如:存储文件、替换文本等)。

        博主最先接触vim的时候,也试图像其他的编辑器一样使用,即进入到插入模式后进行笨拙的操作。而事实上,vim真正强大和快速的地方在于其命令行模式。在真正熟练vim之后会发现,使用插入模式的时间越来越少,而越来越倾向于使用便捷的命令行模式。

    一、关于打开关闭和模式切换

        可以通过以下命令启动Vim:

        $ vim test.txt

        然后文档被打开了,但还不能进行编辑,此时 Vim 处在命令行模式。该模式下可以使用键盘执行 Vim 命令。

        要插入文本,将光标定位至插入位置(下几节中会说明高效的光标定位方法),然后按 i 进入插入模式。

        按 Esc 即可返回命令行模式。

        编辑完毕后输入:wq再回车可以保存退出,或者:q!可以不保存退出。

        在命令行模式下,有以下一些值得注意的地方:

            1):e <path/to/file>  →打开一个文件

            2):w  →存盘

            3):saveas <path/to/file>  →另存为 <path/to/file>

            4):x, ZZ 或 :wq →保存并退出 (:x 表示仅在需要时保存,ZZ不需要输入冒号并回车)

            5):q! →退出不保存 :qa! 强行退出所有的正在编辑的文件,就算别的文件有更改。

            6):bn 和 :bp  →在同时打开很多文件时,可通过这两个命令来切换下一个或上一个文件。

    二、关于光标移动

        Vim 中的确可以使用←↓↑→移动光标,不管是命令行模式下还是插入模式下,然而Vim非常不鼓励大家这么做。因为这样你需要把右手从字母区移动到方向键,严重影响效率。

        强烈建议使用hjkl 来移动光标,一个简单的记忆方法是j 就像一个下垂的钩子,是向下移动的。

        另外一些在命令行模式下常用的光标移动基本方法包括:

            1)0 → 数字零,到行头

            2)^ → 到本行第一个不是blank字符的位置(所谓blank字符就是空格,tab,换行,回车等)

            3)$ → 到本行行尾

            4)g_ → 到本行最后一个不是blank字符的位置。

            5)/pattern → 搜索 pattern 的字符串(陈皓注:如果搜索出多个匹配,可按n键到下一个)

        还有一些用熟练之后很强大的光标定位功能:

            1)NG  →到第 N 行,注意G是大写的

            2)gg  →到第一行。

            3)G  →到最后一行。

            4)w →到下一个单词的开头。

            5)e →到下一个单词的结尾。

            6)% : 匹配括号移动,包括小中大括号(需要把光标先移到括号上)

            7)*和#: 匹配光标当前所在的单词,移动光标到下一个(或上一个)匹配单词(*是下一个,#是上一个)

            8)fx:移动光标到当前行的下一个 x 处。x 可以是任意一个字母。

            9)tx:和上面的命令类似,但是是移动到 x 的左边一个位置。

            10)Fx:和 fx 类似,不过是往回找。

    三、删除、撤销与恢复

        1)x  →删除光标所在处的字符(X 删除光标前的字符)。

        2)d  →代表你将要删除一些内容,在按下 d 之后,搭配移动光标的命令,可指定需要删除的内容。(dW 可以删除至下一个单词,d^ 可以删至行首)

        3)dd  →删除整行。

        4)cw  →删除并替换当前单词。

        5)u  →命令行模式下撤销上一个命令

        6)Ctrl+r  →恢复之前撤销的命令。

    四、关于可视模式

        命令行模式按 v 进入可视模式,该模式下会高亮一些文本,可以通过光标移动选择文本。选定后按 y 可以复制文本,c 可以剪切。之后可以使用 p 在光标后粘贴,P 在光标前。

        V 是行选取模式,以行为单位进行选取。

        Ctrl+v是块选取模式,可以选取一块矩形区域中的文本。

    五、快速移动大段文字

        在很明确的知道想拷贝或者剪切什么,其实无需进入可视选择模式。在命令行模式下使用一些快捷操作可以节省更多时间:

        1)d{motion}  →剪切 motion 命令跨过的字符到剪贴板。比如,dw 会剪切一个词而 dfS 会将从当前光标到下一个 S 之间的字符剪切至剪贴板。

        2)y{motion}  →和上面类似,不过是拷贝。

        3)c{motion}  →和 d{motion} 类似,不过最后进入插入模式。

        4)dd  →剪切当前行。

        5)yy  →拷贝当前行。

        6)cc  →剪切当前行并且进入插入模式。

        7)D  →剪切从光标位置到行尾到剪贴板。

        8)Y  →拷贝当前行。

        9)C  →和 D 类似,最后进入插入模式。

        10)x  →剪切当前字符到剪贴板。

        11)s  →和x类似,不过最后进入插入模式。

        12)p  →粘贴

        13)N<command>  →重复某个命令N次

    六、关于搜索和替换

        Vim中有类似正则表达式的搜索查找功能,非常好用。命令行模式下,按下 /,输入搜索内容,按下回车即可。n 查找下一处匹配,N 查找上一处。

        替换文本需要使用 :s/命令(注意冒号),格式为:[范围]s/[原字符串]/[新字符串]/[参数]。

    命令

    作用

     :s/xxx/yyy/

    将当前行中的第一个「xxx」替换为「yyy」

     :s/xxx/yyy/g

    将当前行中的所有「xxx」替换为「yyy」

     :s/xxx/yyy/gc

    同上,但每次替换都会询问

     :%s/xxx/yyy/g

    将整个文件中的所有「xxx」替换为「yyy」

        可以用 :g/ 命令匹配字符串(注意冒号),并对每个匹配执行同一操作。格式为:[范围]:g/[模式串]/[命令]。例如:

    命令

    作用

     :g/^#/d

    删除所有以「#」打头的行

     :g/^$/d

    删除所有空行


        看过一个总结的很好的思维导图,整张图放在这里看不清,因此按照不同的操作类型拆分成多张图,列在下面了:








    展开全文
  • vim使用手册

    千次阅读 2017-07-27 21:23:57
    vim使用手册 vim简介 |如果该文件存在,文件被打开并显示内容 |如果该文件不存在,当编辑后第一次存盘时创建它 |如果目录不存在,将无法保存编辑内容 1. 打开文件 vim [OPTION]… FILE… 选项 含义 ...

    vim使用手册


    一. vim简介

    Vim是从vi发展出来的一个文本编辑器。代码补完、编译及错误跳转等方便编程的功能特别丰富,在程序员中被广泛使用。和Emacs并列成为类Unix系统用户最喜欢的编辑器。
    Vim的第一个版本由布莱姆·米勒在1991年发布。最初的简称是Vi IMitation,随着功能的不断增加,正式名称改成了Vi IMproved。现在是在开放源代码方式下发行的自由软件。
    布莱姆·米勒在80年代末购入他的Amiga计算机时,Amiga上还没有他最常用的编辑器vi。Bram从一个开源的vi复制Stevie开始,开发了Vim的1.0版本。最初的目标只是完全复制vi的功能,那个时候的Vim是Vi IMitation(模拟)的简称。1991年Vim 1.14版被”Fred Fish Disk #591”这个Amiga用的免费软体集所收录了。1992年1.22版本的Vim被移植到了UNIX和MS-DOS上。从那个时候开始,Vim的全名就变成Vi IMproved(改良)了。
    在这之后,Vim加入了不计其数的新功能。做为第一个里程碑的是1994年的3.0版本加入了多视窗编辑模式(分区视窗)。从那之后,同一萤幕可以显示的Vim编辑文件数可以不止一个了。1996年发布的Vim 4.0是第一个利用GUI(图形用户界面)的版本。1998年5.0版本的Vim加入了highlight(语法高亮)功能。2001年的Vim 6.0版本加入了代码折叠、插件、多国语言支持、垂直分区视窗等功能。2006 年5月发布的Vim 7.0版更加入了拼字检查、上下文相关补全,标签页编辑等新功能。2008年8月发布的Vim 7.2,合并了Vim 7.1以来的所有修正补丁,并且加入了脚本的浮点数支持。现在最新的版本是2013年8月发布的Vim 7.4,这个版本除了包含最新修正的补丁之外,还加入了“永久撤销”、“Blowfish算法加密”、“文本隐藏”和“Lua以及Python3的接口”等新功能。


    二. vim的使用方法

    1. 打开文件

    vim是以vim命令后加文件名的方式来打开文件的,但vim功能强大,在打开文件时还可以加入参数实现更多的功能。用法:vim [OPTION]… FILE…
    vim命令的选项及作用:

    选项 含义
    + 打开文件后光标默认在尾行行首。
    +# 打开文件后光标处于第#行的行首。
    +/PATTERN 打开文件后,直接让光标处于第一个被PATTERN匹配到的行的行首
    -b file 以二进制方式打开文件
    -d file1 file2… 比较多个文件
    -m file 以只读方式打开文件,打开后对文件的修改无法保存。
    ex file或vim –e 直接进入扩展命令模式

    补充:

    • 如果该文件存在,文件被打开并显示内容
    • 如果该文件不存在,当编辑后第一次存盘时创建它
    • 如果目录不存在,将无法保存编辑内容

    2. vim的三种模式

    vim是一款模式编辑器,对vim的操作进行在vim的三种模式之上。所谓三种模式分别是:1.命令(Normal)模式 ,默认模式,主要作用是移动光标,剪切/粘贴文本。2.插入(Insert)或编辑模式 ,主要作用是修改文本。3.扩展命令(extended command )模式 ,主要作用是保存,退出等。所以想要娴熟操作vim,在三种模式之间的切换是必不可少的。vim的模式切换是以命令模式为基础的,也就是打开文件时的第一个界面,vim打开文件默认是在命令模式界面。所以无论你是要进入扩展模式还是插入模式,都需要在命令模式进行切换,扩展模式和插入模式之间是不能直接切换的。

    vim三种主要模式之间的切换:
    按键 作用
    Esc键 退出当前模式
    2Esc键 总是返回到命令模式
    ESC 插入模式转到命令模式
    命令模式转到扩展命令模式
    2ESC,enter 扩展命令模式转到命令模式

    3.命令模式

    1.命令模式进入插入模式

    按键 作用
    i insert, 在光标所在处输入
    I 在当前光标所在行的行首输入
    a append, 在光标所在处后面输入
    A 在当前光标所在行的行尾输入
    o 在当前光标所在行的下方打开一个新行
    O 在当前光标所在行的上方打开一个新行

    2.命令模式光标间跳转

    2.1字符间跳转:
    按键 作用
    h
    l
    j
    k
    #command 跳转由#指定的个数的字符
    2.2单词间跳转:
    按键 作用
    w 下一个单词的词首
    e 当前或下一单词的词尾
    b 当前或前一个单词的词首
    #COMMAND 由#指定一次跳转的单词数
    2.3当前页跳转:
    按键 作用
    H 页首
    M 页中间行
    L 页底
    2.4行首行尾跳转:
    按键 作用
    ^ 跳转至行首的第一个非空白字符
    0 跳转至行首
    $ 跳转至行尾
    2.5行间移动:
    按键 作用
    #G 跳转至由#指定行
    G 最后一行
    1G,gg 第一行
    2.6句间移动
    按键 作用
    ) 下一句
    ( 上一句
    2.7 段落间移动:
    按键 作用
    } 下一段
    { 上一段

    3.命令模式翻屏操作

    按键 作用
    Ctrl+f 向文件尾部翻一屏
    Ctrl+b 向文件首部翻一屏
    Ctrl+d 向文件尾部翻半屏
    Ctrl+u 向文件首部翻半屏

    4.命令模式编辑操作

    4.1字符编辑:
    按键 作用
    x 删除光标处的字符
    x 删除光标处起始的#个字符
    xp 交换光标所在处的字符及其后面字符的位置
    ~ 转换大小写
    J 删除当前行后的换行符
    gU 变大写
    gu 变小写
    100 i sun [ESC] 粘贴“sun”100次
    4.2替换命令(r, replace)
    按键 作用
    r 替换光标所在处的字符
    R 切换成REPLACE模式,可进行选择替换
    4.3删除命令(d,delete)
    按键 作用
    d 删除命令,可结合光标跳转字符,实现范围删除
    d$ 删除到行尾
    d^ 删除到非空行首
    d0 删除到行首
    dw 删除到下一个单词的词首
    de 删除到当前或下一单词的词尾
    db 删除到当前或前一个单词的词首
    #COMMAND 删除到由#指定一次跳转的单词数
    dd 删除光标所在的行
    #dd 删除光标所在处由#指定的多行
    D 从当前光标位置一直删除到行尾,留空行,等同于d$
    4.4复制命令(y, yank):
    按键 作用
    y 复制,行为相似于d命令
    y$ 复制到行尾
    y0 复制到行首
    y^ 复制到非空行首
    ye 复制到当前或下一单词的词尾
    yw 复制到下一个单词的词首
    yb 复制到当前或前一个单词的词首
    #COMMAND 复制到由#指定一次跳转的单词数
    yy 复制整行
    #yy 复制光标所在处由#指定的多行
    Y 从当前光标位置一直复制到行尾,留空行,等同于d$
    4.5粘贴命令(p, paste):
    按键 作用
    p 缓冲区存的如果为整行,则粘贴当前光标所在行的下方;否则,则粘贴至当前光标所在处的后面
    P 缓冲区存的如果为整行,则粘贴当前光标所在行的上方;否则,则粘贴至当前光标所在处的前面
    4.6改变命令(c, change)
    按键 作用
    c 修改后切换成插入模式
    c$ 删除到行尾,并切换成插入模式
    c^ 删除到非空行首,并切换成插入模式
    c0 删除到行首,并切换成插入模式
    cb 删除到当前或前一个单词的词首,并切换成插入模式
    ce 删除到当前或下一单词的词尾,并切换成插入模式
    cw 删除到下一个单词的词首,并切换成插入模式
    #COMMAND 删除到由#指定一次跳转的单词数,并切换成插入模式
    cc 删除当前行,并切换成插入模式
    #cc 删除#指定的多行,并切换成插入模式
    C 删除当前光标到行尾,并切换成插入模式
    4.7撤销更改
    按键 作用
    u 撤销最近的更改
    #u 撤销之前多次更改
    U 撤消光标落在这行后所有此行的更改
    Ctrl-r 重做最后的“撤消”更改
    . 重复前一个操作
    n. 重复前一个操作n次

    4. 扩展命令模式

    4.1扩展命令模式下的简单命令用法:

    在命令模式下按“:”进入扩展命令模式,进入后,编辑器的底部左下角会出现一个命令提示符,在这个命令提示符后面输入命令,可以进行扩展命令模式下的操作。

    命令 作用
    w 写(存)磁盘文件
    wq 写入并退出
    x 写入并退出
    q 退出
    q! 不存盘退出,即使更改都将丢失
    r filename 读文件内容到当前文件中
    w filename 将当前文件内容写入另一个文件
    !command 执行命令
    r!command 读入命令的输出

    4.2扩展命令模式:地址定界

    在扩展命令模式下进行地址定界方法一:利用行数进行定界
    格式|:开始#,结束#

    用法 含义
    # 具体第#行,例如2表示第2行
    #,# 从左侧#表示起始行,到右侧#表示结尾行
    #,+# 从左侧#表示的起始行,加上右侧#表示的行数
    2,+3 表示2到5行
    . 表示当前行
    $ 表示最后一行
    . 或$-1 当前行到倒数第二行
    % 全文, 相当于1,$

    在扩展命令模式下进行地址定界方法二:利用正则进行定界,从第一次被pat1模式匹配到的行开始,一直到第一次被pat2匹配到的行结束。
    格式| :/正则1/,/正则2/
    #,/pat/ ——–>从第#行开始,一直到第一次被pat匹配到的行结束。
    /pat/,$ ———>从第一次被pat模式匹配到的行开始,到行尾结束。
    使用方式:后跟一个编辑命令

    用法 含义
    d 删除匹配到的内容
    y 复制匹配到的内容
    w file 将范围内的行另存至指定文件中
    r file 在指定位置插入指定文件中的所有内容

    4.3扩展命令模式:查找

    查找命令:

    按键 作用
    /PATTERN 从当前光标所在处向文件尾部查找
    ?PATTERN 从当前光标所在处向文件首部查找
    n 与命令同方向
    N 与命令反方向

    4.4扩展命令模式:查找并替换

    扩展命令模式下,在命令提示符后面输入字母“s”,然后按格式输入要查找和替换的内容,便可进行查找替换。
    格式:s/要查找的内容/替换为的内容/修饰符

    格式项 作用
    要查找的内容 分割符后输入要查找的内容,可使用模式,也就是正则表达式。
    替换为的内容 不能使用模式,但可以使用\1, \2, …等后向引用符号;还可以使用“&”引用前面查找时查找到的整个内容
    修饰符:
    i 忽略大小写
    g 全局替换;默认情况下,每一行只替换第一次出现
    gc 全局替换,每次替换前询问
    如果查找和替换的内容中包含路径,再使用"/"作为分割符就不方便了,这时可以使用@、#等特殊符号来做分割符。
    例如:
        s@/etc@/var@g
        s#/boot#/#i

    5.vim的寄存器

    • 有26个命名寄存器和1个无命名寄存器,常存放不同的剪贴版内容,可以不同会话间共享
    • 寄存器名称a,b,…,z,格式:“寄存器放在数字和命令之间
      如:3”tyy 表示复制3行到t寄存器中
      “tp 表示将t寄存器内容粘贴

    • 未指定,将使用无命名寄存器

    • 有10个数字寄存器,用0,1,…,9表示,0存放最近复制内容,1存放最近删除内容。当新的文本变更和删除时,1转存到2,2转存到3,以此类推。数字寄存器不能在不同会话间共享

    6.编辑二进制文件

    以二进制方式打开文件,例如:vim –b binaryfile
    扩展命令模式下,利用xxd命令转换为可读的十六进制
    :%!xxd
    扩展命令模式下,利用xxd命令转换回二进制,进行二进制文件的编辑。
    :%!xxd –r
    

    7.可视化模式

    在可视化模式下允许移动光标选择文本块,选中的文字可被删除,复制,变更,过滤,搜索,替换等。

    按键 作用
    v 命令模式下,进入面向字符的可视化模式
    V 命令模式下,进入面向行的可视化模式
    ctrl-v 命令模式下,进入面向块的可视化模式
    w 选择一个单词
    ) 选择一句
    } 选择一段
    箭头 字符间移动

    8.多文件模式

    多文件模式可以同时打开多个文件,
    用法:vim FILE1 FILE2 FILE3 …

    命令 作用
    :next 下一个
    :prev 前一个
    :first 第一个
    :last 最后一个
    :wall 保存所有
    :qall 退出所有
    :wqall 保存退出所有

    9.使用多个“窗口”

    多窗口模式可以同时打开多个窗口进行编辑,
    用法:vim -o|-O FILE1 FILE2 …
    -o: 水平分割
    -O: 垂直分割
    在窗口间切换:Ctrl+w
    单文件窗口分割方法:

    按键 作用
    Ctrl+w,s或 :split, 水平分割
    Ctrl+w,v或:vertical, 垂直分割
    ctrl+w,q 取消相邻窗口
    ctrl+w,o 取消全部窗口
    :wqall 退出

    10.关闭文件

    10.1扩展模式退出编辑器:

    选项 含义
    :q 退出
    :q! 强制退出,丢弃做出的修改
    :wq 保存退出
    :x 保存退出

    10.2命令模式下退出编辑器:

    选项 含义
    ZZ 保存退出
    ZQ 不保存退出

    三. 定制vim的工作特性

    定义vim的工作特性可以为使用带来许多便利,增加使用乐趣。定制vim的工作特性有两种方法,一种是将设置写入配置文件,这样可以永久有效。另一种方法是在vim的扩展模式下直接设置,只对当前vim进程有效。
    扩展模式:当前vim进程有效
    配置文件:永久有效
    全局:/etc/vimrc —–>将配置写入此文件将对所有用户有效。
    个人:~/.vimrc ——->将配置写入此文件只对个人有效。
    常用工作特性设置参数:

    特性 参数
    行号显示 set number, 简写为set nu
    行号取消显示 set nonumber, 简写为set nonu
    括号成对匹配 set showmatch, 简写为set sm
    括号取消成对匹配 set nosm
    自动缩进启用 set ai
    自动缩进禁用 set noai
    高亮搜索启用 set hlsearch
    高亮搜索禁用 set nohlsearch
    语法高亮启用 syntax on
    语法高亮禁用 syntax off
    忽略字符的大小写启用 set ic
    忽略字符的大小写不忽略 set noic
    文件格式启用windows格式 set fileformat=dos
    文件格式启用unix格式 set fileformat=unix
    设置文本宽度 set textwidth=65 (vimonly)
    设置文本宽度 set wrapmargin=15

    四. vi/vim内置帮助

    vimtutor 命令是以vim编辑器打开vim帮助文档,在里面可以边看帮助文档边练习操作,非常便捷,是学习vim的必备工具。而且在里面做的修改不会保存。
    在扩展命令模式下输入以下命令可以查看vim内置帮助:

    • help
    • helptopic
    • help option-list
    • setor:set all
    展开全文
  • vscode上的vim使用

    万次阅读 2018-06-08 19:50:58
    基于vscode的vim使用 一、前言 为什么好好的想用用vim?准确来说是vscode上的vim插件。 首先是chrome上安装了 vimium 插件,这款插件是基于vim的一些快捷键进行的一些页面浏览操作。 在使用过程中,慢慢感觉...

    vscode vim大法好

    基于vscode的vim使用


    一、前言

    为什么好好的想用用vim?准确来说是vscode上的vim插件。
    首先是chrome上安装了 vimium 插件,这款插件是基于vim的一些快捷键进行的一些页面浏览操作。
    在使用过程中,慢慢感觉到vim快捷键的方便,也发现到了自己键盘操作的指法问题等很多键盘操作的习惯问题,
    为了效率,需要改变一下已有的一些毛病。
    在这种情况下,开始在vscode上使用vim插件以来提高自己的编程效率。希望这是对自己有帮助的,同时作为学软件的,了解一下vim的使用习惯也是必要的,虽然学习成本很高,但个人觉得还是有必要了解一下。


    二、开始了入坑之路

    我在vscode上用的vim插件是Vim,就是那个用的人最多的那个。
    这种感觉就像是手在扭曲、打架。

    2.1 光标的移动

    在normal模式下

    keys 效果
    h 向左移动
    j 向下移动
    k 向上移动
    l 向右移动
    gg 跳到文件开头
    G 跳到文件尾
    b 跳到前一个单词的开头
    e 跳到下一个单词的结尾
    w 跳到下一个单词的开头

    2.2 选中

    在normal模式下

    keys 效果
    v+i+w 放在一个单词的任意位置时均可选中本单词
    v+e 光标放在一个单词的开头时可选中本单词
    v+h/j/k/l 进入视图模式后使用方向键容易选中你想选的部分

    2.3 复制、粘贴与剪切

    在normal模式下

    keys 效果
    y 复贴(要先选中)
    p 粘贴
    D 向后全剪切(含光标字符)
    dd 剪切行
    x 向后单个字符剪切(含光标字符)
    X 向前单个字符剪切(不含光字符)

    2.x 修改配置

    遇到ctrl无法使用

    "vim.useCtrlKeys": true, 

    改成

    "vim.useCtrlKeys": false, 

    三、参考

    1. VIM下的跳转练习

    展开全文
  • Linux-VIM使用

    千次阅读 2016-07-12 21:51:57
    Linux-VIM使用

    转载请标明出处:
    http://blog.csdn.net/zq2114522/article/details/51892898
    本文出自:【梁大盛的博客】

    Linux-VIM使用

    目前基本把工作环境转移到linux平台(ubuntu-16.04 x64),但是在linux平台下查看代码各种不方便。其实是习惯了sourceInsight,又不想通过wine的方式安装sourceInsight。想起VIM这强大的工具!借此也把自己配置的环境Mark下来作为记录。

    • VIM安装
    • 添加Ctags插件
    • 添加Tlist插件
    • 添加WinManager插件
    • 我的IVM
    • 总结

    VIM安装

    在ubuntu下安装VIM非常简单,通过apt-get命令就可以完成VIM安装

    通过终端输入指令:

    sudo apt-get install vim 

    检验是否安装成功。在终端输入vim看看vim程序是否正确运行起来?
    可以看的我的终端里面已经把vim程序打开了。

    这里写图片描述

    但是每次都要输入vim才运行vim程序,作为懒人的我是容不得这种情况出现的。

    通过终端输入命令(update-alternatives工具可以很方便的通过输入vi打开vim程序)

    sudo update-alternatives --install /usr/bin/vi vi usr/bin/vim 300

    启动vim的时候出现会读取两个地方的配置文件。

    • /etc/vim/vimrc
    • ~/.vimrc

    在/etc/vim/vimrc配置文件是全局的,无论哪一个用户启动vim的时候都会读取的配置文件。
    ~/.vimrc文件则是某一用户的配置文件。每一个用户有一个配置文件。但是仔细看发现其实安装好vim后并没有在自动生成~/.vimrc文件。那么我们就自己新建一个把,并且把相关的文件也创建起来。

    在终端输入指令:

    touch ~/.vimrc
    mkdir ~/.vim/{doc,plugin,syntax}

    分别是新建用户的配置文件(~/.vimrc),手册(doc),插件(plugin),不知道是什么文件夹(syntax)
    接下来就是怎么安装插件并且配置插件

    添加Ctags插件

    Ctags是一个生成标签的工具

    在终端输入

    sudo apt-get install exuberant-ctags

    检查ctags是否正确安装

    这里写图片描述

    怎么使用ctags?
    首先进入到我们项目的根目录下,并且输入下面的指令:

    ctags -R

    这里写图片描述

    -R参数代表循环进入每一个目录并且生成tags文件.在根目录下会生成一个tags文件.
    tags保存的是该项目的所以标签

    这里写图片描述
    在根目录下打开/fs/exec.c文件.vim会自动读取当前文件下的tags文件.这时候
    光标移动到需要跳转的标签点击”

    "Ctags设置                                                                                               "设置ctags程序位置
    let Tlist_Ctags_Cmd = '/usr/bin/ctags'
    "ctags自动查找tags文件
    set tags=tags; 

    这样只有在目录文件夹下打开代码文件vim都会递归到上层目录查找tags文件

    添加Tlist插件

    Tlist插件提供可对变量,函数进行预览.

    进入https://sourceforge.net/projects/vim-taglist/files/vim-taglist/下载zip压缩包.
    并且解压,解压以后得到两个文件夹(doc,plugin)

    这里写图片描述

    taglist.vim拷贝到~/.vim/plugin
    taglist.txt拷贝到~/.vim/doc

    回到vim软件并且输入Tlist,就可以看的Tlist就出现在左/右边
    这里写图片描述

    事实上每一次启动vim都需要手动启动Tlist,每次退出vim以后还有手动退出一次Tlist才完全退出vim.这样不科学!

    再来编辑一次~/.vimrc文件.

    "设置Tlist
    "启动vim Tlist自动打开窗口
    "let Tlist_Auto_Open=1
    
    "只显示当前文件的Tlist,打开新文件后旧的Tlist会折叠
    "let Tlist_File_Fold_Auto_Close=1
    
    "当打开新的文件的时候会把旧的Tlist窗口关掉
    let Tlist_Show_One_File=1
    
    "如果Tlist是最后一个窗口退出vim
    "如果不设置当退出vim的时候还会停留在Tlist窗口
    "并且需要再次输入:q才能退出vim
    let Tlist_Exit_OnlyWindow=1
    
    "Tlist显示在右侧
    let Tlist_Use_Right_Window=1
    

    这里并没有打开Tlist_Auto_Open开关,因为在后面我们会使用WinManager打开Tlist

    添加WinManager插件

    WimManager插件让我们的vi生成一个窗口能够预览目录下的文件

    进入http://www.vim.org/scripts/script.php?script_id=95下载zip压缩包.

    这里写图片描述

    当然解压以后也是拷贝到相应的目录下

    编辑~/.vimrc文件.具体每一个参数的作用都在注解里面解析清楚

    "Winmanager设置
    "启动vim Winmanager自动打开
    "会自动把Tlist也显示,所以把上面的Tlist_Auto_Open注释掉了
    let g:AutoOpenWinManager=1
    
    "设置布局,左上显示TagList,左下显示Wimmanager,右显示vim
    let g:winManagerWindowLayout = "TagList|FileExplorer,BufExplorer"
    
    "设置winManager的宽度,默认是25
    let g:winManagerWidth = 40
    
    "定义打开关闭winmanager快捷键为F8
    nmap <silent> <F8> :WMToggle<cr>
    

    添加Tlist,WinManager到vim以后我们发现有两个问题.
    1,Tlist,WinManager在左侧显示.并且进入vin的时候光标在最左上的那一个窗口.并不是在vim的输入窗口.我们需要把Tlist,WinManager弄到右侧
    2,退出vim的时候还需要Tlist,WinManager还残留在哪里

    这两个问题修改插件代码可以完成具体看下面贴出来的代码

    这里写图片描述

    winbufnr(2)修改为winbufnr(3)

    在~/.vim/plugin/winmanager.vim末尾添加如下的代码

    "设置自动打开WinManager                                                                                 
    if g:AutoOpenWinManager
        autocmd VimEnter * nested call s:StartWindowsManager()|1wincmd w                                
    endif

    最后把我配置的~/.vimrc文件都贴出来

    "设置高亮关键字显示
    syntax enable
    
    "显示行号
    set number
    
    "设置帮助语言
    set helplang=cn
    
    "Ctags设置
    "设置ctags程序位置
    let Tlist_Ctags_Cmd = '/usr/bin/ctags'
    
    "ctags自动查找tags文件
    set tags=tags;
    
    
    "设置Tlist
    "启动vim Tlist自动打开窗口
    "let Tlist_Auto_Open=1
    
    "只显示当前文件的Tlist,打开新文件后旧的Tlist会折叠
    "let Tlist_File_Fold_Auto_Close=1
    
    "当打开新的文件的时候会把旧的Tlist窗口关掉
    let Tlist_Show_One_File=1
    
    "如果Tlist是最后一个窗口退出vim
    "如果不设置当退出vim的时候还会停留在Tlist窗口
    "并且需要再次输入:q才能退出vim
    let Tlist_Exit_OnlyWindow=1
    
    "Tlist显示在右侧
    let Tlist_Use_Right_Window=1 
    
    
    "Winmanager设置
    "启动vim Winmanager自动打开
    "会自动把Tlist也显示,所以把上面的Tlist_Auto_Open注释掉了
    let g:AutoOpenWinManager=1
    
    "设置布局,左上显示TagList,左下显示Wimmanager,右显示vim
    let g:winManagerWindowLayout = "TagList|FileExplorer,BufExplorer"
    
    "设置winManager的宽度,默认是25
    let g:winManagerWidth = 40
    
    "定义打开关闭winmanager快捷键为F8
    nmap <silent> <F8> :WMToggle<cr>

    我的VIM

    我现在在使用的VIM效果图.当然我喜欢简单为主

    这里写图片描述

    总结

    vim是什么?就是一款文本编辑工具罢了.是一个能够工具你自己喜欢定制化的编辑工具.当然你可以把很多你喜欢的东西加到里面去.
    希望大家都能用上一款自己喜欢的vim!

    展开全文
  • vim使用点滴记录

    千次阅读 2017-05-25 18:33:30
    vim使用点滴记录重新要在linux下学习了,很久没折腾vim了,以前的一些技巧都基本忘了,现在重新学习,一点点折腾,把过程记录下来.打造属于自己的vim. 条目按学习的时间顺序排序. 用了几天终端下的vim, 今天(140412)发现...
  • vim 使用记录

    千次阅读 2018-04-12 11:37:51
    Vim 取消缩进 gg v shift加g = 取消高亮 vim noh vim 替换 比如替换abc成abd %s/abc/abd/g 在vim中出现^M 是由于win每行结尾为\r\n,而linux只有一个\n 单个文档直接使用: %s/^M//g 多个文档...
  • 提示1:本文主要讲解了Windows下VIM的使用,配置,美化与使用VIM写C++,Python,MarkDown,R。其他语言的插件很不清楚 ...由于依赖win下的很多软件,不方便直接切换到Linux,但是关于Win下的vim使用说明与参
  • Linux学习之旅(四)——vim使用技巧

    千次阅读 多人点赞 2019-06-12 10:53:12
    vim使用技巧
  • vi/vim使用进阶: 使用会话和viminfo
  • vim使用教程

    千次阅读 多人点赞 2019-04-23 11:29:55
    一、什么是VIM 二、VIM入门 三、常用命令介绍 移动 选择 复制 粘贴 删除(剪切) 撤销 恢复 查找 替换(修改) 缩进 标记 查看历史 进入插入模式 进入底行模式 其他tips 一、什么是VIM 在说vim之前,先说下什么是vi...
  • vim使用总结

    千次阅读 2018-01-01 23:52:56
    基本上 vi/vim 共分为三种模式,分别是:命令模式(Command mode) 插入模式(Insert mode) 底线命令模式(Last line mode) - 命令模式:启动 vi/vim,便进入了命令模式 i 切换到插入模式,以输入字符。 x 删除...
  • Fugitive.vim 使用教程一

    千次阅读 2017-09-09 11:16:15
    Fugitive.vim 使用教程一 deran pan, vim-004 原网页:http://vimcasts.org/episodes/fugitive-vim—a-complement-to-command-line-git  使用 :Git 命令你可以从 VIM 命令行中运行任何的 git 命令。使用该命令它...
  • Vim使用经验

    千次阅读 2010-02-07 14:44:00
    本贴汇总了以前写的几个有关于vim使用的帖子,这样看起来方便点。以后也尽量总结在这个帖子中。     1.vim中使用winmanage 显示目录结构 winmanager.zip 地址...
  • VIM使用教程

    千次阅读 多人点赞 2018-11-30 23:06:33
    文章目录一、什么是VIM二、VIM入门三、常用命令介绍 一、什么是VIM 在说vim之前,先说下什么是vi。vi是visual interface的简称,是Linux中最经典的文本编辑器。vi的核心设计思想是:让程序员的手始终保持在键盘的...
  • 返回vim使用进阶: 目录 本节所用命令的帮助入口: :help pyclewn 在前面的文章中介绍了使用vimgdb在vim中调试程序,这种方法允许在终端中的vim,以及图形化的gvim中调试你的程序。不过它的局限也是很明显的:首先,...
  • vim 使用技巧 set paste 解决粘贴乱序问题 vim 使用技巧 set paste 解决粘贴乱序问题 vim 使用技巧 set paste 解决粘贴乱序问题 vim 使用技巧 set paste 解决粘贴乱序问题 vim 使用技巧 set paste 解决粘贴乱序...
  • Kali linux vim使用命令笔记

    千次阅读 2018-02-20 11:27:00
    Kali linux vim使用命令笔记 Kali Linux系统的vi编辑器/vim编辑器的使用和CentOS有很多不同。基本使用方法如下 1、vi的基本概念 基本上vi可以分为三种状态,分别是命令模式(command mode)、插入模式(Insert ...
  • Fugitive.vim 使用教程二

    千次阅读 2017-09-09 11:17:26
    Fugitive.vim 使用教程二 deran pan, vim-005 原网页:http://vimcasts.org/episodes/fugitive-vim-working-with-the-git-index/ :Gstatus窗口  :Gstatus命令会打开一个窗口显示当前 git 仓库的状态,其内容...
  • 终端VIM使用Solarized配色

    万次阅读 2015-06-20 13:40:45
    终端VIM使用Solarized配色的方法GVIM使用了漂亮的Solarized配色方案,非常羡慕,果断尝试了一把,遇到了一些问题,记录下来,一呢留个记录,二呢,可以给需要的朋友作个参考。
  • Vim 使用教程

    千次阅读 2017-12-15 15:16:20
    set nocompatible ” be iMproved, required filetype off ” required” set the runtime path to include Vundle and initialize set rtp+=~/.vim/bundle/Vundle.vim
  • Linux - vi与vim使用与区别

    万次阅读 2020-01-26 22:20:54
    【1】VI与VIM区别 ** 它们都是多模式编辑器,不同的是vim 是vi的升级版本,它不仅兼容vi的所有指令,而且还有一些新的特性在里面。 vim的这些优势主要体现在以下几个方面: ① 多级撤消 我们知道在vi里,按 u只能...
  • 在ubuntu上想使用solarized 主题的vim,...说明:ubuntu中如果只修改vim使用solarized配色,会因terminal配色和vim配色叠加造成亮灰色,因此terminal也需要修改成solarized配色:1.如果没有安装git,先通过sudo apt-get
  • mac Vim 使用

    千次阅读 2016-03-20 14:21:35
    待看。 ... ...vim的学习曲线相当的大(参看各种文本编辑器的学习曲线),所以,如果你一开始看到的是一大堆VIM... Vim Progressively》,我觉得这是给新手最好的VIM的升级教程了,没有列举所有的命令,只是列举了那些
  • 说明:ubuntu中如果只修改vim使用solarized配色,会因terminal配色和vim配色叠加造成亮灰色,因此terminal也需要修改成solarized配色 1.如果没有安装git,先通过sudo apt-get install git-core安装git 2.从...
  • VIM使用系统剪切板

    千次阅读 2017-01-06 14:27:46
    在 Linux 终端模式下使用 vim 编辑器时发现经常需要在vim打开的文本文档进行复制粘贴,那么下面就跟着我的思路一步步往下走吧。一、首先确认当前 vim 配置是不是支持系统剪切板,可以在终端模式下输入命令:vim --...
  • vim 使用经验

    万次阅读 2004-09-23 13:24:00
    vim 使用技巧作者: camry.wu@gmail.com我是 vim 粉丝, 用了许久, 有一些自己的感受, 又到处挖到一些别人的技巧. 感觉对 vim粉丝比较有用, 就把它记在这儿. 希望借此文套出大家自己的巧活, 就正应了抛砖引玉的古话了....
  • VIM使用技巧及快捷操作

    千次阅读 2013-10-17 15:02:23
    之前在网上找了找资料,拼了这篇博客《配置gvim,建立ide环境(持续更新)》,今天就说说VIM使用技巧及快捷操作。 先贴一图: 这里也是一小部分,还有外语的:

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 56,267
精华内容 22,506
关键字:

vim使用