源代码下载: LearnVim-cn.txt

Vim
(Vi IMproved) 是 Unix 上的风行编辑器 vi 的克隆版本。这个文本编辑器
是为性能和晋升效率而设计的,并且在大多数基于 unix 的零碎上普遍存在。
它有大量的快捷键可用来疾速导航到文件的特定地位,以便进行疾速编辑。

Vim 导航根底

    vim <filename>   # 在 Vim 中关上 <filename>    :q               # 退出 Vim    :w               # 保留以后文件    :wq              # 保留文件并退出 Vim     :q!              # 退出 Vim 并且不保留文件                     # ! *强制* 执行 :q, 因而没有保留就退出 Vim    :x               # 保留文件并且退出 Vim, 是 :wq 的简写版本    u                # 撤销    CTRL+R           # 重做    h                # 左移一个字符    j                # 下移一行    k                # 上移一行    l                # 右移一个字符    # 在行内挪动    0                # 移到行首    $                # 移到行尾    ^                # 移到行内的第一个非空白字符处    # 在文本中查找    /word            # 光标之后的所有该词都高亮显示    ?word            # 光标之前的所有该词都高亮显示    n                # 查找后将光标移到该词的下一个呈现地位    N                # 光标移到该词的上一个呈现地位    :%s/foo/bar/g    # 将文件每一行上的所有 'foo' 都改成 'bar'    :s/foo/bar/g     # 将以后行上的所有 'foo' 都改成 'bar'    # 跳到字符处    f<字符>         # 向前跳移到 <字符> 上    t<字符>         # 向前跳移到 <字符> 的左侧    # 例如,        f<               # 向前跳移到 < 上    t<               # 向前跳移到 < 的左侧        # 按词挪动    # 默认一个单词由字母,数字和下划线组成    w                # 挪动到下一个词首    b                # 挪动到前一个词首    e                # 挪动到下一个词尾        # 挪动的其它命令    gg               # 移到文件顶部    G                # 移到文件开端    :NUM             # 移到第 NUM 行 (NUM 是任意数字)    H                # 移到屏幕顶部    M                # 移到屏幕两头地位    L                # 移到屏幕开端

模式:

Vim 基于 模式 这个概念。

命令模式 - Vim 启动后就处于这个模式,用于导航和操作命令
插入模式 - 用于在你的文件中进行批改
可视模式 - 用于高亮文本并对它们进行操作
Ex 模式 - 用于跳到底部的 ':' 提示行上输出命令

    i                # 在光标地位前,将 Vim 切换到插入模式    a                # 在光标地位后,将 Vim 切换到插入模式    v                # 将 Vim 切换到可视模式    :                # 将 Vim 切换到 ex 模式    <esc>            # 无论你以后处于什么模式,都返回到命令模式    # 复制和粘贴文本    y                # 复制所选的内容    yy               # 复制以后行    d                # 删除所选的内容    dd               # 删除以后行    p                # 在以后光标地位后粘贴复制的文本    P                # 在以后光标地位前粘贴复制的文本    x                # 删除以后光标地位处的字符

Vim 的 '语法'

Vim 能够被认为是按 '动词-修饰词-名词' 格局编排的一组命令:

动词 - 你的动作
修饰词 - 你如何执行你的动作
名词 - 你的动作所作用于的对象

对于 '动词','修饰词',和 '名词' 的几个重要例子:

    # '动词'        d                # 删除    c                # 批改    y                # 复制    v                # 可视化抉择    # '修饰词'    i                # 外部的    a                # 四周的    NUM              # 数字 (NUM 是任意数字)    f                # 查找文本并位于其上    t                # 查找文本并停于其后面    /                # 从光标处开始查找字符串    ?                # 在光标前查找字符串    # '名词'    w                # 词    s                # 句子    p                # 段落    b                # 块        # 示例 '语句' 或命令    d2w              # 删除 2 个词    cis              # 批改段落内的内容    yip              # 复制段落内的内容 (复制你所在的段落)    ct<              # 批改直到括号开启处                     # 对你的以后地位直到下个括号开启处的内容进行批改    d$               # 删除直到行尾

一些快捷键和技巧

    <!--TODO: Add more!-->
    >                # 将所选内容缩进一级    <                # 将所选内容勾销缩进一级    :earlier 15m     # 将文档还原到 15 分钟前的状态    :later 15m       # 逆转上述命令    ddp              # 相邻行替换地位,先 dd 再 p    .                # 反复之前动作

宏基本上来说就是可录制的动作。
当你开始录制宏时,它会记录你应用的 每个 动作和命令,
直到你进行录制。当调用宏时,它会将这个完全相同的动作和命令序列
再次利用于所选文本之上。

    qa               # 开始录制一个叫 'a' 的宏    q                # 进行录制    @a               # 重播宏

配置 ~/.vimrc

.vimrc 可用于在启动时对 Vim 进行配置。

这里是一个示例 ~/.vimrc 文件:

" 示例 ~/.vimrc" 2015.10 " 须要 Vim iMproved 版本set nocompatible" 依据文件名检测文件类型,以便能进行智能主动缩进等操作。filetype indent plugin on" 开启语法高亮syntax on" 更好的命令行补全set wildmenu" 除了当应用大写字母时应用大小写无关查找set ignorecaseset smartcase" 当新开一行时,如果没有开启文件特定的缩进规定," 则缩进放弃与你以后行统一set autoindent" 在左侧显示行号set number" 缩进选项,依据集体偏好进行批改" 每个 TAB 的可视空格数set tabstop=4" 编辑时 TAB 对应的空格数set softtabstop=4" 当应用缩进操作 (>> 和 <<) 时缩进的空格数set shiftwidth=4" 将 TAB 转换成空格set expandtab" 为缩进和对齐开启智能化的 TAB 和空格切换性能set smarttab

参考

Vim | Home

$ vimtutor

A vim Tutorial and Primer

What are the dark corners of Vim your mom never told you about? (Stack Overflow thread)

Arch Linux Wiki


有倡议?或者发现什么谬误?在Github上开一个issue,或者发动pull request!

原著RadhikaG,并由0个好心人批改。
© 2022 RadhikaG
Translated by: Jiang Haiyun
本作品采纳 CC BY-SA 3.0 协定进行许可。